SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
SQL
SQL est un langage standard pour stocker, manipuler et récupérer
des données dans des bases de données.
Notre cours SQL vous apprendra à utiliser SQL dans : MySQL,
SQL Server, MS Access, Oracle, Sybase, Informix, Postgres et
d'autres systèmes de base de données.
Formateur Jaouad Assabbour
Qu'est-ce que SQL ?
• SQL signifie langage de requête structuré
• SQL vous permet d'accéder et de manipuler des bases de données
• SQL est devenu une norme de l'American National Standards
Institute (ANSI) en 1986 et de l'Organisation internationale de
normalisation (ISO) en 1987
Que peut faire SQL ?
• SQL peut exécuter des requêtes sur une base de données
• SQL peut récupérer des données d'une base de données
• SQL peut insérer des enregistrements dans une base de données
• SQL peut mettre à jour des enregistrements dans une base de données
• SQL peut supprimer des enregistrements d'une base de données
• SQL peut créer de nouvelles bases de données
• SQL peut créer de nouvelles tables dans une base de données
• SQL peut créer des procédures stockées dans une base de données
• SQL peut créer des vues dans une base de données
• SQL peut définir des autorisations sur les tables, les procédures et les
vues
Formateur Jaouad Assabbour
SQL est une norme – MAIS.…
Bien que SQL soit une norme ANSI/ISO, il existe différentes versions du
langage SQL.
Cependant, pour être conformes à la norme ANSI, ils prennent tous en
charge au moins les principales commandes (telles que SELECT,
UPDATE, DELETE, INSERT, WHERE) de la même manière.
Utilisation de SQL dans votre site Web
Pour créer un site Web qui affiche les données d'une base de données, vous
aurez besoin :
• Un programme de base de données RDBMS
• Pour utiliser un langage de script côté serveur, comme PHP ou JAVA
• Pour utiliser SQL pour obtenir les données souhaitées
• Utiliser HTML / CSS pour styliser la page
Formateur Jaouad Assabbour
SGBDR
RDBMS signifie système de gestion de base de données relationnelle.
RDBMS est la base de SQL et de tous les systèmes de bases de données
modernes tels que MS SQL Server, IBM DB2, Oracle, MySQL et
Microsoft Access.
Les données du SGBDR sont stockées dans des objets de base de données
appelés tables. Une table est une collection d'entrées de données connexes
et se compose de colonnes et de lignes.
Regardez le tableau "Customer":
Formateur Jaouad Assabbour
Chaque table est divisée en entités plus petites appelées champs. Les
champs de la table Customers sont composés de CustomerID,
CustomerName, ContactName, Address, City, PostalCode et Country.
Un champ est une colonne dans une table conçue pour conserver des
informations spécifiques sur chaque enregistrement de la table.
Un enregistrement, également appelé ligne, est chaque entrée individuelle
qui existe dans une table. Par exemple, il y a 11 enregistrements dans la
table Customers ci-dessus. Un enregistrement est une entité horizontale
dans une table.
Une colonne est une entité verticale dans une table qui contient toutes les
informations associées à un champ spécifique dans une table.
Syntaxe SQL
Une base de données contient le plus souvent une ou plusieurs tables.
Chaque table est identifiée par un nom (par exemple "Clients" ou
"Commandes"). Les tableaux contiennent des enregistrements (lignes)
avec des données.
Dans ce cours, nous utiliserons la célèbre base de données d'exemple
Northwind (incluse dans MS Access et MS SQL Server).
Formateur Jaouad Assabbour
Instructions SQL
La plupart des actions que vous devez effectuer sur une base de données
sont effectuées avec des instructions SQL.
L'instruction SQL suivante sélectionne tous les enregistrements de la table
"Clients" :
Garde en tête que...
• Les mots-clés SQL ne sont PAS sensibles à la casse select : est
identique à SELECT
Dans ce tutoriel, nous écrirons tous les mots-clés SQL en majuscules.
Point-virgule après les instructions SQL ?
Certains systèmes de base de données nécessitent un point-virgule
à la fin de chaque instruction SQL.
Le point-virgule est le moyen standard de séparer chaque
instruction SQL dans les systèmes de base de données qui
permettent d'exécuter plusieurs instructions SQL dans le même
appel au serveur.
Formateur Jaouad Assabbour
Dans ce didacticiel, nous utiliserons un point-virgule à la fin de
chaque instruction SQL.
Certaines des commandes SQL les plus importantes
• SELECT- extrait des données d'une base de données
• UPDATE- met à jour les données dans une base de données
• DELETE- supprime les données d'une base de données
• INSERT INTO- insère de nouvelles données dans une base de
données
• CREATE DATABASE- crée une nouvelle base de données
• ALTER DATABASE- modifie une base de données
• CREATE TABLE- crée un nouveau tableau
• ALTER TABLE- modifie un tableau
• DROP TABLE- supprime une table
• CREATE INDEX- crée un index (clé de recherche)
• DROP INDEX- supprime un index
Formateur Jaouad Assabbour
L'instruction SQL SELECT
L' SELECT instruction est utilisée pour sélectionner des données dans une
base de données.
Les données renvoyées sont stockées dans une table de résultats, appelée
ensemble de résultats.
Syntaxe SELECT
Ici, colonne1, colonne2, ... sont les noms de champ de la table à partir de
laquelle vous souhaitez sélectionner des données. Si vous souhaitez
sélectionner tous les champs disponibles dans le tableau, utilisez la syntaxe
suivante :
Formateur Jaouad Assabbour
SELECT Exemple sans DISTINCT
L'instruction SQL suivante sélectionne toutes les valeurs (y compris les
doublons) de la colonne "Pays" de la table "Clients" :
Maintenant, utilisons l' instruction SELECT DISTINCT et voyons le
résultat.
SELECT DISTINCT Exemples
Formateur Jaouad Assabbour
L'instruction SQL suivante répertorie le nombre de pays clients différents
(distincts) :
Resultats :
L'instruction SQL suivante répertorie le nombre de pays clients différents
(distincts) :
resultats :
Formateur Jaouad Assabbour
Clause WHERE SQL
La clause WHERE est utilisée pour filtrer les enregistrements.
Il est utilisé pour extraire uniquement les enregistrements qui remplissent
une condition spécifiée.
Syntaxe WHERE
Exemple :
Resultats :
Formateur Jaouad Assabbour
Opérateurs dans la clause WHERE
Between exemples :
Like exemple :
In exemple :
Formateur Jaouad Assabbour
Opérateurs SQLAND, OR et NOT
La clause WHERE peut être combinée avec les opérateurs AND, OR et .
NOT
Les opérateurs AND et OR sont utilisés pour filtrer les enregistrements en
fonction de plusieurs conditions :
• L' opérateur AND affiche un enregistrement si toutes les conditions
séparées par AND sont VRAIES.
• L' opérateur OR affiche un enregistrement si l'une des conditions
séparées par OR est VRAIE.
L' opérateur NOT affiche un enregistrement si la ou les conditions
ne sont PAS VRAIES.
Syntaxe AND
OR Syntaxe
Formateur Jaouad Assabbour
NOT Syntax
Formateur Jaouad Assabbour
Combiner ET, OU et NON
Vous pouvez également combiner les opérateurs AND, OR et NOT
L'instruction SQL suivante sélectionne tous les champs de "Clients" où le
pays est "Allemagne" ET la ville doit être "Berlin" OU "München"
(utilisez des parenthèses pour former des expressions complexes) :
Formateur Jaouad Assabbour
Le mot-clé SQL ORDER BY
Le mot-clé ORDER BY est utilisé pour trier le jeu de résultats dans
l'ordre croissant ou décroissant.
Le mot- clé ORDER BY trie les enregistrements par ordre croissant par
défaut. Pour trier les enregistrements par ordre décroissant, utilisez le mot-
clé DESC.
Trier par Syntaxe
ORDER BY Plusieurs colonnes Exemple
L'instruction SQL suivante sélectionne tous les clients de la table
"Customers", triés par ordre croissant de "Country" et décroissant
par la colonne "CustomerName" :
Formateur Jaouad Assabbour
Instruction SQL INSERT INTO
L' instruction INSERT INTO est utilisée pour insérer de nouveaux
enregistrements dans une table.
Syntaxe INSÉRER DANS
Il est possible d'écrire l' INSERT INTO énoncé de deux manières :
1. Spécifiez à la fois les noms de colonne et les valeurs à insérer :
Si vous ajoutez des valeurs pour toutes les colonnes de la table,
vous n'avez pas besoin de spécifier les noms de colonne dans la
requête SQL. Cependant, assurez-vous que l'ordre des valeurs est
dans le même ordre que celui des colonnes du tableau. Ici, la
syntaxe INSERT INTO serait la suivante :
Formateur Jaouad Assabbour
INSÉRER DANS Exemple
L'instruction SQL suivante insère un nouvel enregistrement dans la table
"Clients" :
Valeurs NULL SQL
Un champ avec une valeur NULL est un champ sans valeur.
Si un champ d'une table est facultatif, il est possible d'insérer un nouvel
enregistrement ou de mettre à jour un enregistrement sans ajouter de
valeur à ce champ. Ensuite, le champ sera enregistré avec une valeur
NULL.
Formateur Jaouad Assabbour
L'instruction SQL UPDATE
L'instruction UPDATE est utilisée pour modifier les enregistrements
existants dans une table.
MISE À JOUR Syntaxe
L'instruction SQL suivante met à jour le premier client (CustomerID = 1)
avec un nouveau contact et une nouvelle ville.
C'est la clause WHERE qui détermine combien d'enregistrements seront mis
à jour.
L'instruction SQL suivante mettra à jour ContactName sur "Juan" pour
tous les enregistrements où le pays est "Mexique":
Formateur Jaouad Assabbour
L'instruction SQL DELETE
L'instruction DELETE est utilisée pour supprimer des enregistrements
existants dans une table.
Syntaxe DELETE
Formateur Jaouad Assabbour
La clause SQL SELECT TOP
La clause SELECT TOP est utilisée pour spécifier le nombre
d'enregistrements à retourner.
La clause SELECT TOP est utile sur les grandes tables avec des milliers
d'enregistrements. Le renvoi d'un grand nombre d'enregistrements peut
avoir un impact sur les performances.
Remarque : Tous les systèmes de base de données ne prennent
pas en charge la clause SELECT TOP. MySQL prend en charge la
clause LIMIT permettant de sélectionner un nombre limité
d'enregistrements, tandis qu'Oracle utilise FETCH FIRST n ROWS
ONLY et ROWNUM
Syntaxe SQL
Syntaxe MySQL :
Formateur Jaouad Assabbour
Syntaxe Oracle 12 :
SQL TOP, LIMIT et FETCH FIRST Exemples
L'instruction SQL suivante sélectionne les trois premiers enregistrements
de la table "Clients" (pour SQL Server/MS Access) :
L'instruction SQL suivante montre l'exemple équivalent pour
MySQL :
L'instruction SQL suivante montre l'exemple équivalent pour
Oracle :
Formateur Jaouad Assabbour
Les fonctions SQL MIN() et MAX()
La fonction MIN() renvoie la plus petite valeur de la colonne
sélectionnée.
La fonction MAX() renvoie la plus grande valeur de la colonne
sélectionnée.
Syntaxe MIN()
L'instruction SQL suivante trouve le prix du produit le moins cher :
Syntaxe MAX()
L'instruction SQL suivante trouve le prix du produit le plus cher :
Formateur Jaouad Assabbour
Les fonctions SQL COUNT(), AVG() et SUM()
La fonction COUNT() renvoie le nombre de lignes correspondant à un
critère spécifié.
Syntaxe COUNT()
L'instruction SQL suivante trouve le nombre de produits :
La fonction AVG() renvoie la valeur moyenne d'une colonne numérique.
Syntaxe AVG()
L'instruction SQL suivante trouve le prix moyen de tous les produits :
Formateur Jaouad Assabbour
La fonction SUM() renvoie la somme totale d'une colonne numérique.
Syntaxe SOMME()
L'instruction SQL suivante trouve la somme des champs "Quantity" dans
la table "OrderDetails" :
Formateur Jaouad Assabbour
L'opérateur SQL LIKE
L'opérateur LIKE est utilisé dans une clause WHERE pour rechercher un
modèle spécifié dans une colonne.
Deux caractères génériques sont souvent utilisés conjointement avec l'
opérateur LIKE :
• Le signe de pourcentage (%) représente zéro, un ou plusieurs
caractères
• Le signe de soulignement (_) représente un seul caractère
Le signe de pourcentage et le trait de soulignement peuvent également être
utilisés en combinaison !
COMME Syntaxe
Voici quelques exemples montrant différents LIKEopérateurs avec les
caractères génériques '%' et '_' :
Formateur Jaouad Assabbour
SQL COMME Exemples
L'instruction SQL suivante sélectionne tous les clients dont le
CustomerName commence par "a" :
L'instruction SQL suivante sélectionne tous les clients dont le
CustomerName se termine par "a" :
L'instruction SQL suivante sélectionne tous les clients avec un
ContactName qui commence par "a" et se termine par "o" :
Formateur Jaouad Assabbour
L'opérateur SQL IN
L'opérateur IN vous permet de spécifier plusieurs valeurs dans une clause
WHERE.
L'opérateur IN est un raccourci pour plusieurs conditions OR.
Syntaxe IN
Exemples d'opérateur IN
L'instruction SQL suivante sélectionne tous les clients situés en
"Allemagne", "France" et "Royaume-Uni" :
Formateur Jaouad Assabbour
L'instruction SQL suivante sélectionne tous les clients qui ne sont PAS
situés en "Allemagne", "France" et "Royaume-Uni"
L'opérateur SQL BETWEEN
L'opérateur BETWEEN sélectionne des valeurs dans une plage donnée.
Les valeurs peuvent être des nombres, du texte ou des dates.
L'opérateur BETWEEN est inclusif : les valeurs de début et de fin sont
incluses.
Formateur Jaouad Assabbour
ENTRE Syntaxe
BETWEEN Exemple
L'instruction SQL suivante sélectionne tous les produits dont le prix est
compris entre 10 et 20 :
Exemple BETWEEN avec IN
L'instruction SQL suivante sélectionne tous les produits dont le prix est
compris entre 10 et 20. De plus ne pas afficher les produits avec un
CategoryID de 1, 2 ou 3:
Formateur Jaouad Assabbour
ENTRE Dates Exemple
L'instruction SQL suivante sélectionne toutes les commandes dont la date
de commande est comprise entre le '01-juillet-1996' et le '31-juillet-1996' :
Alias SQL
Les alias SQL sont utilisés pour donner à une table, ou à une colonne d'une
table, un nom temporaire.
Les alias sont souvent utilisés pour rendre les noms de colonnes plus
lisibles.
Un alias n'existe que pour la durée de cette requête.
Un alias est créé avec le mot-clé AS.
Syntaxe de colonne d'alias
Formateur Jaouad Assabbour
L'instruction SQL suivante crée deux alias, un pour la colonne
CustomerID et un pour la colonne CustomerName :
JOINTURE SQL
Une clause JOIN est utilisée pour combiner des lignes de deux tables ou
plus, en fonction d'une colonne liée entre elles.
Examinons une sélection du tableau "Commandes" :
Notez que la colonne "CustomerID" dans la table "Orders" fait référence
au "CustomerID" dans la table "Customers". La relation entre les deux
tables ci-dessus est la colonne "CustomerID".
Formateur Jaouad Assabbour
Ensuite, nous pouvons créer l'instruction SQL suivante (qui contient un
INNER JOIN), qui sélectionne les enregistrements dont les valeurs
correspondent dans les deux tables :
et cela produira quelque chose comme ceci:
Différents types de SQL JOIN
(INNER) JOIN: renvoie les enregistrements dont les valeurs
correspondent dans les deux tables
• LEFT (OUTER) JOIN: renvoie tous les enregistrements de la
table de gauche et les enregistrements correspondants de la table de
droite
Formateur Jaouad Assabbour
• RIGHT (OUTER) JOIN: renvoie tous les enregistrements de la
table de droite et les enregistrements correspondants de la table de
gauche
• FULL (OUTER) JOIN: Renvoie tous les enregistrements lorsqu'il
y a une correspondance dans la table de gauche ou de droite
Mot-clé SQL INNER JOIN
Le mot clé INNER JOIN sélectionne les enregistrements dont les valeurs
correspondent dans les deux tables.
Syntaxe INNER JOIN
SQL INNER JOIN Exemple
L'instruction SQL suivante sélectionne toutes les commandes
contenant des informations client :
Remarque : Le mot-clé INNER JOIN sélectionne toutes les
lignes des deux tables tant qu'il existe une correspondance entre
les colonnes. S'il y a des enregistrements dans la table
Formateur Jaouad Assabbour
"Commandes" qui n'ont pas de correspondance dans "Clients", ces
commandes ne seront pas affichées !
REJOIGNEZ Trois Tables
L'instruction SQL suivante sélectionne toutes les commandes avec des
informations sur le client et l'expéditeur :
SQL LEFT JOIN
Le mot-clé LEFT JOIN renvoie tous les enregistrements de la table de
gauche (table1) et les enregistrements correspondants de la table de droite
(table2). Le résultat est 0 enregistrement du côté droit, s'il n'y a pas de
correspondance.
Syntaxe LEFT JOIN
L'instruction SQL suivante sélectionnera tous les clients et toutes les
commandes qu'ils pourraient avoir :
Formateur Jaouad Assabbour
Remarque : Le mot-clé LEFT JOIN renvoie tous les enregistrements de
la table de gauche (Clients), même s'il n'y a pas de correspondance dans la
table de droite (Commandes).
SQL FULL OUTER JOIN
Le mot-clé FULL OUTER JOIN renvoie tous les enregistrements
lorsqu'il existe une correspondance dans les enregistrements de la table de
table1 ou de table2.
Astuce : FULL OUTER JOIN et FULL JOIN sont identiques.
Syntaxe FULL OUTER JOIN
Remarque : FULL OUTER JOIN peut potentiellement renvoyer
des ensembles de résultats très volumineux !
Formateur Jaouad Assabbour
L'instruction SQL suivante sélectionne tous les clients et toutes les
commandes :
L'opérateur SQL UNION
L'opérateur UNION est utilisé pour combiner le jeu de résultats de deux
SELECT déclarations ou plus.
• Chaque instruction SELECT à l'intérieur UNION doit avoir le même
nombre de colonnes
• Les colonnes doivent également avoir des types de données
similaires
• Les colonnes de chaque instruction SELECT doivent également être
dans le même ordre
Syntaxe UNION
Formateur Jaouad Assabbour
SQL UNION Exemple
L'instruction SQL suivante renvoie les villes (uniquement des valeurs
distinctes) des tables "Clients" et "Fournisseurs" :
Remarque : Si certains clients ou fournisseurs ont la même ville,
chaque ville ne sera répertoriée qu'une seule fois, car UNIONne
sélectionne que des valeurs distinctes. Utilisez UNION ALLpour
sélectionner également les valeurs en double !
UNION ALL Syntaxe
L'opérateur UNION ne sélectionne que des valeurs distinctes par défaut.
Pour autoriser les valeurs en double, utilisezUNION ALL :
Remarque : Les noms de colonne dans le jeu de résultats sont
généralement égaux aux noms de colonne dans la première
instruction SELECT.
Formateur Jaouad Assabbour
L'instruction SQL suivante renvoie les villes (valeurs en double également)
des tables "Clients" et "Fournisseurs" :
SQL UNION Avec WHERE
L'instruction SQL suivante renvoie les villes allemandes (uniquement des
valeurs distinctes) à partir des tables "Clients" et "Fournisseurs" :
SQL UNION ALLAvec WHERE
L'instruction SQL suivante renvoie les villes allemandes (valeurs en
double également) à partir des tables "Clients" et "Fournisseurs" :
Formateur Jaouad Assabbour
SQL UNION ALLAvec WHERE
L'instruction SQL suivante renvoie les villes allemandes (valeurs en
double également) à partir des tables "Clients" et "Fournisseurs" :
Formateur Jaouad Assabbour
L'instruction SQL GROUP BY
L' instruction GROUP BY regroupe les lignes qui ont les mêmes valeurs
dans des lignes récapitulatives, comme "trouver le nombre de clients dans
chaque pays".
L'instruction GROUP BY est souvent utilisée avec des fonctions
d'agrégation ( COUNT(), MAX(), MIN(), SUM(), AVG()) pour
regrouper le jeu de résultats par une ou plusieurs colonnes.
Syntaxe GROUP BY
Formateur Jaouad Assabbour
L'instruction SQL suivante répertorie le nombre de clients dans chaque
pays, triés de haut en bas :
GROUP BY avec JOIN Exemple
L'instruction SQL suivante répertorie le nombre de commandes envoyées
par chaque expéditeur :
La clause SQL HAVING
La clause HAVING a été ajoutée à SQL car le mot- clé WHERE ne peut pas
être utilisé avec des fonctions d'agrégation.
Formateur Jaouad Assabbour
Syntaxe
L'instruction SQL suivante répertorie le nombre de clients dans
chaque pays. N'incluez que les pays comptant plus de cinq
clients :
L'instruction SQL suivante répertorie le nombre de clients dans
chaque pays, triés par ordre décroissant (n'incluez que les pays
comptant plus de 5 clients ) :
Formateur Jaouad Assabbour
Plus d'exemples d'avoir
L'instruction SQL suivante répertorie les employés qui ont enregistré plus
de 10 commandes :
L'instruction SQL suivante indique si les employés "Davolio" ou "Fuller"
ont enregistré plus de 25 commandes :
Formateur Jaouad Assabbour
L'opérateur SQL EXISTS
L'opérateur EXISTS est utilisé pour tester l'existence de tout
enregistrement dans une sous-requête.
L’opérateur EXISTS renvoie TRUE si la sous-requête renvoie un ou
plusieurs enregistrements.
Syntaxe
Formateur Jaouad Assabbour

