NeoXsysm & DiAboLiK RESEAU Pages 1/6
DUT Info 1er année
Cours 2 Le langage SQL
I. Introduction générale
C’est un langage standard supporté par tous les Système de Gestion de Base de
Données Relationnels (Oracle, DBZ, SQL Serveur, Accers, …)
Le langage permet :
La création de la Base de Donnée (Table, index, Contraintes, …)
Le remplissage de la base (Ajout, modification, Suppression des données)
La consultation
La gestion de la sécurité (création de compte utilisateurs, gestion des accès aux
données, …)
II. La consultation en SQL
On suppose qu’une base de données existes déjà (cf : Tables sur les employés,
département et bâtiment).
N.B. : Une requête SQL peut être écrite sur plusieurs lignes ou sur une seule.
Le compilateur recherche seulement un « ; » qui signifie la fin de l’instruction.
1) Sélection Inconditionnelle
Différentes syntaxes possibles
a) Syntaxe n°1 :
SELECT *
FROM nom_table ;
Affiche toute la table
b) Syntaxe n°2 :
SELECT Colonne1, Colonne2, …
FROM nom_table ;
Seules les colonnes spécifiées sont affichées.
NeoXsysm & DiAboLiK RESEAU Pages 2/6
DUT Info 1er année
c) Syntaxe n°3 :
SELECT liste_expressions
FROM nom_table ;
Une expression peut être :
nom_colonne opérateur constante_ou_nom_colonne
Exemple :
SELECT mat, salaire * 1.05
FROM emp ;
On affiche les salaires augmentés de 5% des employés.
d) Il est possible de renommer certaines colonnes du résultat.
SELECT mat, salaire * 1.05 as Nouv_salaire
FROM emp ;
2) Le Tri
Il est possible de trier le résultat d’une requête sur une ou plusieurs colonnes.
SELECT
FROM
ORDER by Col1 [asc | desc], Col2 [asc | desc], …
Exemple :
SELECT mat, salaire
FROM emp
ORDER by salaire desc ;
a) Sélection de tuples uniques
En SQL, les doublons doivent être supprimés explicitement sinon ils seront présents
dans les résultats.
SELECT distinct Col1, Col2, …
FROM
matricule
Nouv_salaire
NeoXsysm & DiAboLiK RESEAU Pages 3/6
DUT Info 1er année
3) Sélection Conditionnelles
Les données peuvent être choisies à l’aide d’opérateurs de comparaisons, d’opérateurs
logiques, des caractères Jocker, des prédicats prédéfinis.
Syntaxe générale :
SELECT
FROM
WHERE Conditions
Condition
Condition élémentaire : nom_col - Opérateur_comparaison - Constante_ou_col
Opérateurs :
<, >, =, !=, >=, <=
Is NULL (Vérifie si la colonne n’est pas du tout rensignée)
IN (liste de valeur) pour vérifier si la colonne fait parie de la
liste des valeurs.
BETWEEN valeur1 and valeur2
Les conditions élémentaires peuvent être combinées avec OR, AND, NOT.
Exemples :
On peut utiliser des caractères Jocker :
% : Chaîne de caractères quelconque
- : Un et un seul caractère.
Exemple :
SELECT nom, mat, salaire
FROM emp
WHERE nom like(S%) or
nom like(s%)
Condition élémentaire
Condition Complexe
SELECT *
FROM bâtiment
WHERE région != ‘IDF’ ;
SELECT mat, dept, div
FROM emp
WHERE salaire BETWEEN 25000 and 30000 ;
SELECT mat, nom
FROM emp
WHERE mgr is NULL ;
SELECT nom, mat
FROM emp
WHERE dept=’Ventes’ and div in (‘NO’,’SE’)
NeoXsysm & DiAboLiK RESEAU Pages 4/6
DUT Info 1er année
4) Les jointures
a) Jointure sur une colonne
Affichez le code postal des départements Vente.
SELECT postal, bati
FROM dept, batiment
WHERE dept.bati = batiment.bati
And nomdep=’Ventes’
b) Jointure sur plusieurs colonnes
Le nom des employés qui travaillent au dessus du 1er étage.
SELECT nom
FROM emp, dept
WHERE dept.nomdep = emp.dept
And dept.div = emp.div
And etage > 1
c) Auto-Jointure
C’est une jointure entre une table et elle-même.
Exemple :
Affichez les employés dont la différence de salaire avec leur Manager est <
20000.
SELECT emp1.mat, emp1.nom
FROM emp emp1, emp emp2
WHERE emp1.mgr = emp2.nom
And (emp2.salaire emp1.salaire) < 20 000
NeoXsysm & DiAboLiK RESEAU Pages 5/6
DUT Info 1er année
5) Les requêtes complexes
a. Utilisation des fonctions
Les fonctions opèrent sur des colonnes (jamais sur des lignes) de données.
Nom_fonction([distinct] nom_colonne) [as nouvelle_colonne]
SQL fournit cinq fonctions :
COUNT : Nombre d’élements de la coonne
SUM : somme des éléments
AVG : Moyenne
MAX ; le plus grand
MIN : le plus petit
Remarque : ces fonctions ignorent les valeurs nulls.
Elles ne s’utilisent jamais dans la close WHERE.
Exemple :
Salaire moyen des employés.
SELECT AVG(salaire) as salaire_moyen
FROM emp
Plus petit et plus grand salaire.
SELECT Min(salaire), Max(salaire)
FROM emp
Salaire moyen des employés qui gagnent plus de 20 000.
SELECT AVG(salaire)
FROM emp
WHERE salaire > 20000
Salaire_moyen
19 000
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 !