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:
-
EXISTSbör användas för att kontrollera om ett värde finns i en annan tabell -
INbör användas för statisk lista -
JOINska 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