Académique Documents
Professionnel Documents
Culture Documents
SQL (Structured Querry Language) dans sa version 2 de 1992 est un langage structuré
regroupant un ensemble d'instructions permettant la création, la structuration et
l'interrogation des bases de données relationnelles.
SQL offre trois catégories de langages :
- Langage de Manipulation de Données (LMD) : Offre les instructions pour ajouter,
supprimer et modifier des lignes à savoir : SELECT, INSERT, UPDATE et DELETE.
- Langage de Description de Données (LDD) : Offre les instructions permettant la
création de la base de données : Base de données, Tables, Attributs, Clés primaires, Clés
étrangères, index... à savoir : CREATE, ALTER et DROP
- Langage de Contrôle de Données (LCD) : Offre les instructions permettant de définir
des permissions pour les utilisateurs pour gérer les droits d’accès, à savoir : GRANT,
REVOKE et DENY
clause where:
Pour exprimer une condition on utilise la clause WHERE.
Les conditions peuvent être exprimée à l'aide des opérateurs =, >, >= ,<, <=, Between, in,
like, is Null, exists, any, all, union, intersect, minus et peuvent être combinées à l'aide des
opérateurs logiques : and, or et not
- Between : Permet de tester l'appartenance de la valeur d'une colonne à un intervalle
1
Ce qui est équivalent à :
Where salaireDeBase >= 5000 and salaireDeBase <= 10000
- Like : Permet une comparaison entre une chaîne de caractères et les valeurs d'une
colonne. Elle utilise deux caractères spéciaux % et _
% : signifie plusieurs caractères
_ : signifie un seul caractère
Exemples :
1) Les employés avec un nom qui commence par A
- Any : Compare une colonne avec une liste de valeurs fournies par une sous
requête. Si une des valeurs de la liste rend la condition vraie alors la ligne est
sélectionnée
- All : compare une colonne avec une liste de valeurs fournies par une sous
requête. Si toutes les valeurs de la liste rendent la condition vraie alors la ligne
est sélectionnée
- Exists : Est évalué à vrai si la sous-requête qui le suit donne au moins une ligne en
retour
- Union : Permet de réaliser l'union entre deux ensembles( tables)
(Select...From...Where...)
Union
(Select...From...Where...)
- Intersect : Permet de réaliser l'intersection entre deux ensembles (tables)
- Minus : Permet de réaliser la différence entre deux ensembles (tables)
clause Order by : permet d’exprimer des critères de tri
2
clause Group by : Effectue des regroupements sur certains attributs. En général, il
est utilisé pour obtenir des statistiques et calculs en exploitant les fonctions offertes
par SQL : Sum (Somme), Min(Minimum), Max(Maximum), Count(Nombre),
Avg(Moyenne).
- Remarque : pour exprimer des conditions sur les éléments de regroupement après
group by on utilise : HAVING
Jointure interne :
La jointure interne est la fusion de 2 tables qui ont une colonne commune avec une
condition d’égalité de cette colonne.
Pour écrire une jointure interne entre deux tables Table1 et Table2 on utilise :
Exemples :
Soient les 2 tables suivantes :
DEPARTEMENT (NumDept, nomDept, ville)
EMPLOYE (NumEmp, nomEmp, adresse, dateEmbauche, NumDept*)
3
Select NumDept
From EMPLOYE
Where NumEmp = 4
4- Afficher les noms des employés et les noms de leurs départements où ils travaillent.
Select nomEmp, nomDept
From EMPLOYE, DEPARTEMENT
Where EMPLOYE.NumD= DEPARTEMENT.NumD
On peut insérer des valeurs dans toutes les colonnes de la table en écrivant :
Exemple :
Un autre moyen d’insérer des lignes dans une table est d'utiliser une instruction select qui
prend des informations à partir d'autres tables pour les insérer dans une table voulue
Exemple:
4
b- Suppression de ligne :
c- Modification de ligne:
Update Nom_Table
[where Condition]
5
II. Langage de Description de Données (LDD) :
Création de bases de données
1- Création de tables
Pour créer une table, on déclare les champs de la table puis on déclare les contraintes en
spécifiant sur quelle colonne porte chaque contrainte.
[Constraint Nom_Contrainte ]
Exemple :
Remarque :
• Il est possible de ne pas attribuer des noms à certaines contraintes en éliminant le mot clé Constraint mais à
ce moment-là il ne sera pas possible d'éliminer cette contrainte par code
SQL de la table
6
- La cohérence entre deux colonnes de la table
Pour créer une colonne numéro auto incrémentable, on utilise IDENTITY, et le type
de colonne doit être dans ce cas de type numérique : int, bigint, smallint, tinyint,
decimal ou numeric
Exemple :
Enum int IDENTITY (1,1)
Dans ce cas, le champ Enum va démarrer avec la valeur 1 et sera incrémenté de 1 à chaque
instruction INSERT
Conseil pratique : Pour créer les tables d'une base de données, on commence toujours par
créer les tables ne contenant pas de clés étrangères puis on passe à la création des tables où
les clés primaires de ces tables ont glissé comme clé étrangère car il n'est pas possible de créer
un lien avec des tables qui n'existent pas.
2- Modification de tables
3- Suppression de tables
Remarque :
Dans des bases de données relationnelles, on aura généralement besoin d’appliquer des
contraintes en cascades c’est-à-dire : accepter la modification et réaliser un certain nombre
7
d’opérations en parallèle sur l’ensemble des tables concernées soit en supprimant des lignes,
soit en les modifiant.