0% ont trouvé ce document utile (0 vote)
32 vues4 pages

Introduction à la requête SELECT en SQL

Transféré par

yahyaouiimen
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)
32 vues4 pages

Introduction à la requête SELECT en SQL

Transféré par

yahyaouiimen
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

TP 7: L'ORDRE SELECT

OBJECTIFS :
Apprendre la recherche, restriction et tri des données avec la requête SELECT.

Partie I : SELECT basique


- La commande SELECT permet la recherche d’information dans une base de
données
Syntaxe:

SELECT *|[DISTINCT] colonne|expression [alias], …


FROM table;

- Le caractère * après SELECT indique que toutes les colonnes de la table doivent
être prises en compte.
- L'option DISTINCT permet de ne conserver que des lignes distinctes, en
éliminant les doublons.
- colonne|expression: permet de préciser les noms des colonnes.
- alias: renomme l’expression (nom valable pendant la durée de la requête).
- La clause FROM : permet de spécifier la (ou les) table (s) à interroger.
Application:
1. Afficher le contenu des différentes tables:
SELECT * FROM Client;
....
2. Afficher quelques colonnes:
SELECT codC, nomC
FROM Client;
3. Opérateurs arithmétique (+,-,*,/):
SELECT codP, lib, Pu*QteS
FROM Produit;
4. Définition des alias:
SELECT nomC AS "Nom du client"
FROM Client;
SELECT nomC "Nom du client"
FROM Client;
SELECT codP, lib, Pu*QteS AS Total
FROM Produit;
SELECT codP, lib, Pu*QteS Total
FROM Produit;

1
5. Les lignes dupliqués:
SELECT codC FROM Facture;
Suppression des doublons:
SELECT DISTINCT codC
FROM Facture;
6. Opérateur de concaténation ||:
SELECT codC || nomC As "code et nom"
FROM Client;
7. Chaine de caractère latérale:
SELECT nomC , ' habite A ' ,adresseC
FROM Client;
SELECT nomC || ' habite A ' || adresseC As "Localisation"
FROM Client;

Partie II: Restriction et tri des données


II.1. L’interrogation avec prédicats (conditions) :
Limiter les lignes retournées en utilisant la clause WHERE

SELECT *|[DISTINCT] colonne|expression [alias], …


FROM table;
[WHERE condition(s)];
1. WHERE : indique qu’une ligne doit valider une condition avant d’être
retournée.
condition : peut être composé de nom de colonne, expression, des valeurs
constantes et des opérateurs de comparaison.
condition : est composée de colonnes, d’expressions, de constantes liées deux
à deux entre des opérateurs :
– de comparaison (>, =, <, >=, <=, <>) ;
– logiques (NOT, AND ou OR) ;
– intégrés (BETWEEN, IN, LIKE, IS NULL).
Application:
1. Afficher les factures du client numéro 1250:
SELECT *
FROM Facture
WHERE codC=1250;
2. Afficher le numéro et la date des factures du client numéro 1250:
SELECT numF, datF
FROM Facture
WHERE codC=1250;

2
3. Afficher les clients qui habitent à 'Tunis':
SELECT *
FROM Client
WHERE AdresseC='Tunis';

NB: la comparaison des chaines de caractères est sensible à la casse ('Tunis' est
différente de 'TUNIS':
4. Afficher les factures faites le ' 16/07/99'.
SELECT *
FROM Facture
WHERE DatF='16/07/99';

II.2. Between, like, in et is null :


1. Between : extraire des lignes en se basant sur un intervalle de valeurs.
Afficher les clients qui ont un crédit entre 50 et 250'.

SELECT *
FROM Client
WHERE creditC >=50 AND creditC<=200;
Ou bien:
SELECT *
FROM Client
WHERE creditC BETWEEN 50 AND 200;
2. In: extraire des lignes en se basant sur une liste de valeurs.
Afficher les produits dont la quantité en stock est égale à 20, 40 ou bien 50.

SELECT *
FROM Produit
WHERE QteS=20 OR QteS=40 OR QteS=50;
Ou bien:
SELECT *
FROM Produit
WHERE QteS IN (20,40,50);
3. LIKE: rechercher les valeurs qui vérifie une condition textuelle. La condition de
recherche peut contenir des caractères ou des entiers :
% indique zéro ou plusieurs caractères
_ indique un seul caractère
Afficher les clients dont la deuxième lettre des noms est 'a'.

SELECT *
FROM Client
WHERE nomC LIKE ('_a%');
4. IS [NOT] NULL: rechercher les valeurs dont certains champs contiennent des
valeurs nulles.
Afficher les clients qui n'ont pas une adresse.
SELECT *
FROM Client
WHERE AdresseC IS NULL;

3
II.3. tri des données: Order by
Trier les lignes retournées avec ORDER BY
Syntaxe:

SELECT expr FROM table


[WHERE condition(s)]
[ORDER BY {column, expr} [ASC|DESC]];

On peut spécifier une expression, un alias, un nom ou une position de colonne dans
la clause ORDER BY
Par défaut l’ordre de tri est ascendant.
Pour renverser l’ordre de tri spécifier le mot clé DESC après le nom de colonne dans
la clause ORDER BY
Exemple :
Rechercher la liste des produits en triant le résultat avec le plus chère :
Select *
from Produit
Order by PU DESC;
Rechercher le prix total des produits en triant le résultat par le montant le plus
faible

Select codP, Lib, PU *Qtes AS "total"


from Produit
Order by total;
Application :
Formuler les requêtes suivantes en SQL :
1. Afficher toutes les informations sur toutes les commandes,
2. Afficher toutes les informations sur les clients de ‘Tunis’ et dont le code est
un multiple de 1000,
3. Quel est le code du client qui a lancé la commande numéro 1,
4. Quels sont les produits dont la quantité en stock est comprise entre 500 est
700 et possédant un seuil?
5. Quels sont les clients dont le nom se termine par "ed" ?
6. Quels sont les Produit dont la troisième lettre du libellé est "p" ?
7. Quels sont les factures faites en 1999 ?
8. Donner les codes des clients qui ont commandées des commandes ?
9. Quels sont les clients qui ont lancé une commande après le 20/03/1998 ?
10. Trier les produits sur leurs libellés et ce dans l'ordre croissant.
11. Afficher tous les produits avec un ordre croissant pour les prix unitaires et
décroissant pour la quantité en stock.
12.Afficher les facture suivant la manière suivante:
La Facture "NumF" du client "codC", total = "MontF"

Vous aimerez peut-être aussi