Langage SQL PDF
Langage SQL PDF
Langage SQL PDF
Chapitre 5:
Langage SQL
2022/2023
Plan
Chapitre 1:
Chapitre 5: SQL.
Conventions de Dénomination:
Un nom :
Doit commencer par une lettre
Peut comporter de 1 à 30 caractères
Ne peut contenir que les caractères A à Z, a à z, 0 à 9, _, $, et #
Ne doit pas porter le nom d’un autre objet appartenant au
même utilisateur
SQL:LDD: Création des tables
Créer la table dept (département) :
Table created.
Syntaxe:
INSERT INTO nom_table (nom_colonne_1,
nom_colonne_2, …)
VALUES(valeur_colonne_1, valeur_colonne_2, …)
Exemple:
INSERT INTO employe VALUES(12, 'Dupont',
'comptable', 1800, 2, NULL)
SQL: LMD :
Modification de ligne
Syntaxe:
UPDATE nom_table
SET nom_colonne = valeur
WHERE condition(s);
Exemple:
Augmentation de 10%:
UPDATE employe
SET sal = sal * 1.1
WHERE fontion = 'informaticien';
SQL: LMD :
Modification de ligne
Syntaxe:
DELETE FROM nom_table
WHERE condition(s);
Exemple:
DELETE FROM employe
WHERE code_service = 3
Syntaxe:
SELECT [DISTINCT] FROM
Nom_Table
[WHERE condition]
Exemple:
SELECT Nom FROM Personne;
Exercice
La base de données Hôtel contient 2 tables:
•Chambre (Num_Chambre, Prix, Nbr_Lit, Nbr_Pers) ;
•Client (Num_Client, Nom, Prenom, Adresse) ;
1.Créer les tables : Chambre et Client ;
2.Remplir les tables « Chambre » et « Client » ;
SQL: LDD :Approfondissement
I. Les contraintes d’intégrités:
Définition:
• Exemple:
Cette contrainte permet de contrôler que chaque ligne a une valeur unique
pour la colonne (pas de doublons).
• Exemple:
lignes.
d'utilisateurs, afin que les données saisies dans la base soient conformes
• Exemple -1-:
Alter table Employe
ADD CONSTRAINT Const_Fr
Foreign key id_Client REFERENCES Client (id_c);
Exemple-2-
Create Table DET(
NumORD integer,
NumLigne integer,
NumMED integer,
QTE integer Not Null,
Constraint PK_DET Primary Key (NumORD, NumLigne),
Constraint NbMaxMed Check (NumLigne < 5),
Constraint Ref_ORD Foreign Key (NumORD) References ORD(NumORD)
on delete cascade,
Constraint Ref_MED Foreign Key( NumMED )References MED(NumMED)
on update cascade);
SQL: LMD :Approfondissement
LES FONCTIONS D'ENSEMBLE
SQL a cinq fonctions importantes :
• MAX (): Donne la valeur la plus élevée d'un champ de tous les
enregistrements satisfaisant la condition de la requête
• MIN (): Donne la valeur la plus petite d'un champ de tous les
enregistrements satisfaisant la condition de la requête.
Exemple:
• Pour retourner le prix le plus petit de la table Produit, le prix le
plus élevé et le prix moyen:
Exemple:
pour sélectionner les étudiants dont le nom commence par la lettre D :
SELECT *
FROM etudiant
WHERE nom LIKE ‘D%';
Remarque:
Exemple:
pour sélectionner les étudiants dont le nom commence par la lettre D :
SELECT *
FROM etudiant
WHERE age BETWEEN 18 AND
24;
Clauses IN et NOT IN
SELECT *
FROM etudiant
WHERE age NOT IN
(16,17,18);
DISTINCT
• Opérateur AND:
Opérateur OR:
• GROUP BY
• HAVING
• ORDER BY
GROUP BY
Jointure externe
Exemple:
Donnez pour chaque vente la référence du produit, sa désignation, son prix, le numéro
de client, la date et la quantité vendue:
Solution:
SELECT NumRDV
FROM RDV R , DOC D
WHERE R.NumDoc = D.NumDoc
and D.NomDoc =‘Alaoui’;
La jointure
La jointure
AutoJointure
La jointure
AutoJointure:
Exemple
Exercice d’application N°1:
2. Lister les Num Client ayant commandé un produit dont le prix = 1000
Questions:
1. Donner la liste des titres des représentations.
2. Donner la liste des titres des représentations ayant lieu à l'opéra « Olympia »
3. Donner la liste des noms des musiciens et des titres des représentations auxquelles
ils participent.
4. Donner la liste des titres des représentations, les lieux et les tarifs pour la journée
du ‘12/03/2023’.
Jointure
Jointure Externe
Les jointures externes permettent de visualiser des lignes qui ne répondent pas à la
condition de jointure.
Jointure externe
Jointure externe à gauche
Jointure externe à droite
Jointure Externe
Syntaxe générale
SELECT colonnes_de_projection
FROM table
WHERE expr operator (
SELECT colonnes_de_projection
FROM table
WHERE …..
);
Types de sous-requête
Exemple
SELECT nom
FROM EMP
WHERE salemp > (SELECT salemp
FROM EMP
WHERE nom=‘Filali’);
SELECT nom
FROM EMP
WHERE salemp > (SELECT AVG(salemp)
FROM EMP);
Exemple
Les noms des employés qui ne sont pas les moins payés ?
SELECT nom
FROM EMP
WHERE salemp > ANY (SELECT salemp
FROM EMP );
SELECT nom
FROM EMP
WHERE salemp >= ALL (SELECT salemp
FROM EMP);
Définition:
Un index est une structure de données qui permet d'accélérer les recherches
dans une table.
Syntaxe de création:
- Syntaxe basique :
CREATE INDEX ‘Index_Nom’ ON ‘Table_Nom’;
- Index sur une seule colonne :
CREATE INDEX ‘Index_Nom’ ON ‘Table_Nom’ (‘Colonne1’);
- Index sur plusieurs colonnes
CREATE INDEX ‘Index_Nom’ ON ‘Table_Nom’ (‘Colonne1’, ‘Colonne 2’, …);
- Index unique (unicité des valeurs de la colonne indexée)
CREATE UNIQUE INDEX ‘Index_Nom’ ON ‘Table_Nom’ (‘Colonne1’);
Union 1 N1 2 N2
Union all 2 N2 4 N4
Minus (EXCEPT) 3 N3 5 N5
Exemple:
1. SELECT id, nom FROM T1 id | nom
UNION ----|-------
SELECT id, nom FROM T2 1 | N1
2 | N2
2. SELECT id, nom FROM T1 3 | N3
UNION ALL 2 | N2
SELECT id, nom FROM T2 4 | N4
5 | N5
3. SELECT id, nom FROM T1
id | nom
INTERSECT
----|-------
SELECT id, nom FROM T2
2 | N2
Cours: Bases de Données Chapitre 5: Langage SQL
Opérateurs Ensemblistes
Exemple
Les médicaments prescrits en mêmes temps dans
les ordonnances 1 et 3:
Select NumMed from DET Where NumOrd=1
INTERSECT
Select NumMed from DET Where NumOrd=3;