SQL CLAUSE EXISTE


Exemple

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:

  • EXISTS doit être utilisé pour vérifier si une valeur existe dans une autre table
  • IN doit être utilisé pour la liste statique
  • JOIN doit être utilisé pour récupérer des données à partir d'autres tables