Можно создать дубликат:
SQL JOIN: is there a difference between USING, ON or WHERE?Sql Оптимизация запросов
Рассмотрим, если у меня есть две таблицы с именами А и В, А имеет 2 миллиона строк и B имеет только 100 строк, когда я использую эти SELECT
заявления, нужно ли мне знать разницу между этими двумя
SELECT A.C1, B.C1
FROM A, B
WHERE A.C1 = B.C2
Второй является
SELECT A.C1, B.C1
FROM A
INNER JOIN B ON A.C1 = B.C2
Я смотрю на уровень производительности, и мне нужно знать разницу между ними. Когда я поговорил с моим коллегой, он сказал мне, что первый запрос - «Крест», это уменьшит производительность, но я так не думаю.
Пожалуйста, помогите.
Какой запрос вы предлагаете здесь и почему?
+1 да, ** всегда ** используйте вторую версию - «INNER JOIN» с условием JOIN намного яснее.Кроме того: с первым (устаревшим) синтаксисом JOIN у вас всегда есть опасная возможность забыть указать условие соединения (вам нужно) и, следовательно, может закончиться нежелательным декартовым продуктом .... –
Я думал, что они оба ANSI , ANSI 89 по сравнению с ANSI 92, по крайней мере, это то, что я взял из предыдущих вопросов по теме ... –
Для внутренних соединений оба синтаксиса являются стандартом ANSI по SQL92. –