22/12/2014
1
Prof . EL HADDIOUI Ismail
2014-2015
Université Hassan II – Casablanca
Ecole Supérieure de Technologie de Casablanca
Requêtes
Une requête est une interrogation posée à la base de données ou une action
effectuée sur les données de cette base de données.
Il existe deux types de requêtes :
Requêtes de sélection : servent à afficher uniquement certaines données
contenues dans les tables selon certains critères. Elles peuvent aussi faire
des calculs sur vos données.
Requêtes d'action, elles permettent de :
Créer, modifier la structure ou supprimer une table.
Ajouter, modifier ou supprimer des enregistrements d'une table
2
22/12/2014
2
Requêtes
Pour créer des requêtes sur Access, on peut utiliser deux modes :
Mode Assistant
Mode SQL : sous forme du texte, qui utilise le langage SQL qui peut être
utilisé dans n'importe quel système de gestion de base de données (Access,
SQL Server, Oracle, MySQL, PostgreSQL…)
3
SQL : 1. Commandes de base
Select <champ1>, <champ2> From <table> Where <condition> ;
Exemples :
Select * From Etudiants ;
Select Nom_étudiant, Prénom_étudiant From Etudiants ;
Select * From Etudiants Where Ville_étudiant = "Casablanca" ;
Select [id client] from Clients ;
4
22/12/2014
3
SQL : 2. Les paramètres de : WHERE
AND : les deux expressions doivent être vérifiées.
OR : au moins une des deux expressions doit être vérifiée (et/ou).
Not : effectue la négation d'un opérateur ( AND Not, OR Not...).
BETWEEN : sélectionne plusieurs valeurs comprises entre deux valeurs.
IN() : sélectionne des valeurs qui appartiennent à une liste
Opérateurs mathématiques : = > < >= <= <>
Exemples :
5
SQL : 2. Les paramètres de : WHERE
SELECT Id_étudiant FROM Notes WHERE Note_étudiant >= 10 And Note_étudiant < 12 ;
SELECT Id_étudiant FROM Notes WHERE Note_étudiant BETWEEN 10 and 12 ;
SELECT Nom_étudiant, Ville_étudiant FROM Etudiants WHERE Ville_étudiant =
"Casablanca" OR Ville_étudiant = "Rabat" ;
SELECT Nom_étudiant, Ville_étudiant FROM Etudiants WHERE Not Ville_étudiant =
"Casablanca";
SELECT Nom_étudiant, Ville_étudiant FROM Etudiants WHERE Ville_étudiant <>
"Casablanca";
SELECT Nom_étudiant, Ville_étudiant FROM Etudiants WHERE Ville_étudiant In
("Casablanca","Rabat","Kenitra","Mohammadia");
SELECT Nom_étudiant, Ville_étudiant, Date_naissance_étudiant FROM Etudiants
WHERE Date_naissance_étudiant >= #01/01/1990# And Not Ville_étudiant =
"Casablanca"; 6
22/12/2014
4
SQL : 3. ORDER BY
Elle sert à classer les données sur un champ par l'ordre croissant ou décroissant
Select… From… Where… ORDER BY champ ASC ou DESC ;
ASC = Croissant ; DESC = Décroissant
ASC est la valeur par défaut
Exemples
Select * From Etudiants ORDER BY Id_étudiant ;
Select * From Etudiants ORDER BY Date_naissance_étudiant Desc ;
Select * From Etudiants ORDER BY Ville_étudiant Asc, Id_étudiant Desc ;
Select Id_étudiant, Nom_étudiant, Prénom_étudiant From Etudiants ORDER BY
Nom_étudiant, Prénom_étudiant ;
7
SQL : 4. Jointure
La jointure sert à sélectionner les enregistrements de deux tables jointes
Il existe trois types de jointure : INNER JOIN, LEFT JOIN et RIGHT JOIN
INNER JOIN Nom_Table ON Champ1 =Champ2
Cette commande n'affiche pour les deux tables que les enregistrements qui ont une
correspondance pour leur champ commun (clé primaire et clé étrangère).
Exemple :
SELECT Nom_étudiant, Prénom_étudiant, Ville_étudiant, Nom_classe FROM
Classes INNER JOIN Etudiants ON Classes.Id_classe = Etudiants.Id_classe ;
8
22/12/2014
5
SQL : 4. Jointure
LEFT JOIN Nom_Table ON Champ1 =Champ2
Cette commande affiche pour la table de gauche tous les enregistrements même s'ils
n'ont pas de correspondance dans la table de droite.
Exemple :
SELECT Nom_étudiant, Prénom_étudiant, Ville_étudiant, Nom_classe FROM
Classes LEFT JOIN Etudiants ON Classes.Id_classe = Etudiants.Id_classe ;
RIGHT JOIN Nom_Table ON Champ1 =Champ2
Cette commande affiche pour la table de droite tous les enregistrements même s'ils
n'ont pas de correspondance dans la table de gauche.
Exemple :
SELECT Nom_étudiant, Prénom_étudiant, Ville_étudiant, Nom_classe FROM
Classes RIGHT JOIN Etudiants ON Classes.Id_classe = Etudiants.Id_classe ; 9
SQL : 5. GROUP BY...HAVING
Cette commande permet d'effectuer un calcul sur un champ donné :
Select champ1,Count(champ2) From Table GROUP BY champ1 HAVING
condition sur champ1 ;
Exemple :
Select Type_séance, Count(Id_séance) AS [Nombre de séances] From Séances
GROUP BY Type_séance HAVING Type_séance <> "Cours";
Exemple de GROUP By + Jointure
Select Nom_classe, Count(Id_étudiant) AS [Nombre d'étudiants] From Etudiants
INNER JOIN Classes ON Classes.Id_classe = Etudiants.Id_classe GROUP BY
Nom_classe ;
10
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !