Documentation 13-11-2022
Documentation 13-11-2022
Documentation 13-11-2022
Table de matière
1. INSERT ......................................................................................................................................................................................... 8
2. SELECT ........................................................................................................................................................................................ 9
3. UPDATE ...................................................................................................................................................................................... 9
4. DELETE......................................................................................................................................................................................... 9
Entier avec des valeurs dans la plage signée de -128 à 127 et des valeurs
dans la plage non signée de 0 à 255. SMALLINT(taille)Entier avec des
TINYINT(size)
valeurs dans la plage signée de -32768 à 32767 et des valeurs dans la plage
non signée de 0 à 65535.
Entier avec des valeurs dans la plage signée de -8388608 à 8388607 et des
MEDIUMINT(size)
valeurs dans la plage non signée de 0 à 16777215.
Entier avec des valeurs dans la plage signée de 9223372036854770000 à
BIGINT(size) 9223372036854770000 et des valeurs dans la plage non signée de 0 à
18446744073709551615.
Les valeurs booléennes où 0 est considéré comme FALSE et les valeurs non
BOOLEAN
nulles sont considérées comme TRUE.
(p) Le nombre à virgule flottante est stocké. Si le paramètre de précision est
FLOAT défini entre 0 et 24, le type est FLOAT(), sinon s'il est compris entre 25 et
53, le type de données est DOUBLE()
4. Clauses en SQL
Les clauses sont des fonctions intégrées disponibles dans SQL et sont utilisées pour filtrer et
analyser rapidement les données permettant à l'utilisateur d'extraire efficacement les
informations requises de la base de données.
Le tableau ci-dessous répertorie certaines des clauses SQL importantes et leur description avec
des exemples :
a. Opérateurs arithmétiques
Operateur Description
+ Ajout
- Soustraction
* Multiplication
/ Division
% Modulo
b. Opérateurs au niveau du bit
Les opérateurs au niveau du bit sont utilisés pour effectuer des opérations de manipulation
de bits dans SQL. Le tableau ci-dessous présente la liste des opérateurs au niveau du bit
disponibles en SQL :
Operateur Description
| OR
& AND
^ XOR
c. Opérateurs logiques
Operateur Description
Renvoie Vrai si toutes les sous-requêtes remplissent
ALL
la condition donnée.
AND Renvoie Vrai si toutes les conditions s'avèrent vraies
Vrai si l'une des sous-requêtes répond à la condition
ANY
donnée
Vrai si l'opérande se situe dans la plage des
BETWEEN
conditions
Vrai si la sous-requête renvoie un ou plusieurs
EXISTS
enregistrements
Renvoie Vrai si les opérandes d'au moins un des
IN
opérandes d'une liste d'expressions donnée
Renvoie Vrai si l'opérande et un motif donné
LIKE
correspondent.
Affiche un enregistrement si l'ensemble des
NOT
conditions données est FAUX
OR Renvoie Vrai si l'une des conditions s'avère être Vrai
Renvoie Vrai si l'une des sous-requêtes répond à la
SOME
condition donnée.
NB : si nous cherchons que si la valeur d’une colonne est « NULL », nous utilisons l’opérateur « IS
NULL ». Exemple SELECT * FROM Table WHERE column1 IS NULL
6. Clés en SQL
Une base de données se compose de plusieurs tables et ces tables et leur contenu sont liés
les uns aux autres par certaines relations/conditions. Pour identifier chaque ligne de ces tables
de manière unique, nous utilisons des clés SQL. Une clé SQL peut être une colonne unique ou un
groupe de colonnes utilisées pour identifier de manière unique les lignes d'une table. Les clés
SQL sont un moyen de s'assurer qu'aucune ligne n'aura de valeurs en double. Ils sont également
un moyen d'établir des relations entre plusieurs tables dans une base de données.
a. Clé primaire
• Une seule clé primaire pour une table. (Un cas particulier est une clé composite, qui peut
être formée par la composition de 2 colonnes ou plus, et agir comme une seule clé
candidate.)
• La colonne de clé primaire ne peut pas contenir de valeurs NULL.
• La clé primaire doit être unique pour chaque ligne.
Syntaxe SQL :
Les clés étrangères sont des clés qui référencent les clés primaires d'une autre table. Ils
établissent une relation entre 2 tables et les relient.
Syntaxe SQL :
• Create: INSERT
• Read: SELECT
• Update: UPDATE
• Delete: DELETE
1. INSERT
INSERT : Pour insérer de nouvelles données dans une base de données, nous utilisons
l'instruction INSERT INTO.
Syntaxe SQL :
Exemple :
2. SELECT
SELECT : Nous utilisons l'instruction select pour effectuer l'opération de lecture (R) de
CRUD.
Syntaxe SQL :
3. UPDATE
UPDATE : est le composant "U" de CRUD. La commande Mettre à jour est utilisée pour
mettre à jour le contenu de colonnes spécifiques de lignes spécifiques.
Syntaxe SQL :
UPDATE nom_table
SET column1=value1,column2=value2,... WHERE conditions...;
Exemple :
UPDATE students
SET phone = '+1234-9876'
WHERE ID = 2;
4. DELETE
La commande DELETE est utilisée pour supprimer ou supprimer certaines lignes d'une
table. C'est le composant "D" de CRUD.
Syntaxe SQL :
DELETE FROM nom_table
WHERE condition1, condition2, ...;
Exemple :
DELETE FROM student
WHERE class = 11;
La commande TRUNCATE permet de supprimer toutes les données d’une table sans
supprimer la table en elle-même. En d’autres mots, cela permet de purger la table. Cette
instruction diffère de la commande DROP qui a pour but de supprimer les données ainsi que la
table qui les contient
Syntaxe SQL :
TRUNCATE TABLE nom_table
Exemple :
Exemple :
Exemple :
Attention : Si la colonne est liée à une ou plusieurs contraintes, il faut supprimer les contraintes
avant de supprimer la colonne.
Exemple :
EXEC sp_rename 'student.prenm', 'prenom';
Exemple :
ALTER TABLE client
ALTER COLUMN nom varchar(400);
Exemple :
ALTER TABLE students
ADD CONSTRAINT PK_students PRIMARY KEY (ID);
Exemple :
ALTER TABLE student
ADD CONSTRAINT FK_student Foreign KEY (Classe)
references Classe(ClasseID)
• INNER JOIN : jointure interne pour retourner les enregistrements quand la condition
est vraie dans les 2 tables. C’est l’une des jointures les plus communes.
• CROSS JOIN : jointure croisée permettant de faire le produit cartésien de 2 tables. En
d’autres mots, permet de joindre chaque ligne d’une table avec chaque ligne d’une
seconde table. Attention, le nombre de résultats est en général très élevé.
• LEFT JOIN (ou LEFT OUTER JOIN) : jointure externe pour retourner tous les
enregistrements de la table de gauche (LEFT = gauche) même si la condition n’est
pas vérifiée dans l’autre table.
• RIGHT JOIN (ou RIGHT OUTER JOIN) : jointure externe pour retourner tous les
enregistrements de la table de droite (RIGHT = droite) même si la condition n’est pas
vérifiée dans l’autre table.
• FULL JOIN (ou FULL OUTER JOIN) : jointure externe pour retourner les résultats
quand la condition est vraie dans au moins une des 2 tables.
• SELF JOIN : permet d’effectuer une jointure d’une table avec elle-même comme si
c’était une autre table.
• NATURAL JOIN : jointure naturelle entre 2 tables s’il y a au moins une colonne qui
porte le même nom entre les 2 tables SQL
• UNION JOIN : jointure d’union
2. Exemples de Jointures
a. Inner join
SELECT *
FROM A
INNER JOIN B ON A.KEY=B.KEY
b. Left join
SELECT *
FROM A
LEFT JOIN B ON A.KEY=B.KEY
c. Right join
SELECT *
FROM A
RIGHT JOIN B ON A.KEY=B.KEY
d. Full join
SELECT *
FROM A
FULL JOIN B ON A.KEY=B.KEY
e. FULL JOIN (sans intersection)
SELECT *
FROM A
FULL JOIN B ON A.KEY=B.KEY
WHERE A.KEY IS NULL or B.KEY IS NULL
L’exemple ci-dessous est un exemple typique d’une sous-requête qui retourne un seul
résultat à la requête principale.
Syntaxe SQL :
SELECT *
FROM nom_table
WHERE nom_colonne = (
SELECT TOP (1) nom_colonne
FROM nom_table2
)
Cet exemple montre une requête interne (celle sur “table2”) qui renvoi une seule valeur. La
requête externe quant à elle, va chercher les résultats de “table” et filtre les résultats à partir de
la valeur retournée par la requête interne.
Exemple :
SELECT Nom,Prenom
FROM Acteur
WHERE NOM = (
SELECT TOP (1) Nom_acteur FROM ROLE
WHERE Nom_Role='Mr White'
)
A noter : Il est possible d’utiliser n’importe quel opérateur d’égalité tel que =, >, <, >=, <= ou
<>.
Une requête imbriquée peut également retournée une colonne entière. Dès lors, la
requête externe peut utiliser la commande « IN » pour filtrer les lignes qui possèdent une des
valeurs retournées par la requête interne. L’exemple ci-dessous met en évidence un tel cas de
figure :
SELECT *
FROM nom_table
WHERE nom_colonne IN (
SELECT nom_colonne
FROM nom_table2
WHERE condition
)
Exemple :
SELECT Nom_acteur, ID_film
FROM Role
WHERE ID_film IN (
SELECT ID_film FROM Film
WHERE Nom_Realisateur='Woo'
)