Contenu connexe

Similaire à SQL.pdf

c11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdf
c11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdfc11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdf
c11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdftepoha4848
 
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfresume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfFootballLovers9
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3PGambette
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôleAbdelouahed Abdou
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfRihabBENLAMINE
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6Amal Abid
 
SGBDR - MySQL
SGBDR - MySQLSGBDR - MySQL
SGBDR - MySQLMusatge
 
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCe131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCERTyou Formation
 

Similaire à SQL.pdf (20)

c11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdf
c11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdfc11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdf
c11-gerer-les-donnees-resume-theorique-partie1-6311eb2f1d745.pdf
 
MariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQLMariaDB une base de donnees NewSQL
MariaDB une base de donnees NewSQL
 
Cours sql-sh-
Cours sql-sh-Cours sql-sh-
Cours sql-sh-
 
cours-sql-sh-.pdf
cours-sql-sh-.pdfcours-sql-sh-.pdf
cours-sql-sh-.pdf
 
SQL partie III
SQL partie IIISQL partie III
SQL partie III
 
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdfresume-theorique-m106-partie3-0903-1-622f07613b825.pdf
resume-theorique-m106-partie3-0903-1-622f07613b825.pdf
 
SQL-ORACLE.pdf
SQL-ORACLE.pdfSQL-ORACLE.pdf
SQL-ORACLE.pdf
 
