Recherche…
CLAUSE EXISTE
Table client
| Id | Prénom | Nom de famille |
|---|---|---|
| 1 | Ozgur | Ozturk |
| 2 | Youssef | Medi |
| 3 | Henri | Tai |
Tableau de commande
| Id | N ° de client | Montant |
|---|---|---|
| 1 | 2 | 123,50 |
| 2 | 3 | 14.80 |
Obtenez tous les clients avec au moins une commande
SELECT * FROM Customer WHERE EXISTS (
SELECT * FROM Order WHERE Order.CustomerId=Customer.Id
)
Résultat
| Id | Prénom | Nom de famille |
|---|---|---|
| 2 | Youssef | Medi |
| 3 | Henri | Tai |
Obtenez tous les clients sans commande
SELECT * FROM Customer WHERE NOT EXISTS (
SELECT * FROM Order WHERE Order.CustomerId = Customer.Id
)
Résultat
| Id | Prénom | Nom de famille |
|---|---|---|
| 1 | Ozgur | Ozturk |
Objectif
EXISTS , IN et JOIN peuvent parfois être utilisés pour le même résultat, mais ils ne sont pas égaux:
-
EXISTSdoit être utilisé pour vérifier si une valeur existe dans une autre table -
INdoit être utilisé pour la liste statique -
JOINdoit être utilisé pour récupérer des données à partir d'autres tables
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow