Académique Documents
Professionnel Documents
Culture Documents
MP
Introduction
Syntaxe :
Le Langage SQL 3
Création d’une table
Le langage SQL 4
Création d’une table
Le langage SQL 5
Création d’une table
Exemple: Vente
NumAch
NumVoit
Date_vente
Prix Personne
Voiture NumAch
NumVoit Nom
Marque Age
Type Ville
Couleur
Le langage SQL 6
Création d’une table
Le langage SQL 7
Suppression d’une table / modification d’une table
ALTER TABLE R
ADD colonne Type;
Le langage SQL 8
Suppression d’une table / modification d’une table
ALTER TABLE R
DROP colonne ;
Exemple: Ajout de la colonne Tel (de type INT) dans la table Personne
Le langage SQL 9
Création d’un index
Exemple:
Le langage SQL 10
Création d’un index
Une « vue » est le résultat d’une requête que l’on peut manipuler de la
même façon qu’une table. On peut considérer une vue comme une
table dynamique (virtuelle) dont le contenu est recalculé à chaque
utilisation.
(les données ne sont pas stockées dans une table de la base).
Le langage SQL 12
Création d’une vue
Le langage SQL 13
Le langage de manipulation de données
♦ Projection
SELECT Ai ,…., Ap
FROM R ;
Le langage SQL 14
Le langage de manipulation de données
♦ Projection
Le langage SQL 15
Le langage de manipulation de données
♦ Projection
Exemple : On peut demander quels sont les prix en euros des voitures (
les prix sont en dirhams) :
Vente
NumAch NumVoit DateVente Prix Prix DateVente Prix_Euros
Le langage SQL 16
Le langage de manipulation de données
♦ Sélection SELECT *
FROM R
WHERE P;
Le langage SQL 17
Le langage de manipulation de données
♦ Sélection
SELECT *
FROM Vente
WHERE Prix > 60000;
Vente
NumAch NumVoit DateVente Prix NumAch NumVoit DateVente Prix
1 1 2013-02-12 70000 1 1 2013-02-12 70000
2 4 2010-12-02 55000 5 2 2011-09-10 80000
4 5 2009-08-26 40000
5 2 2011-09-10 80000
Le langage SQL 18
Le langage de manipulation de données
♦ Sélection
♦ Exemple 2 : Extraction des voitures rouges ou blanches.
SELECT *
FROM Voiture
WHERE Couleur =IN‘Rouge’
(‘Rouge’OR
,’ Blanche’);
Couleur =’ Blanche’;
Voiture
NumVoit Marque Modele Couleur
1 Ford Fiesta Noire
NumVoit Marque Modele Couleur
2 Citroën C4 Blanche
2 Citroën C4 Blanche
3 Renault Clio Rouge
3 Renault Clio Rouge
4 Peugeot 307 cc Noire
5 Citroën C3 Bleue
6 Renault Twingo Noire
Le langage SQL 19
Le langage de manipulation de données
♦ Sélection
♦ Exemple 2 : Extraction des personnes dont l’âge est compris entre 25
et 40 ans .
SELECT *
FROM Personne
WHERE Age BETWEEN 25 AND 40;
Personne
NumAch Nom Age Ville
1 yassin 42 Agadir NumAch Nom Age Ville
2 Imane 33 Casablanca 2 Imane 33 Casablanca
3 Reda 30 Rabat 3 Reda 30 Rabat
4 Meryem 42 Agadir 5 Walid 27 Marrakech
5 Walid 27 Marrakech
Le langage SQL 20
Le langage de manipulation de données
♦ Sélection
♦ Exemple 3 : Extraction des personnes n’habitant pas Agadir
SELECT *
FROM Personne
WHERE NOT (Ville=‘Agadir’);
Personne
NumAch Nom Age Ville
1 yassin 42 Agadir NumAch Nom Age Ville
2 Imane 33 Casablanca 2 Imane 33 Casablanca
3 Reda 30 Rabat 3 Reda 30 Rabat
4 Meryem 42 Agadir 5 Walid 27 Marrakech
5 Walid 27 Marrakech
Le langage SQL 21
Le langage de manipulation de données
♦ Sélection
♦ Exemple 4 : Extraction des personnes dont le 2ème caractère de son
nom est un ‘e’
SELECT *
FROM Personne
WHERE Nom LIKE ‘_e%’;
Personne
NumAch Nom Age Ville
1 yassin 42 Agadir NumAch Nom Age Ville
2 Imane 33 Casablanca 3 Reda 30 Rabat
3 Reda 30 Rabat 4 Meryem 42 Agadir
4 Meryem 42 Agadir
5 Walid 27 Marrakech
Le langage SQL 22
Le langage de manipulation de données
♦ Sélection
♦ Exemple 4 : La requête permettant d'éditer les personnes dans
l'ordre des âges croissants est :
SELECT *
FROM Personne
ORDER BY Age ASC;
Personne
NumAch Nom Age Ville NumAch Nom Age Ville
Le langage SQL 23
Le langage de manipulation de données
♦ Sélection
SELECT *
FROM Personne
WHERE Ville IS NULL;
Le langage SQL 24
Le langage de manipulation de données
♦ Produit cartésien
SELECT *
FROM R1 , R2 ;
SELECT *
FROM Personne , Voiture ;
Le langage SQL 25
Le langage de manipulation de données
♦ Jointure
Exemple : La liste des voitures vendues (Marque, Couleur et Prix)
Le langage SQL 26
Le langage de manipulation de données
♦ Jointure
Exemple : La liste des voitures vendues (Marque, Couleur et Prix)
SELECT Voiture.Marque, Voiture.Couleur, Vente.Prix
FROM Voiture, Vente
WHERE Voiture.NumVoit = Vente.NumVoit;
Marque Couleur Prix
SELECT Voiture.Marque, Voiture.Couleur, Vente.Prix
Ford Noire 70000
FROM Voiture JOIN Vente Citroën Blanche 80000
Voiture ON Voiture.NumVoit = Vente.NumVoit; Peugeot Noire 55000
♦ Jointure
la requête permettant d’afficher la marque, la couleur
Exemple :
et le prix de la voiture achetée par « Walid » peut être
exprimée de la façon suivante :
SELECT Vo.Marque, Vo.Couleur, Ve.Prix
FROM Voiture Vo , Vente Ve, Personne Pe Marque Couleur Prix
WHERE Vo.NumVoit = Ve.NumVoit Ford Noire 70000
AND Pe.NumAch = Ve.NumAch Citroën Blanche 80000
AND Pe.Nom=’Walid’;
Peugeot Noire 55000
Voiture
Citroën Bleue 40000
NumVoit Marque Modele Couleur
Vente
1 Ford Fiesta Noire
NumAch NumVoit DateVente Prix
2 Citroën C4 Blanche
1 1 2013-02-12 70000
3 Renault Clio Rouge
4 Peugeot 307 cc Noire 2 4 2010-12-02 55000
5 Citroën C3 Bleue 4 5 2009-08-26 40000
6 Renault Twingo Noire 5 2 2011-09-10 80000
Le langage SQL 28
Le langage de manipulation de données
♦ Fonctions d’agrégation
SELECT AVG(Prix)
FROM Vente ;
Dans cet exemple on n’a pas défini de groupe (il existe un groupe par
défaut : c’est la table toute entière)
Le langage SQL 29
Le langage de manipulation de données
♦ Fonctions d’agrégation
SELECT Marque
FROM Voiture
GROUP BY Marque;
On obtient dans ce cas le même résultat que si l’on avait utilisé le mot
clé DISTINCT vu précédemment.
Le langage SQL 30
Le langage de manipulation de données
♦ Fonctions d’agrégation
Exemple : La requête suivante permet de récupérer le nombre de voitures
des différentes marques de la table voiture
Le langage SQL 31
Le langage de manipulation de données
♦ Fonctions d’agrégation
Le langage SQL 32
Le langage de manipulation de données
♦ Fonctions d’agrégation
La clause HAVING permet une restriction sur un groupe de ligne. Elle est
liée à la clause GROUP BY
Le langage SQL 33
Le langage de manipulation de données
♦ Fonctions d’agrégation
l'ordre suivant :
Le langage SQL 34
Le langage de manipulation de données
Le langage SQL 35
Le langage de manipulation de données
=, >,<
SELECT ----
Requête
FROM ----
principale
WHERE ---- < ( SELECT ---- Requête
FROM ----
imbriquée
)
Le langage SQL 36
Le langage de manipulation de données
Le langage SQL 37
Le langage de manipulation de données
Le langage SQL 38
Le langage de manipulation de données
Remarque :
Le langage SQL 39
Le langage de manipulation de données
R est le nom d’une relation, et les A1, ... An sont les noms des attributs
VALUES (10,’Triumph’,’Bleue’);
Le langage SQL 41
Le langage de manipulation de données
DELETE FROM R
WHERE C;
condition C.
Le langage SQL 42
Le langage de manipulation de données
WHERE Couleur=’Rouge’;
Le langage SQL 43