У меня есть 3 стола. Таблица 1 и 2 разделяют столбцы 1 и 2. Все 3 таблицы разделяют столбец 2 (столбец идентификатора), но только таблица 3 содержит столбец 3. Я хочу, чтобы все строки, где таблицы 1,2 имели равные значения для столбцов 1 и 2, но только где table3.Col3 (присоединенный к столбцу ID 2) равен некоторому определенному значению «X».Являются ли эти два запроса mysql одинаковой функциональностью?
У меня есть два запроса, которые появляются быть идентичны и работают для того, что я хочу, но я прошу экспертов, чтобы убедиться, что они являются взаимозаменяемыми:
SELECT *
from Table1 INNER JOIN Table2
ON Table1.Col1 = Table2.Col1 and Table1.Col2 = Table2.Col2
WHERE (Select Col3 from Table3 where Table2.Col2 = Table3.Col2) = "X"
SELECT *
from Table1 INNER JOIN Table2
ON Table1.Col1 = Table2.Col1 and Table1.Col2 = Table2.Col2
INNER JOIN Table3
ON Table1.Col2 = Table3.Col2
WHERE Table3.Col3 = "X"
Невозможно сказать, не зная количества задействованных строк и описания таблицы. – Nikhil
Сравните время выполнения ..? –
Являются ли они идентичными по функциональности? Отредактировал мой вопрос, чтобы удалить вопрос о времени. – Tommy