假设我有一个如下表:
movie_author | movie_name | movie_price
如果我有一行的movie_name 列值,我将如何进行查询以获取与包含我拥有的movie_name 的行中具有相同movie_author 的所有电影?
我可以在两个查询中执行此操作:第一个从与我拥有的 movie_name 对应的行中获取 movie_author,然后第二个获取具有相同 movie_author 的所有行,但是如何在一个查询中执行此操作?
假设我有一个如下表:
movie_author | movie_name | movie_price
如果我有一行的movie_name 列值,我将如何进行查询以获取与包含我拥有的movie_name 的行中具有相同movie_author 的所有电影?
我可以在两个查询中执行此操作:第一个从与我拥有的 movie_name 对应的行中获取 movie_author,然后第二个获取具有相同 movie_author 的所有行,但是如何在一个查询中执行此操作?
例如,使用IN
:
SELECT * from movies m2
WHERE m2.movie_author in (
SELECT m1.movie_author
FROM movies m1
WHERE m1.movie_name like '%AAA%'
)
您可以使用联接,如下所示:
SELECT m1.*
FROM movies m1 inner join movies m2
on m1.movie_author = m2.movie_author
and m2.movie_name='Movie name'