Résumé: dans ce tutoriel, vous apprendrez comment utiliser l’opérateur SQL Server EXISTS dans la condition de tester l’existence de lignes dans une sous-requête.

Aperçu de l’opérateur SQL Server EXISTS

L’opérateurEXISTS est un opérateur logique qui vous permet de vérifier si une sous-requête renvoie n’importe quelle ligne. La balise EXISTS opérateur renvoie TRUE si la sous-requête renvoie une ou plusieurs lignes.,

l’exemple suivant illustre La syntaxe de SQL Server EXISTS opérateur:

Code language: SQL (Structured Query Language) (sql)

Dans cette syntaxe, la sous-requête est une SELECT seule déclaration. Dès que la sous-requête renvoie des lignes, l’opérateurEXISTS renvoieTRUE et arrête immédiatement le traitement.

Notez que, même si la sous-requête renvoie un NULL valeur, la balise EXISTS opérateur est toujours évalué à TRUE.,

SQL Server EXISTE exemples d’opérateurs

Prenons quelques exemples pour comprendre comment fonctionne l’opérateurEXISTS.

A) L’utilisation d’EXISTS avec une sous-requête renvoie un exemple NULL

Voir la tablecustomers de l’exemple de base de données.,

L’exemple suivant renvoie toutes les lignes à partir de la balise customers table:

Dans cet exemple, la sous-requête a renvoyé un résultat qui contient NULL ce qui provoque la balise EXISTS opérateur d’évaluer la TRUE. Par conséquent, la requête entière renvoie toutes les lignes de la table customers.,

B) à l’Aide EXISTE, avec une sous-requête corrélée exemple

de Considérer les éléments suivants: customers et orders tables:

L’exemple suivant renvoie tous les clients qui ont passé plus de deux ordres:

Dans cet exemple, nous avons eu une sous-requête corrélée qui renvoie les clients de plus de deux ordres.,

Si le nombre de commandes passées par le client est inférieur ou égal à deux, la sous-requête renvoie un jeu de résultats vide qui provoque la balise EXISTS opérateur d’évaluer la FALSE.

En fonction du résultat de l’opérateurEXISTS, le client sera inclus dans le jeu de résultats.

C) EXISTE vs., DANS l’exemple

L’instruction suivante utilise la balise IN opérateur de trouver les commandes des clients à partir de San Jose:

L’instruction suivante utilise la balise EXISTS opérateur qui renvoie le même résultat:

EXISTE vs JOINDRE

Le EXISTS opérateur renvoie TRUE ou FALSE lors de la JOIN clause renvoie des lignes d’une autre table.,

Vous utilisez l’opérateurEXISTS pour tester si une sous-requête renvoie une ligne et court-circuite dès qu’elle le fait. D’autre part, vous utilisez JOIN pour étendre le jeu de résultats en le combinant avec les colonnes des tables associées.

En pratique, vous utilisez leEXISTS lorsque vous avez juste besoin de vérifier l’existence de lignes de tables associées sans renvoyer de données à partir d’elles.

Dans ce tutoriel, vous avez appris à utiliser l’opérateur SQL Server EXISTS pour tester si une sous-requête renvoie des lignes.