У меня есть таблица «Идентификатор», которая имеет отношение один ко многим с другими таблицами. Другие таблицы (10 таблиц) имеют первичный ключ к таблице «Идентификатор». FK может быть нулевым.
Для каждой строки в таблице «Идентификатор» мне нужно знать, связана ли запись с какой-либо другой таблицей.
Я мог бы написать что-то вроде этого:
SELECT * FROM IDENTIFIER
LEFT JOIN TABLE1 T1 on T1.IDENTIFIER_ID = IDENTIFIER.ID
LEFT JOIN TABLE2 T2 on T2.IDENTIFIER_ID = IDENTIFIER.ID
LEFT JOIN TABLE3 T3 on T3.IDENTIFIER_ID = IDENTIFIER.ID
LEFT JOIN TABLE4 T4 on T4.IDENTIFIER_ID = IDENTIFIER.ID
LEFT JOIN TABLE5 T5 on T5.IDENTIFIER_ID = IDENTIFIER.ID
...
Но если первое левое соединение (к таблице Table1) не было нулевым - я бы хотел пропустить другие левые соединения по соображениям производительности. Таблицы с 1 по 10 содержат миллионы записей, и я не хотел бы присоединяться к ним, если в этом нет необходимости.