Académique Documents
Professionnel Documents
Culture Documents
Soulaf - Langage SQL
Soulaf - Langage SQL
Soulaf BOUTADGHART
1
ACCESS utilise le langage SQL, pour faire ses
requêtes, il traduit ce qu’on est entré en SQL,
puis exécute la requête SQL.
2
Qu'est-ce que SQL ?
3
Qu'est-ce que SQL ?
4
La commande SELECT
Sa syntaxe est :
5
La commande SELECT
SELECT *
FROM table;
7
La commande SELECT
SELECT *
FROM table
WHERE condition;
8
La commande SELECT
SELECT *
FROM Clients
WHERE code_postal = 40000;
9
La commande SELECT
10
La commande SELECT
SELECT *
FROM Article
WHERE prix_unitaire > 100;
11
La commande SELECT
12
La commande SELECT
SELECT *
FROM Clients
WHERE nom = 'Hassan' AND ville = 'Fès';
13
La commande SELECT
SELECT *
FROM Clients
WHERE nom = 'Hassan' OR nom = 'Mourad';
14
La commande SELECT
SELECT *
FROM Clients
WHERE ville IN ('Marrakech', 'Casablanca');
15
La commande SELECT
SELECT *
FROM Produits
WHERE prix_unitaire BETWEEN 100 AND 1000;
16
La commande SELECT
SELECT *
FROM Produits
WHERE prix_unitaire NOT BETWEEN 100 AND 1000;
17
La commande SELECT
SELECT *
FROM Clients
WHERE nom LIKE 'S*';
18
La commande SELECT
19
La commande SELECT
20
Exercice
ELEVE(matricule_elv, nom_elv, prenom_elv,
ville_elv, cp_elv, age, sexe, date_insc,moy_elv)
1 Liste des élèves.
2 Les matricules des élèves possédant une moyenne supérieur à
10.
3 Les filles qui habite à Marrakech.
4 Les élèves âgé de plus de 25 ans habitant en dehors de
Marrakech.
5 Les élèves habitant à Rabat et à Fès âgé entre 18 et 26 ans.
6 Les noms et prénoms des élèves dont le nom débute par 'B' .
7 Les matricules et noms des élèves inscrit a l’année 2002 ayant
une moyenne inférieur a 10.
21
La commande SELECT
22
La commande SELECT
23
La commande SELECT
24
Exercice
REPRESENTATION (n_représentation, titre_représentation, lieu)
MUSICIEN (nom, n_représentation*)
PROGRAMMER (date, n_représentation*, tarif)
25
La commande SELECT
Supprimer les doubles avec DISTINCT.
26
La commande SELECT
27
La commande SELECT
28
La commande SELECT
29
La commande SELECT
30
La commande SELECT
Pour spécifier l'ordre de tri, on doit placer les noms des
colonnes séparées par des virgules juste après le mot clef
"ORDER BY", dans l'ordre voulu.. On peut aussi utiliser le
rang de chaque colonne dans l'ordre spécifié dans la
clause SELECT.
SELECT *
FROM Clients
WHERE code_postal = 40000;
ORDER BY nom_cli, prénom DESC;
31
Exercice
AUTEUR(cod_aut, nom_aut, prenom_aut)
LIVRE(cod_livre, nom_livre, edition, cod_aut#, prix)
COMPORTER(cod_livre#, cod_cde#, quantite)
COMMANDE(cod_cde, date_cde, cod_cli#)
CLIENT(cod_cli, nom_cli, prenom_cli, adr_cli, localite)
32
La commande SELECT
34
La commande SELECT
Exemple :
SELECT
MIN(prix_unitaire),MAX(prix_unitaire),
AVG(prix_unitaire) AS MOYENNE_PRIX
FROM PRODUIT;
35
La commande SELECT
36
La commande SELECT
38
La commande SELECT
39
La commande SELECT
40
Exercice
ELEVE(matricule_elv, nom_elv, prenom_elv, rue_elv, localite_elv, cp_elv,
age, sexe, tel, code_dpt#)
DEPARTEMENT(code_dpt, niveau, date_debut, tarif, dt_inscription,
lib_dpt, id_salle#)
SALLE(id_salle, description, type, batiment)
THEME(code_theme, des_theme, langue, code_dpt#, no_prof#)
PROF(no_prof, nom_prof, prenom_prof, rue_prof, localite_prof, cp_prof)
1 Etablir une liste avec toutes les données des différents élèves.
2 Afficher par ordre alphabétique le prénom des élèves qui sont en bâtiment C.
3 Afficher le nom et le code postal des professeurs qui tiennent des thèmes en
français.
4 Faire une liste d’élèves en indiquant le tarif et le code postal pour tous les
élèves qui ont leur salle dans le bâtiment C et ceci dans l’ordre décroissant des
numéros de téléphone regroupé par département.
5 Calculer l’âge moyen des élèves intéressés dans « Atomthéorie »
6 Combien d’élèves participent au thème « La future entreprise ».
7 Afficher les noms, le prénoms et les numéros de téléphone des l’élèves qui
ont payés plus pour être inscrit.
41
La commande SELECT
Les sous-requêtes :
42
La commande SELECT
Supposons les tables suivantes :
43
La commande SELECT
SELECT Num_acheteur
FROM Vente
WHERE prix > (( SELECT AVG (prix) FROM Vente) + 100) ;
44
La commande CREATE VIEW
45
La commande CREATE VIEW
46
La commande CREATE VIEW
47
La commande CREATE VIEW
SELECT *
FROM V_Client_Kech
WHERE Age BETWEEN 30 and 50;
48
La commande CREATE VIEW
50
La commande INSERT
51
La commande INSERT
1ère forme :
INSERT
INTO table (champ1,champ2,...)
VALUES ('valeur1','valeur2',...);
52
La commande INSERT
2ème forme :
INSERT
INTO table (champ1,champ2,...)
(requête SELECT);
53
La commande INSERT
54
La commande INSERT
INSERT
INTO table
VALUES ('valeur1','valeur2','valeur3',...);
55
La commande INSERT
INSERT
INTO Clients
VALUES (100,'Mr','Dawali','Jalil','Medina N°44',40000,'Marrakech');
56
La commande UPDATE
UPDATE table
SET champ1 = nouvelle_valeur1,
champ2 = nouvelle_valeur2,
champ3 = nouvelle_valeur3
WHERE condition;
57
La commande UPDATE
58
La commande UPDATE
UPDATE produits
SET prix_unitaire = 1000
WHERE libelle = 'prod1';
59
La commande UPDATE
60
La commande UPDATE
UPDATE produits
SET prix_unitaire = 1000;
61
La commande UPDATE
UPDATE table
SET champ1 = nouvelle_valeur1,
champ2 = nouvelle_valeur2,
champ3 = nouvelle_valeur3
WHERE condition = (requête SELECT);
62
La commande DELETE
DELETE
FROM table
WHERE condition;
63
La commande DELETE
64
La commande DELETE
DELETE
FROM Clients
WHERE ville='Marrakech';
65
La commande DELETE
66
La commande DELETE
DELETE
FROM table
WHERE condition = ( requête SELECT);
67
Exercice
Soit le modèle relationnel suivant :
EQUIPE (CodeEQ,NomEQ,DirecteurSportif)
COUREUR (NumCR,NomCR, CodeEQ*,CodeP*)
PAYS (CodeP,NomP)
TYPE_ETAPE (CodeT,LibT)
ETAPE ( NumET,DateET,VilleDép,VilleArr,NbKm,CodeT*)
PARTICIPER ( NumCR*,NumET*,TempsRéalisé)
ATTRIBUER_BONIFICATION ( NumET*,Km,Rang ,NbSecondes,NumCR*)
68