0% ont trouvé ce document utile (0 vote)
33 vues13 pages

Select

Transféré par

marindodkh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues13 pages

Select

Transféré par

marindodkh
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

27/11/2024

Syntaxe de la commande SELECT

 Cette commande va servir à faire des requêtes pour


récupérer des données d’une table ou plusieurs tables.
 La commande SELECT permet de sélectionner des
données de plusieurs tables.

 Sa syntaxe est la suivante :

SELECT « liste des noms de colonnes »


FROM « Liste des tables »
WHERE « condition logique »

S.Nasiri

 SELECT indique la liste des attributs


constituant le résultat.
 FROM indique la (ou les) tables dans lesquelles
on trouve les attributs(informations) utiles à la
requête.
 WHERE indique les conditions que doivent
satisfaire les n-uplets (enregistrements) de la
base pour faire partie du résultat.

S.Nasiri

1
27/11/2024

 La liste des noms de colonnes: indique la liste


des colonnes choisies, séparées par des
virgules.
 Lorsque l'on désire sélectionner l'ensemble
des colonnes d'une table il n'est pas
nécessaire de saisir la liste de ses colonnes,
l'option * permet de réaliser cette tâche.

S.Nasiri

 La liste des tables indique l'ensemble des


tables (séparées par des virgules) sur
lesquelles on opère
 La condition logique permet d'exprimer des
qualifications complexes à l'aide d'opérateurs
logiques et de comparateurs arithmétiques

S.Nasiri

2
27/11/2024

❑ Pour sélectionner juste les noms et les prénoms


des étudiants, la syntaxe est la suivante:

SELECT nom, prénom FROM Etudiant;

❑ Pour sélectionner tous les enregistrements de la


table « Etudiant » dont l’âge est 20 ans, la
syntaxe est la suivante:
SELECT * FROM Etudiant WHERE age=20;

S.Nasiri

On peut utiliser les opérateurs suivants dans les


conditions c’est-à-dire dans la clause WHERE:

Opérateur Signification
= Egal
<> Différent
(parfois noté aussi != )
< Inférieur
> Supérieur
<= Inférieur ou égal
>= Supérieur ou égal

S.Nasiri

3
27/11/2024

 Pour sélectionner tous les enregistrements de


la table « etudiant » dont l’age superieur ou
égale à 20 ans:

SELECT * FROM etudiant WHERE age>=20

S.Nasiri

Opérateurs logiques
Il est possible de combiner plusieurs
conditions avec des opérateurs logiques :
◦ L'opérateur AND réunit deux ou plusieurs
conditions et sélectionne un enregistrement
seulement si cet enregistrement satisfait
TOUTES les conditions listées
◦ Toutes les conditions séparées par AND sont
vraies.

S.Nasiri

4
27/11/2024

Pour sélectionner tous les étudiants qui ont


l’âge 20 ans ,et le nom « amrani » la
syntaxe est la suivante:

SELECT * FROM etudiant WHERE age=20 AND


nom=‘amrani’

S.Nasiri

 L'opérateur OR réunit deux conditions mais


sélectionne un enregistrement si une des
conditions listées est satisfaite.
 Par exemple, pour sélectionner tous les
étudiants nommés ‘Amrani' ou ‘Salhi' :

SELECT * FROM etudiant WHERE


nom=‘Amrani’ OR nom=‘Salhi’

S.Nasiri

5
27/11/2024

 L'option DISTINCT permet de ne conserver


que des lignes distinctes, en éliminant les
doublons

SELECT DISTINCT age, ville FROM etudiant

 L'option ALL est, par opposition à l'option


DISTINCT, l'option par défaut. Elle permet de
sélectionner l'ensemble des lignes satisfaisant
à la condition logique

S.Nasiri

 Pour sélectionner des enregistrements dont la


valeur d'un champ peut être comprise dans
une liste on utilise la clause IN
 NOT IN sélectionne les enregistrements exclus
de la liste spécifiée après IN.

S.Nasiri

6
27/11/2024

SELECT *
FROM etudiant
WHERE age IN (18, 20,22,24);

SELECT *
FROM etudiant
WHERE age NOT IN (16,17,18);

S.Nasiri

 Pour sélectionner des enregistrements dont la


valeur d'un champ peut être comprise entre
deux valeurs, on utilise la clause BETWEEN.

SELECT *
FROM etudiant
WHERE age BETWEEN 18 AND 24;

S.Nasiri

7
27/11/2024

 La clause LIKE permet de faire des recherches sur le


contenu d'un champ.
 Par exemple: pour sélectionner les étudiants dont
le nom commence par la lettre D :
SELECT *
FROM etudiant
WHERE nom LIKE ‘D%';
 Remarque:
◦ % remplace un ensemble de caractères
◦ Le symbole _ remplace un seul caractère.

S.Nasiri

 SQL a cinq fonctions importantes :


◦ SUM (): Donne le total d'un champ de tous les
enregistrements satisfaisant la condition de la
requête. Le champ doit bien sur être de type
numérique
◦ AVG (): donne la moyenne d'un champ de tous les
enregistrements satisfaisant la condition de la
requête

S.Nasiri

8
27/11/2024

 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.
 COUNT (*) :Renvoie le nombre d'enregistrements
satisfaisant la requête.

S.Nasiri

 Pour retourner le prix le plus petit de la table


Produit, le prix le plus élevé et le prix moyen.

SELECT
MIN(prix_unitaire),MAX(prix_unitaire),
AVG(prix_unitaire) FROM Produits
 Pour retourner le nombre de produits dont le
libellé commence par la lettre 'P'.

SELECT COUNT (*)


FROM Produits
WHERE libelle LIKE 'P%';

S.Nasiri

9
27/11/2024

 Il existe d'autres options pour la commande


SELECT :
◦ GROUP BY
◦ HAVING
◦ ORDER BY

S.Nasiri

 Une des utilisations les plus courantes de la


clause GROUP BY est son association avec une
fonction d'ensemble (le plus souvent COUNT,
pour compter le nombre d'enregistrements
dans chaque groupe).

S.Nasiri

10
27/11/2024

 Si on veut afficher pour chaque étudiant le


nombre d’emprunts qu'il a effectué:

SELECT num_etudiant,COUNT(*)
FROM emprunt
GROUP BY num_etudiant;

S.Nasiri

Exemple
Livre: Emprunt:
Code_livre Titre Code_auteur Num_etud Code_livre Date_emprunt Date_Retour_emprunt
Num_client
1 BD 2 1 3 2018-10-02 2018-10-22
2 Java 8 2 1 2017-02-21 2017-02-24
3 C 11 1 4 2018-11-25 2018-12-01
4 Python 9 3 2 2017-12-11 2017-12-17
… …
2 3 2018-05-12 2018-05-18
1 2 2019-03-25 2019-03-29

Etudiant:
Avec Group by:
Num_etud Nom Prénom Ville Num_etud Nbr_emprunt

1 Elmalki Sara Oujda 1 3


2 Amrani Ali Rabat 2 2

3 Mhamdi Hajar Meknès 3 1


… …

S.Nasiri

11
27/11/2024

 La clause HAVING est utilisé avec la clause


GROUP BY, elle permet d'appliquer une
restriction sur les groupes créés grâce à la
clause GROUP BY.

SELECT ville,COUNT(*)
FROM etudiant
GROUP BY ville HAVING ville IN("fes","meknes" );

S.Nasiri

 La clause ORDER BY suivie des mots clés ASC


ou DESC, permet de Trier les résultats d’une
requête en ordre croissant ou bien
décroissant
 Le classement se fait sur des nombres ou des
chaînes de caractères.

S.Nasiri

12
27/11/2024

 Pour trier les noms des étudiants par ordre


croissant (alphabétique):

SELECT * FROM etudiant


ORDER BY nom ASC;

S.Nasiri

13

Vous aimerez peut-être aussi