SQL-ORACLE.pptx
SQL-ORACLE.pptxSQL-ORACLE.pptx
SQL-ORACLE.pptx
 
INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3INF240 - Bases de données DUT SRC1 - Cours 3
INF240 - Bases de données DUT SRC1 - Cours 3
 
Interfaces controlesbasededonné
Interfaces controlesbasededonnéInterfaces controlesbasededonné
Interfaces controlesbasededonné
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Chapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdfChapitre 04-B - Langages de consultation.pdf
Chapitre 04-B - Langages de consultation.pdf
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
Cours3 gdm sql
Cours3 gdm sqlCours3 gdm sql
Cours3 gdm sql
 
Presentation sql
Presentation sqlPresentation sql
Presentation sql
 
Le langage sql
Le langage sqlLe langage sql
Le langage sql
 
Le langage sql
Le langage sqlLe langage sql
Le langage sql
 
Sql & excel
Sql & excelSql & excel
Sql & excel
 
SGBDR - MySQL
SGBDR - MySQLSGBDR - MySQL
SGBDR - MySQL
 
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-usersCe131 g formation-ibm-db2-sql-workshop-for-experienced-users
Ce131 g formation-ibm-db2-sql-workshop-for-experienced-users
 

Plus de Jaouad Assabbour (13)

