Разница между EXISTS и IN в SQL?

EXISTS сообщит вам, дал ли запрос sql-statement какие-либо результаты. например:

SELECT * 
FROM Orders o 
WHERE EXISTS (
    SELECT * 
    FROM Products p 
    WHERE p.ProductNumber = o.ProductNumber)

IN используется sql для сравнения одного значения sql-statement с несколькими и может использовать select-statement буквальные значения, например:

SELECT * 
FROM Orders 
WHERE ProductNumber IN (1, 10, 100)

Вы sql-statement также можете использовать sql-syntax результаты запроса с предложением sql-select IN, например:

SELECT * 
FROM Orders 
WHERE ProductNumber IN (
    SELECT ProductNumber 
    FROM Products 
    WHERE ProductInventoryQuantity > 0)

sql

2022-11-07T01:43:35+00:00