Недавно в одном из интервью, у меня было следующая проблема:Наиболее эффективный MySQL (интервью Query)
У меня есть база данных со следующими таблицами (для этого примера, давайте предположим, что эти таблицы имеют смысл) :
- пользователя (идентификатор, имя, cc_id)
- CreditCard (идентификатор)
- Movie (номер, имя)
- Покупка (movie_id, cc_id)
Я хочу найти имена клиентов, которые купили фильм «Темный рыцарь».
Мой ответ, когда по линии:
SELECT name FROM User AS u
INNER JOIN CreditCard AS cc ON u.id = cc.id
INNER JOIN Purchase AS p ON p.movie_id =
(SELECT id FROM Movie AS m WHERE m.name = "Dark Knight") AND cc.id = p.cc_id
Синтаксис в сторону, мне было интересно, если это более эффективное решение этой проблемы.
Wth ... почему у них пользователя есть cc_id, а не куб.см имеют u_id ? странно. – Neal
Вы знаете, что ... возможно, я забыл это выразить, но я думаю, что только для обучения, давайте просто скажем, что так оно и было. –