Kubernetes (k8s).pdf
Kubernetes (k8s).pdfKubernetes (k8s).pdf
Kubernetes (k8s).pdf
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Ansible-cours .pdf
Ansible-cours .pdfAnsible-cours .pdf
Ansible-cours .pdf
 
test-formulaire-angular.pdf
test-formulaire-angular.pdftest-formulaire-angular.pdf
test-formulaire-angular.pdf
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
JWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdfJWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdf
 
js.pdf
js.pdfjs.pdf
js.pdf
 
ajax.pdf
ajax.pdfajax.pdf
ajax.pdf
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
nodejs.pdf
nodejs.pdfnodejs.pdf
nodejs.pdf
 
cours java complet-2.pdf
cours java complet-2.pdfcours java complet-2.pdf
cours java complet-2.pdf
 
git.pdf
git.pdfgit.pdf
git.pdf
 
React-cours.pdf
React-cours.pdfReact-cours.pdf
React-cours.pdf
 

SQL.pdf

  • 1. SQL SQL est un langage standard pour stocker, manipuler et récupérer des données dans des bases de données. Notre cours SQL vous apprendra à utiliser SQL dans : MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres et d'autres systèmes de base de données. Formateur Jaouad Assabbour
  • 2. Qu'est-ce que SQL ? • SQL signifie langage de requête structuré • SQL vous permet d'accéder et de manipuler des bases de données • SQL est devenu une norme de l'American National Standards Institute (ANSI) en 1986 et de l'Organisation internationale de normalisation (ISO) en 1987 Que peut faire SQL ? • SQL peut exécuter des requêtes sur une base de données • SQL peut récupérer des données d'une base de données • SQL peut insérer des enregistrements dans une base de données • SQL peut mettre à jour des enregistrements dans une base de données • SQL peut supprimer des enregistrements d'une base de données • SQL peut créer de nouvelles bases de données • SQL peut créer de nouvelles tables dans une base de données • SQL peut créer des procédures stockées dans une base de données • SQL peut créer des vues dans une base de données • SQL peut définir des autorisations sur les tables, les procédures et les vues Formateur Jaouad Assabbour
  • 3. SQL est une norme – MAIS.… Bien que SQL soit une norme ANSI/ISO, il existe différentes versions du langage SQL. Cependant, pour être conformes à la norme ANSI, ils prennent tous en charge au moins les principales commandes (telles que SELECT, UPDATE, DELETE, INSERT, WHERE) de la même manière. Utilisation de SQL dans votre site Web Pour créer un site Web qui affiche les données d'une base de données, vous aurez besoin : • Un programme de base de données RDBMS • Pour utiliser un langage de script côté serveur, comme PHP ou JAVA • Pour utiliser SQL pour obtenir les données souhaitées • Utiliser HTML / CSS pour styliser la page Formateur Jaouad Assabbour
  • 4. SGBDR RDBMS signifie système de gestion de base de données relationnelle. RDBMS est la base de SQL et de tous les systèmes de bases de données modernes tels que MS SQL Server, IBM DB2, Oracle, MySQL et Microsoft Access. Les données du SGBDR sont stockées dans des objets de base de données appelés tables. Une table est une collection d'entrées de données connexes et se compose de colonnes et de lignes. Regardez le tableau "Customer": Formateur Jaouad Assabbour
  • 5. Chaque table est divisée en entités plus petites appelées champs. Les champs de la table Customers sont composés de CustomerID, CustomerName, ContactName, Address, City, PostalCode et Country. Un champ est une colonne dans une table conçue pour conserver des informations spécifiques sur chaque enregistrement de la table. Un enregistrement, également appelé ligne, est chaque entrée individuelle qui existe dans une table. Par exemple, il y a 11 enregistrements dans la table Customers ci-dessus. Un enregistrement est une entité horizontale dans une table. Une colonne est une entité verticale dans une table qui contient toutes les informations associées à un champ spécifique dans une table. Syntaxe SQL Une base de données contient le plus souvent une ou plusieurs tables. Chaque table est identifiée par un nom (par exemple "Clients" ou "Commandes"). Les tableaux contiennent des enregistrements (lignes) avec des données. Dans ce cours, nous utiliserons la célèbre base de données d'exemple Northwind (incluse dans MS Access et MS SQL Server). Formateur Jaouad Assabbour
  • 6. Instructions SQL La plupart des actions que vous devez effectuer sur une base de données sont effectuées avec des instructions SQL. L'instruction SQL suivante sélectionne tous les enregistrements de la table "Clients" : Garde en tête que... • Les mots-clés SQL ne sont PAS sensibles à la casse select : est identique à SELECT Dans ce tutoriel, nous écrirons tous les mots-clés SQL en majuscules. Point-virgule après les instructions SQL ? Certains systèmes de base de données nécessitent un point-virgule à la fin de chaque instruction SQL. Le point-virgule est le moyen standard de séparer chaque instruction SQL dans les systèmes de base de données qui permettent d'exécuter plusieurs instructions SQL dans le même appel au serveur. Formateur Jaouad Assabbour
  • 7. Dans ce didacticiel, nous utiliserons un point-virgule à la fin de chaque instruction SQL. Certaines des commandes SQL les plus importantes • SELECT- extrait des données d'une base de données • UPDATE- met à jour les données dans une base de données • DELETE- supprime les données d'une base de données • INSERT INTO- insère de nouvelles données dans une base de données • CREATE DATABASE- crée une nouvelle base de données • ALTER DATABASE- modifie une base de données • CREATE TABLE- crée un nouveau tableau • ALTER TABLE- modifie un tableau • DROP TABLE- supprime une table • CREATE INDEX- crée un index (clé de recherche) • DROP INDEX- supprime un index Formateur Jaouad Assabbour
  • 8. L'instruction SQL SELECT L' SELECT instruction est utilisée pour sélectionner des données dans une base de données. Les données renvoyées sont stockées dans une table de résultats, appelée ensemble de résultats. Syntaxe SELECT Ici, colonne1, colonne2, ... sont les noms de champ de la table à partir de laquelle vous souhaitez sélectionner des données. Si vous souhaitez sélectionner tous les champs disponibles dans le tableau, utilisez la syntaxe suivante : Formateur Jaouad Assabbour
  • 9. SELECT Exemple sans DISTINCT L'instruction SQL suivante sélectionne toutes les valeurs (y compris les doublons) de la colonne "Pays" de la table "Clients" : Maintenant, utilisons l' instruction SELECT DISTINCT et voyons le résultat. SELECT DISTINCT Exemples Formateur Jaouad Assabbour
  • 10. L'instruction SQL suivante répertorie le nombre de pays clients différents (distincts) : Resultats : L'instruction SQL suivante répertorie le nombre de pays clients différents (distincts) : resultats : Formateur Jaouad Assabbour
  • 11. Clause WHERE SQL La clause WHERE est utilisée pour filtrer les enregistrements. Il est utilisé pour extraire uniquement les enregistrements qui remplissent une condition spécifiée. Syntaxe WHERE Exemple : Resultats : Formateur Jaouad Assabbour
  • 12. Opérateurs dans la clause WHERE Between exemples : Like exemple : In exemple : Formateur Jaouad Assabbour
  • 13. Opérateurs SQLAND, OR et NOT La clause WHERE peut être combinée avec les opérateurs AND, OR et . NOT Les opérateurs AND et OR sont utilisés pour filtrer les enregistrements en fonction de plusieurs conditions : • L' opérateur AND affiche un enregistrement si toutes les conditions séparées par AND sont VRAIES. • L' opérateur OR affiche un enregistrement si l'une des conditions séparées par OR est VRAIE. L' opérateur NOT affiche un enregistrement si la ou les conditions ne sont PAS VRAIES. Syntaxe AND OR Syntaxe Formateur Jaouad Assabbour
  • 15. Combiner ET, OU et NON Vous pouvez également combiner les opérateurs AND, OR et NOT L'instruction SQL suivante sélectionne tous les champs de "Clients" où le pays est "Allemagne" ET la ville doit être "Berlin" OU "München" (utilisez des parenthèses pour former des expressions complexes) : Formateur Jaouad Assabbour
  • 16. Le mot-clé SQL ORDER BY Le mot-clé ORDER BY est utilisé pour trier le jeu de résultats dans l'ordre croissant ou décroissant. Le mot- clé ORDER BY trie les enregistrements par ordre croissant par défaut. Pour trier les enregistrements par ordre décroissant, utilisez le mot- clé DESC. Trier par Syntaxe ORDER BY Plusieurs colonnes Exemple L'instruction SQL suivante sélectionne tous les clients de la table "Customers", triés par ordre croissant de "Country" et décroissant par la colonne "CustomerName" : Formateur Jaouad Assabbour
  • 17. Instruction SQL INSERT INTO L' instruction INSERT INTO est utilisée pour insérer de nouveaux enregistrements dans une table. Syntaxe INSÉRER DANS Il est possible d'écrire l' INSERT INTO énoncé de deux manières : 1. Spécifiez à la fois les noms de colonne et les valeurs à insérer : Si vous ajoutez des valeurs pour toutes les colonnes de la table, vous n'avez pas besoin de spécifier les noms de colonne dans la requête SQL. Cependant, assurez-vous que l'ordre des valeurs est dans le même ordre que celui des colonnes du tableau. Ici, la syntaxe INSERT INTO serait la suivante : Formateur Jaouad Assabbour
  • 18. INSÉRER DANS Exemple L'instruction SQL suivante insère un nouvel enregistrement dans la table "Clients" : Valeurs NULL SQL Un champ avec une valeur NULL est un champ sans valeur. Si un champ d'une table est facultatif, il est possible d'insérer un nouvel enregistrement ou de mettre à jour un enregistrement sans ajouter de valeur à ce champ. Ensuite, le champ sera enregistré avec une valeur NULL. Formateur Jaouad Assabbour
  • 19. L'instruction SQL UPDATE L'instruction UPDATE est utilisée pour modifier les enregistrements existants dans une table. MISE À JOUR Syntaxe L'instruction SQL suivante met à jour le premier client (CustomerID = 1) avec un nouveau contact et une nouvelle ville. C'est la clause WHERE qui détermine combien d'enregistrements seront mis à jour. L'instruction SQL suivante mettra à jour ContactName sur "Juan" pour tous les enregistrements où le pays est "Mexique": Formateur Jaouad Assabbour
  • 20. L'instruction SQL DELETE L'instruction DELETE est utilisée pour supprimer des enregistrements existants dans une table. Syntaxe DELETE Formateur Jaouad Assabbour
  • 21. La clause SQL SELECT TOP La clause SELECT TOP est utilisée pour spécifier le nombre d'enregistrements à retourner. La clause SELECT TOP est utile sur les grandes tables avec des milliers d'enregistrements. Le renvoi d'un grand nombre d'enregistrements peut avoir un impact sur les performances. Remarque : Tous les systèmes de base de données ne prennent pas en charge la clause SELECT TOP. MySQL prend en charge la clause LIMIT permettant de sélectionner un nombre limité d'enregistrements, tandis qu'Oracle utilise FETCH FIRST n ROWS ONLY et ROWNUM Syntaxe SQL Syntaxe MySQL : Formateur Jaouad Assabbour
  • 22. Syntaxe Oracle 12 : SQL TOP, LIMIT et FETCH FIRST Exemples L'instruction SQL suivante sélectionne les trois premiers enregistrements de la table "Clients" (pour SQL Server/MS Access) : L'instruction SQL suivante montre l'exemple équivalent pour MySQL : L'instruction SQL suivante montre l'exemple équivalent pour Oracle : Formateur Jaouad Assabbour
  • 23. Les fonctions SQL MIN() et MAX() La fonction MIN() renvoie la plus petite valeur de la colonne sélectionnée. La fonction MAX() renvoie la plus grande valeur de la colonne sélectionnée. Syntaxe MIN() L'instruction SQL suivante trouve le prix du produit le moins cher : Syntaxe MAX() L'instruction SQL suivante trouve le prix du produit le plus cher : Formateur Jaouad Assabbour
  • 24. Les fonctions SQL COUNT(), AVG() et SUM() La fonction COUNT() renvoie le nombre de lignes correspondant à un critère spécifié. Syntaxe COUNT() L'instruction SQL suivante trouve le nombre de produits : La fonction AVG() renvoie la valeur moyenne d'une colonne numérique. Syntaxe AVG() L'instruction SQL suivante trouve le prix moyen de tous les produits : Formateur Jaouad Assabbour
  • 25. La fonction SUM() renvoie la somme totale d'une colonne numérique. Syntaxe SOMME() L'instruction SQL suivante trouve la somme des champs "Quantity" dans la table "OrderDetails" : Formateur Jaouad Assabbour
  • 26. L'opérateur SQL LIKE L'opérateur LIKE est utilisé dans une clause WHERE pour rechercher un modèle spécifié dans une colonne. Deux caractères génériques sont souvent utilisés conjointement avec l' opérateur LIKE : • Le signe de pourcentage (%) représente zéro, un ou plusieurs caractères • Le signe de soulignement (_) représente un seul caractère Le signe de pourcentage et le trait de soulignement peuvent également être utilisés en combinaison ! COMME Syntaxe Voici quelques exemples montrant différents LIKEopérateurs avec les caractères génériques '%' et '_' : Formateur Jaouad Assabbour
  • 27. SQL COMME Exemples L'instruction SQL suivante sélectionne tous les clients dont le CustomerName commence par "a" : L'instruction SQL suivante sélectionne tous les clients dont le CustomerName se termine par "a" : L'instruction SQL suivante sélectionne tous les clients avec un ContactName qui commence par "a" et se termine par "o" : Formateur Jaouad Assabbour
  • 28. L'opérateur SQL IN L'opérateur IN vous permet de spécifier plusieurs valeurs dans une clause WHERE. L'opérateur IN est un raccourci pour plusieurs conditions OR. Syntaxe IN Exemples d'opérateur IN L'instruction SQL suivante sélectionne tous les clients situés en "Allemagne", "France" et "Royaume-Uni" : Formateur Jaouad Assabbour
  • 29. L'instruction SQL suivante sélectionne tous les clients qui ne sont PAS situés en "Allemagne", "France" et "Royaume-Uni" L'opérateur SQL BETWEEN L'opérateur BETWEEN sélectionne des valeurs dans une plage donnée. Les valeurs peuvent être des nombres, du texte ou des dates. L'opérateur BETWEEN est inclusif : les valeurs de début et de fin sont incluses. Formateur Jaouad Assabbour
  • 30. ENTRE Syntaxe BETWEEN Exemple L'instruction SQL suivante sélectionne tous les produits dont le prix est compris entre 10 et 20 : Exemple BETWEEN avec IN L'instruction SQL suivante sélectionne tous les produits dont le prix est compris entre 10 et 20. De plus ne pas afficher les produits avec un CategoryID de 1, 2 ou 3: Formateur Jaouad Assabbour
  • 31. ENTRE Dates Exemple L'instruction SQL suivante sélectionne toutes les commandes dont la date de commande est comprise entre le '01-juillet-1996' et le '31-juillet-1996' : Alias SQL Les alias SQL sont utilisés pour donner à une table, ou à une colonne d'une table, un nom temporaire. Les alias sont souvent utilisés pour rendre les noms de colonnes plus lisibles. Un alias n'existe que pour la durée de cette requête. Un alias est créé avec le mot-clé AS. Syntaxe de colonne d'alias Formateur Jaouad Assabbour
  • 32. L'instruction SQL suivante crée deux alias, un pour la colonne CustomerID et un pour la colonne CustomerName : JOINTURE SQL Une clause JOIN est utilisée pour combiner des lignes de deux tables ou plus, en fonction d'une colonne liée entre elles. Examinons une sélection du tableau "Commandes" : Notez que la colonne "CustomerID" dans la table "Orders" fait référence au "CustomerID" dans la table "Customers". La relation entre les deux tables ci-dessus est la colonne "CustomerID". Formateur Jaouad Assabbour
  • 33. Ensuite, nous pouvons créer l'instruction SQL suivante (qui contient un INNER JOIN), qui sélectionne les enregistrements dont les valeurs correspondent dans les deux tables : et cela produira quelque chose comme ceci: Différents types de SQL JOIN (INNER) JOIN: renvoie les enregistrements dont les valeurs correspondent dans les deux tables • LEFT (OUTER) JOIN: renvoie tous les enregistrements de la table de gauche et les enregistrements correspondants de la table de droite Formateur Jaouad Assabbour
  • 34. • RIGHT (OUTER) JOIN: renvoie tous les enregistrements de la table de droite et les enregistrements correspondants de la table de gauche • FULL (OUTER) JOIN: Renvoie tous les enregistrements lorsqu'il y a une correspondance dans la table de gauche ou de droite Mot-clé SQL INNER JOIN Le mot clé INNER JOIN sélectionne les enregistrements dont les valeurs correspondent dans les deux tables. Syntaxe INNER JOIN SQL INNER JOIN Exemple L'instruction SQL suivante sélectionne toutes les commandes contenant des informations client : Remarque : Le mot-clé INNER JOIN sélectionne toutes les lignes des deux tables tant qu'il existe une correspondance entre les colonnes. S'il y a des enregistrements dans la table Formateur Jaouad Assabbour
  • 35. "Commandes" qui n'ont pas de correspondance dans "Clients", ces commandes ne seront pas affichées ! REJOIGNEZ Trois Tables L'instruction SQL suivante sélectionne toutes les commandes avec des informations sur le client et l'expéditeur : SQL LEFT JOIN Le mot-clé LEFT JOIN renvoie tous les enregistrements de la table de gauche (table1) et les enregistrements correspondants de la table de droite (table2). Le résultat est 0 enregistrement du côté droit, s'il n'y a pas de correspondance. Syntaxe LEFT JOIN L'instruction SQL suivante sélectionnera tous les clients et toutes les commandes qu'ils pourraient avoir : Formateur Jaouad Assabbour
  • 36. Remarque : Le mot-clé LEFT JOIN renvoie tous les enregistrements de la table de gauche (Clients), même s'il n'y a pas de correspondance dans la table de droite (Commandes). SQL FULL OUTER JOIN Le mot-clé FULL OUTER JOIN renvoie tous les enregistrements lorsqu'il existe une correspondance dans les enregistrements de la table de table1 ou de table2. Astuce : FULL OUTER JOIN et FULL JOIN sont identiques. Syntaxe FULL OUTER JOIN Remarque : FULL OUTER JOIN peut potentiellement renvoyer des ensembles de résultats très volumineux ! Formateur Jaouad Assabbour
  • 37. L'instruction SQL suivante sélectionne tous les clients et toutes les commandes : L'opérateur SQL UNION L'opérateur UNION est utilisé pour combiner le jeu de résultats de deux SELECT déclarations ou plus. • Chaque instruction SELECT à l'intérieur UNION doit avoir le même nombre de colonnes • Les colonnes doivent également avoir des types de données similaires • Les colonnes de chaque instruction SELECT doivent également être dans le même ordre Syntaxe UNION Formateur Jaouad Assabbour
  • 38. SQL UNION Exemple L'instruction SQL suivante renvoie les villes (uniquement des valeurs distinctes) des tables "Clients" et "Fournisseurs" : Remarque : Si certains clients ou fournisseurs ont la même ville, chaque ville ne sera répertoriée qu'une seule fois, car UNIONne sélectionne que des valeurs distinctes. Utilisez UNION ALLpour sélectionner également les valeurs en double ! UNION ALL Syntaxe L'opérateur UNION ne sélectionne que des valeurs distinctes par défaut. Pour autoriser les valeurs en double, utilisezUNION ALL : Remarque : Les noms de colonne dans le jeu de résultats sont généralement égaux aux noms de colonne dans la première instruction SELECT. Formateur Jaouad Assabbour
  • 39. L'instruction SQL suivante renvoie les villes (valeurs en double également) des tables "Clients" et "Fournisseurs" : SQL UNION Avec WHERE L'instruction SQL suivante renvoie les villes allemandes (uniquement des valeurs distinctes) à partir des tables "Clients" et "Fournisseurs" : SQL UNION ALLAvec WHERE L'instruction SQL suivante renvoie les villes allemandes (valeurs en double également) à partir des tables "Clients" et "Fournisseurs" : Formateur Jaouad Assabbour
  • 40. SQL UNION ALLAvec WHERE L'instruction SQL suivante renvoie les villes allemandes (valeurs en double également) à partir des tables "Clients" et "Fournisseurs" : Formateur Jaouad Assabbour
  • 41. L'instruction SQL GROUP BY L' instruction GROUP BY regroupe les lignes qui ont les mêmes valeurs dans des lignes récapitulatives, comme "trouver le nombre de clients dans chaque pays". L'instruction GROUP BY est souvent utilisée avec des fonctions d'agrégation ( COUNT(), MAX(), MIN(), SUM(), AVG()) pour regrouper le jeu de résultats par une ou plusieurs colonnes. Syntaxe GROUP BY Formateur Jaouad Assabbour
  • 42. L'instruction SQL suivante répertorie le nombre de clients dans chaque pays, triés de haut en bas : GROUP BY avec JOIN Exemple L'instruction SQL suivante répertorie le nombre de commandes envoyées par chaque expéditeur : La clause SQL HAVING La clause HAVING a été ajoutée à SQL car le mot- clé WHERE ne peut pas être utilisé avec des fonctions d'agrégation. Formateur Jaouad Assabbour
  • 43. Syntaxe L'instruction SQL suivante répertorie le nombre de clients dans chaque pays. N'incluez que les pays comptant plus de cinq clients : L'instruction SQL suivante répertorie le nombre de clients dans chaque pays, triés par ordre décroissant (n'incluez que les pays comptant plus de 5 clients ) : Formateur Jaouad Assabbour
  • 44. Plus d'exemples d'avoir L'instruction SQL suivante répertorie les employés qui ont enregistré plus de 10 commandes : L'instruction SQL suivante indique si les employés "Davolio" ou "Fuller" ont enregistré plus de 25 commandes : Formateur Jaouad Assabbour
  • 45. L'opérateur SQL EXISTS L'opérateur EXISTS est utilisé pour tester l'existence de tout enregistrement dans une sous-requête. L’opérateur EXISTS renvoie TRUE si la sous-requête renvoie un ou plusieurs enregistrements. Syntaxe Formateur Jaouad Assabbour