я немного comfused о том, когда мне придется использовать пересекаются в sql.The примере, что я даюсь является следующее:, когда использовать пересекаются в запросе
У меня есть две таблицы:
MovieStar(name, address, gender, birthdate)
MovieExec(name, address, cert#, netWorth)
пример просит, чтобы найти имя и адрес всех женщин, актеров, которые также являются кино и исполнитель имеют Networth над 10000000.The раствором, например, в книге следующее:
(SELECT name, address
FROM MovieStar
WHERE gender = 'F')
INTERSECT
(SELECT name, address
FROM MovieExec
WHERE netWorth > 10000000);
Так что моя проблема я почему я должен использовать INTERSECT в то время как я мог бы использовать «И» оператор, как:
SELECT name, address
FROM MovieStar, MovieExec
WHERE gender = 'F' AND netWorth > 10000000
Есть ли хитрый способ выяснить, когда лучше использовать INTERSECT или «И»?
Знаете ли вы, что 'ОТ Moviestar, MovieExec' является CROSS JOIN (декартово продукт)? – lad2025
Не жаль, у меня нет этой информации. –
Единственным сложным способом является план выполнения и статистика, 2 запроса могут быть эквивалентны в результате, но способ их получения может отличаться. Поэтому всегда сравнивайте план выполнения, время и ресурсы, необходимые для достижения того, чего вы хотите. – lad2025