Royaume du Maroc اململكة املغربية
Université Mohammed Premier جامعة محمد األول
Ecole Nationale de Commerce et de Gestion Oujda املدرسة الوطنية للتجارة و التسييروجدة
Pr. Yassine AZIZI
[Link]@[Link]
École Nationale de Commerce et de Gestion (ENCGO)
Université Mohammed Premier
2025/2026
ESEF-OUJDA Pr. Yassine AZIZI ENCG OUJDA, S7 1
Plan
Langage SQL et Requêtes
ENCG OUJDA
ESEF-OUJDA Pr. AZIZI 2
Chapitre III : Langage SQL et Requêtes
Plan
La démarche de conception
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 3
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL est un langage standardisé, implémenté par tous les SGBDR , qui permet,
indépendamment de la plate-forme technologique et de façon déclarative, de définir
le modèle de données, de le contrôler et enfin de le manipuler.
SQL (Structured Query Language) est le langage standard utilisé pour interagir
avec les bases de données relationnelles.
Il permet de :
Créer et modifier la structure des bases de données
Insérer, mettre à jour, supprimer et consulter les données
Gérer les droits d’accès et les utilisateurs
Les systèmes les plus connus : MySQL, PostgreSQL, Oracle, SQL Server, SQLite…
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 4
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL
1. Identificateur
•SQL utilise des identificateurs pour désigner les objets qu'il manipule : utilisateurs, tables,
colonnes, index, fonctions, etc
•Un identificateur est un mot formé d'au plus 30 caractères, commençant obligatoirement
par une lettre de l'alphabet.
•Les caractères suivants peuvent être une lettre, un chiffre, ou l'un des symboles # $ et _.
•SQL ne fait pas la différence entre les lettres minuscules et majuscules
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 5
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
2. Type des données
•Les données sont séparées en plusieurs catégories qu'on appelle communément un type de
données.
• Dans une table de base de données, chaque colonne possède un seul type de données.
Chacun de ces types de données possède des caractéristiques propres comme par exemple sa
taille dans la mémoire,
•types pour les chaînes de caractères
•types numériques
• types temporels (date, heure, · · ·)
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 6
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
2. Type des données
Chaînes de caractères:
CHAR (taille)
VARCHAR (taille)
Nombres:
NUMBER (chiffres,decimales)
INT
FLOAT
DOUBLE
Date :
DATE
TIMESTAMP
INTERVAL
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 7
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
Création d’un base des données
•La création d’une base de données en SQL est possible en ligne de commande.
Même si les systèmes de gestion de base de données (SGBD) sont souvent utilisés
pour créer une base, il convient de connaître la commande à utiliser, qui est très
simple.
•Pour créer une base de données qui sera appelé “GC” il suffit d’utiliser la requête
suivante qui est très simple:
CREATE DATABASE CAC;
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 8
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL : Création d’un base des données
CREATE DATABASE
Syntaxe: CREATE DATABASE <nom>
Effets: Crée une base de donnée vide et prête à l’emploi
ALTER DATABASE
Syntaxe: ALTER DATABASE <nom>
Effets: Permet d’effectuer des opérations de maintenance
DROP DATABASE
Syntaxe: DROP DATABASE <nom>
Effets: Efface la base de données entière
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 9
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL : Création d’une table
Client (NumCl, NomCl, AdrCl)
Commande (NumC, MontantC, #NumCl)
SQL ??????
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 10
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL : Création d’un base des données
La commande CREATE TABLE permet de créer une table en SQL.
Un tableau est une entité qui est contenu dans une base de données pour stocker des
données ordonnées dans des colonnes.
La création d’une table sert à définir les colonnes et le type de données qui seront
contenus dans chacun des colonne (entier, chaîne de caractères, date, valeur binaire …).
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 11
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL : Création d’un base des données
La syntaxe générale pour créer une table est la suivante :
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 12
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL : Création d’un base des données
Pour chaque colonne, il est également possible de
définir des options telles que (liste non-exhaustive):
NOT NULL : empêche d’enregistrer une valeur nulle
pour une colonne.
PRIMARY KEY : indiquer si cette colonne est
considérée comme clé primaire pour un index.
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 13
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL : Création d’un base des données
Exemple : :Client (NumCl, NomCl, Date_naissance, AdrCl)
CREATE TABLE Client (
NumCl VARCHAR(100) PRIMARY KEY NOT NULL,
nomCl VARCHAR(100),
Date_naissance DATE,
AdreCl VARCHAR(100)
)
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 14
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
SQL : Création d’un base des données
Client (NumCl, NomCl, AdrCl)
Commande (NumC, MontantC, #NumCl)
CREATE TABLE Commande (
NumC int PRIMARY KEY NOT NULL ,
MontantC double,
NumCl VARCHAR(100),
CONSTRAINT fk_client
FOREIGN KEY (NumCl)
REFERENCES Client (NumCl)
ENCG)OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 15
Chapitre III : Langage SQL et Requêtes
Plan
Exercice 1
Soient une base des données nommée « Gestion » contient deux tables Employés et Départements
suivantes :
Départements (NDept, Spécialité, Lieu)
Employés (Num, Nom, Fonction, Embauche, Salaire, Commission, #NDept)
1). Donner la commande pour créer cette base de données « Gestion ».
2). Ecrire le code SQL qui permet de créer les tables Employés et Départements, en précisant les
clés primaires et la clé étrangère.
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 16
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
Exercice 2
Ecrire le code SQL qui permet de Créer une table de nom PERSONNEL et comportant les
attributs qui suivent. Choisissez les types de données les plus appropriés pour chacun des
attributs et nommez des contraintes si nécessaire. Déterminez les longueurs des attributs
selon vos besoins.
Attributs Contraintes
Id Clé, peut prendre jusqu'à 5 caractères
Prénom Obligatoire
Nom Obligatoire
Titre Peut prendre jusqu'à 15 caractères
Salaire Numérique
Département 10 caractères.
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 17
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
L’insertion de données
L’insertion de données dans une table s’effectue à l’aide de la commande INSERT INTO.
Cette commande permet au choix d’inclure une seule ligne à la base existante ou plusieurs lignes d’un coup.
Pour insérer des données dans une base, il y a 2 syntaxes principales :
Insérer une ligne en indiquant les informations pour chaque colonne existante (en respectant
l’ordre)
Insérer une ligne en spécifiant les colonnes que vous souhaiter compléter. Il est possible d’insérer
une ligne renseignant seulement une partie des colonnes
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 18
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
L’insertion de données
Insérer une ligne en spécifiant toutes les colonnes
La syntaxe pour remplir une ligne avec cette méthode est la suivante :
Exemple :
INSERT INTO Client VALUES (08954365, ‘ Alami’, ‘Tanger’);
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 19
Chapitre III : Langage SQL et Requêtes
Plan
Langage SQL :
L’insertion de données
Insérer une ligne en spécifiant des les colonnes spécifiques è alimenter :
Exemple 2 :
INSERT INTO Client (ID, NOM) VALUES (08954365, ‘ Alami’);
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 20
Chapitre III : Langage SQL et Requêtes
Plan
Exemple
La commande ALTER TABLE permet de modifier la structure d’une table existante dans une base
de données.
Elle sert à :
• Ajouter ou supprimer une colonne.
• Modifier le type ou les contraintes d’une colonne.
• Ajouter ou supprimer des clés primaires, étrangères, ou index
Ajouter une colonne
ALTER TABLE nom_table
ADD nom_colonne type_colonne [contrainte];
Exemple
ALTER TABLE etudiants
ADD email VARCHAR(50);
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 21
Chapitre III : Langage SQL et Requêtes
Plan
Les Possibilités de l'Ordre SQL SELECT
Sélection Projection
Table 1 Table 1
Jointure
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 22
Chapitre III : Langage SQL et Requêtes
Plan
Ordre SELECT Élémentaire
SELECT [DISTINCT] {*, column [alias],...}
FROM table;
• SELECT indique quelles colonnes rapporter
• FROM indique dans quelle table rechercher
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 23
Chapitre III : Langage SQL et Requêtes
Plan
Écriture des Ordres SQL
• Les ordres SQL peuvent être écrits indifféremment en majuscules et/ou
minuscules.
• Les ordres SQL peuvent être écrits sur plusieurs lignes.
• Les mots-clés ne doivent pas être abrégés ni scindés sur deux lignes
différentes.
• Les clauses sont généralement placées sur des lignes distinctes.
• Les tabulations et indentations permettent une meilleure lisibilité.
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 24
Chapitre III : Langage SQL et Requêtes
Plan
Sélection de Toutes
les Colonnes
SQL> SELECT * FROM dept;
DEPTNO DNAME LOC
--------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 25
Chapitre III : Langage SQL et Requêtes
Plan
Sélection d’Une ou Plusieurs Colonnes Spécifiques
SQL> SELECT deptno, loc
FROM dept;
DEPTNO LOC
--------- -------------
10 NEW YORK
20 DALLAS
30 CHICAGO
40 BOSTON
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 26
Chapitre III : Langage SQL et Requêtes
Plan
Utilisation de la Clause WHERE
SQL> SELECT ename, job, deptno
FROM emp
WHERE job=‘IT';
ENAME JOB DEPTNO
---------- --------- ---------
ALAMI IT 30
KIRAM IT 20
ADAMS IT 20
ZIANI IT 10
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 27
Chapitre III : Langage SQL et Requêtes
Plan
Exemple
SQL> SELECT ename, job, deptno
FROM emp
WHERE ename = ‘ALAMI';
• Les constantes chaînes de caractères et dates doivent être placées entre
simples quotes.
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 28
Chapitre III : Langage SQL et Requêtes
Plan
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 29
Chapitre III : Langage SQL et Requêtes
Plan
Utilisation des Opérateurs de Comparaison
SQL> SELECT ename, sal, comm
FROM emp
WHERE sal<=comm;
ENAME SAL COMM
---------- --------- ---------
MARTIN 1250 1400
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 30
Chapitre III : Langage SQL et Requêtes
Plan
Autres Opérateurs de Comparaison
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 31
Chapitre III : Langage SQL et Requêtes
Plan
Utilisation de l’Opérateur BETWEEN
• BETWEEN permet de tester l'appartenance à une
fourchette de valeurs.
SQL> SELECT ename, sal
2 FROM emp
3 WHERE sal BETWEEN 1000 AND 1500;
ENAME SAL
---------- --------- Limite Limite
MARTIN 1250 inférieure supérieure
TURNER 1500
WARD 1250
ADAMS 1100
MILLER 1300
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 32
Chapitre III : Langage SQL et Requêtes
Plan
Utilisation de l’Opérateur AND
Avec AND, les deux conditions doivent être VRAIES.
SQL> SELECT empno, ename, job, sal
2 FROM emp
3 WHERE sal>=11000
4 AND job=‘IT';
EMPNO ENAME JOB SAL
--------- ---------- --------- ---------
7876 ALAMI IT 11000
7934 BENHFID IT 13000
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 33
Chapitre III : Langage SQL et Requêtes
Plan
Utilisation de l’Opérateur OR
Avec OR, l'une ou l'autre des deux conditions doit être VRAIE.
SQL>
SELECT empno, ename, job, sal
FROM emp
WHERE sal>=1100
OR job=‘Manager';
ENCG OUJDA
ESEF-OUJDA Pr. Yassine AZIZI 34