1

名前が、ordered_products に存在する名前と等しくない製品テーブルからすべてを選択したいと考えています。私はこれを試しましたが、うまくいきませんでした:

SELECT * FROM product WHERE naam IS NOT (SELECT naam FROM ordered_products)
4

2 に答える 2

5

NOT IN次のように述語を使用できます。

SELECT * 
FROM product 
WHERE naam NOT IN (SELECT naam 
                   FROM ordered_products
                   WHERE naam IS NOT NULL);

しかし、他のテーブルからのNULL値がある場合、これは安全ではありません。そのため、サブクエリに追加しました。より良い方法は、次のように使用します。naamWHERE naam IS NOT NULLJOIN

SELECT p.* 
FROM product
LEFT JOIN ordered_products o ON p.naam = o.naam
WHERE p.naam IS NULL;
于 2013-01-17T11:26:49.423 に答える
0
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

お役に立てれば

于 2013-01-17T11:30:02.737 に答える