Lassen Sie uns Ihre Tabellen mit folgenden Beispieldaten übernehmen:
Produkte:
productID | productName | listprice
-------------------------------------
1 | A | 100
-------------------------------------
2 | B | 200
-------------------------------------
3 | C | 300
-------------------------------------
4 | D | 400
saleItem:
productId | quantity
----------------------
1 | 2
----------------------
2 | 2
----------------------
3 | 5
----------------------
4 | Null
----------------------
1 | 3
Hinweis: Ich habe hier das quantity
Feld angenommen hat nicht Not Null
Einschränkung.
Abfrage:
SELECT productID FROM saleItem WHERE quantity =2
Ergebnis:
productID
-----------
1
-----------
2
-----------
1
Abfrage:
SELECT distinct productID FROM saleItem WHERE quantity =2
Ergebnis:
productID
-----------
1
-----------
2
Abfrage:
SELECT productID FROM saleItem WHERE quantity <> 2 // <> operator won't include rows with quantity having NULL values
Ergebnis:
productID
------------
1
-----------
3
-----------
1
Abfrage:
SELECT distinct productID FROM saleItem WHERE quantity <> 2
Ergebnis:
SELECT distinct productName, listPrice
FROM product
WHERE productID IN (1,2,1)
AND productID NOT in (1,3,1);
Ergebnisse:
productID
------------
1
-----------
3
Daher Abfrage 1 kann in umgewandelt werden
productID | productName | listprice
-------------------------------------
2 | B | 200
So Abfrage 1 zeigt Ergebnisse productID
, die nur einen Wert für quantity
und das ist 2
.
Abfrage 2:
SELECT distinct productName, listPrice
FROM product
WHERE productID IN (1,2,1);
Ergebnisse:
productID | productName | listprice
-------------------------------------
1 | A | 100
-------------------------------------
2 | B | 200
So wird Query2 Info Rückkehr für diejenigen productID
die 2
als Menge hat aber kann oder kann nicht andere Werte quantity
auch.
Last Hinweis:
1)quantity <> 2
nicht enthalten Zeilen mit NULL Menge. Not IN (quantity <> 2)
enthält jedoch Zeilen mit Werten für quantity
, die nicht 2
sind, einschließlich NULL
.
Hoffe es hilft:
Bitte werfen Sie einen Blick auf die bearbeitete Antwort. Fühlen Sie sich frei, irgendwelche Zweifel zu stellen. –
Haben Sie das Konzept hier verstanden? –