Можно ли сделать выборку из двух таблиц без JOIN-ов?

Да: UNION объединяет совместимые результаты, а подзапросы, EXISTS и IN позволяют использовать другую таблицу без явного JOIN. Но выборка FROM a, b является соединением по смыслу, хотя слова JOIN нет.

Короткий ответ

Что ответить на собеседовании

Да: UNION объединяет совместимые результаты, а подзапросы, EXISTS и IN позволяют использовать другую таблицу без явного JOIN. Но выборка FROM a, b является соединением по смыслу, хотя слова JOIN нет.

Подробный разбор

Ответ с пояснениями

Да: UNION объединяет совместимые результаты, а подзапросы, EXISTS и IN позволяют использовать другую таблицу без явного JOIN. Но выборка FROM a, b является соединением по смыслу, хотя слова JOIN нет.

Нужно сначала определить желаемый результат. Если требуется проверить наличие связанных записей, удобен EXISTS; если сложить однотипные строки — UNION ALL. Обычный UNION дополнительно убирает дубликаты. Подзапрос не гарантирует иной физический план: оптимизатор может преобразовать выражение. Избегайте переписывания только ради отсутствия ключевого слова, если исходный JOIN понятнее.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее