Предполагая отношение 1-1 между t1
и t2
и отношение 1-N между t1
и t3
, я думаю, что вы хотите exists
:
SELECT t1.ID
FROM t1
INNER JOIN t2 ON t1.ID = t2.ID
WHERE EXISTS (
SELECT 1
FROM t3
WHERE t3.ID = t1.ID
)
Преимущество существует в том, что он не дублирует строки, если в t3
имеется более одной записи с совпадающим ID
.
Примечание: если вам нужны только строки, в которых ID
s соответствует, тоВы хотите INNER JOIN
, а не LEFT JOIN
. Первый исключает несовпадающие записи, а второй - их.