Sök…
EXISTSKLUS
Kundtabell
Id | Förnamn | Efternamn |
---|---|---|
1 | Özgür | Ozturk |
2 | Youssef | Medi |
3 | Henry | Tai |
Beställningstabell
Id | Kundnummer | Belopp |
---|---|---|
1 | 2 | 123,50 |
2 | 3 | 14,80 |
Få alla kunder med minst en beställning
SELECT * FROM Customer WHERE EXISTS (
SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)
Resultat
Id | Förnamn | Efternamn |
---|---|---|
2 | Youssef | Medi |
3 | Henry | Tai |
Få alla kunder utan beställning
SELECT * FROM Customer WHERE NOT EXISTS (
SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)
Resultat
Id | Förnamn | Efternamn |
---|---|---|
1 | Özgür | Ozturk |
Ändamål
EXISTS
, IN
och JOIN
kan en gång användas för samma resultat, men de är inte lika:
-
EXISTS
bör användas för att kontrollera om ett värde finns i en annan tabell -
IN
bör användas för statisk lista -
JOIN
ska användas för att hämta data från andra tabeller (er)
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow