名前が、ordered_products に存在する名前と等しくない製品テーブルからすべてを選択したいと考えています。私はこれを試しましたが、うまくいきませんでした:
SELECT * FROM product WHERE naam IS NOT (SELECT naam FROM ordered_products)
NOT IN
次のように述語を使用できます。
SELECT *
FROM product
WHERE naam NOT IN (SELECT naam
FROM ordered_products
WHERE naam IS NOT NULL);
しかし、他のテーブルからのNULL
値がある場合、これは安全ではありません。そのため、サブクエリに追加しました。より良い方法は、次のように使用します。naam
WHERE naam IS NOT NULL
JOIN
SELECT p.*
FROM product
LEFT JOIN ordered_products o ON p.naam = o.naam
WHERE p.naam IS NULL;
SELECT * FROM product WHERE naam NOT IN (SELECT naam FROM ordered_products)
また
SELECT P.*
FROM product P
LEFT JOIN ordered_products O ON P.naam = O.naam
お役に立てれば