Правильно ли использовать данные с разных таблиц без соединений?

В общем, нашел в теории такой фрагмент.

SELECT gname FROM Goods
WHERE id_g NOT IN (
SELECT good FROM Payments WHERE Year(PDate) = 2005
)

Правильна ли эта запись? Ведь в подзапросе мы берем данные с другой таблицы, и мы не выполняем никаких соединений join. Так как мы данные с другой таблицы вносим в оператора NOT IN который относится к полю id_g, которое просто является ключевым.
Или там связанно что то со внешними ключами?
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
В принципе такой запрос имеет право на жизнь.
Больше того - современный оптимизатор построит план выполнения идентично запросу с соединением.

Современный sql - штука достаточно умная и много корявостей от пользователя исправляет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы