SQL - EXISTS и NOT EXISTS с неравенством
Рассмотрим наличие этих двух таблиц и следующие запросы:
SELECT Product. *
FROM Product
WHERE EXISTS
(SELECT *
FROM Codes
WHERE Product.P_code <> Codes.P_code)
И
SELECT Product. *
FROM Product
WHERE NOT EXISTS
(SELECT *
FROM Codes
WHERE Product.P_code <> Codes.P_code)
является следующее рассуждение верно?
1. Первый запрос будет производить две записи, потому что в коде есть две строки P_code, которые не идентичны тем, что указаны в Product. 2. Подзапрос вернет две записи, но они будут устранены условием NOT в основном запросе, который будет возвращать нулевые строки.
Я не уверен, как работают рассуждения в этих запросах. Я могу легко предсказать, когда запрос распечатает 2 или 3 строки, но я не знаю, как он работает в случаях, когда он может печатать 0 или 5 строк (в зависимости от состояния EXISTS/NOT EXISTS и знака равенства/неравенства) ,
Может ли кто-нибудь уточнить это или отправить мне хорошее чтение? Спасибо!
Спасибо! Мне нужно было знать причины этих запросов из-за моего окончательного экзамена, я, скорее всего, никогда не буду использовать такой формат (с признаками неравенства) на практике. –