mysql неявное соединение + подзапрос - PullRequest
0 голосов
/ 23 ноября 2018

Я должен использовать неявное соединение , чтобы получить все фильмы с Анджелиной Джоли в качестве режиссера, или она была звездой, вот что у меня есть

SELECT DISTINCT title, relYear
FROM actor,movie 
WHERE director ='Angelina Jolie' OR aID in (SELECT aID 
                                            FROM actor
                                             WHERE fName='Angelina' and surname='Jolie'

Вотсоответствующие таблицы

movie(id, title, relYear, category, runTime, director,
studioName, description, rating)
actor(aID, fName, surname, gender)
stars(movieID, actorID)
movGenre(movieID, genre) 

Это возвращает все фильмы, я думаю, что это из-за aID in (SELECT aID

Я не знаю, как это сделать без использования явного объединения трех таблиц,подзапрос даже самый эффективный подход?Спасибо

1 Ответ

0 голосов
/ 23 ноября 2018

Это то, что я бы делал на MSSQL.Думаю, это должно работать на MySql.

Select title, relYear FROM movie WHERE director = 'Angelina Jolie' OR id IN 
(SELECT movieId FROM stars inner join actor ON stars.actorId = actor.aID WHERE
 actor.fName = 'Angelina' AND surname = 'Jolie')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...