Académique Documents
Professionnel Documents
Culture Documents
Une jointure met en relation deux tables sur la base d’une clause de jointure
(comparaison de colonnes).
Généralement, cette comparaison fait intervenir une clé étrangère d’une table avec une
clé primaire d’une autre table (le modèle relationnel est basé sur les valeurs).
3 Types de jointure
( (
ID INT PRIMARY KEY NOT NULL, CID INT PRIMARY KEY NOT NULL,
INSERT ALL
INTO t (col1, col2, col3) VALUES ('val1_1', 'val1_2', 'val1_3')
INTO t (col1, col2, col3) VALUES ('val2_1', 'val2_2', 'val2_3')
INTO t (col1, col2, col3) VALUES ('val3_1', 'val3_2', 'val3_3')
.
.
.
SELECT 1 FROM DUAL;
SELECT * SELECT *
FROM table1, table2 FROM table1
CROSS JOIN table2
Retourne les enregistrements lorsqu'il y a au moins une ligne dans chaque colonne qui
correspond a la condition.
SELECT *
FROM table1
INNER JOIN table2 ON table1.id =
table2.fk_id
SELECT *
FROM table1
JOIN table2 ON table1.id = table2.fk_id
SELECT *
FROM table1, table 2
WHERE table1.id = table2.fk_id
13 SQL INNER JOIN
Afficher toutes les commandes avec le nom et ville de l'utilisateur correspondant
SELECT *
FROM utilisateur
INNER JOIN commande ON utilisateur.id=
commande.id_utilisateur
SELECT *
FROM utilisateur
JOIN commande ON utilisateur.id= commande.id_utilisateur
SELECT *
FROM utilisateur,commande
WHERE utilisateur.id= commande.id_utilisateur
14 SQL INNER JOIN: Application
15 SQL LEFT JOIN ou LEFT OUTER JOIN
SELECT *
FROM table1
LEFT JOIN table2 ON table1.id = table2.fk_id
SELECT *
FROM table1
LEFT OUTER JOIN table2 ON table1.id = table2.fk_id
16 SQL LEFT JOIN ou LEFT OUTER JOIN
Lister tous les utilisateurs avec leurs commandes et afficher egalement les utilisateurs qui
n'ont pas effectué d'achats
SELECT *
FROM utilisateur
LEFT JOIN commande ON utilisateur.id = commande.id_utilisateur
17 SQL LEFT JOIN : Application
18 SQL LEFT JOIN (if Null)
SELECT *
FROM utilisateur
LEFT JOIN commande ON utilisateur.id = commande.id_utilisateur
WHERE id_utilisateur IS NULL
19 SQL LEFT JOIN (if Null): Application
20 SQL RIGHT JOIN ou RIGHT OUTER
JOIN
SELECT *
FROM table1
RIGHT JOIN table2 ON table1.id = table2.fk_id
SELECT *
FROM utilisateur
RIGHT JOIN commande ON utilisateur.id =commande.id_utilisateur
21 SQL RIGHT JOIN: Application
22 SQL RIGHT JOIN (If Null)
SELECT *
FROM utilisateur
RIGHT JOIN commande ON utilisateur.id = commande.id_utilisateur
WHERE id IS NULL
23 SQL RIGHT JOIN (If Null): Application
24 SQL FULL JOIN ou FULL OUTER JOIN
SELECT *
FROM table1
FULL JOIN table2 ON table1.id = table2.fk_id
SELECT
e.nom,
(m.nom) Nom_pere,
e.ville
FROM
utilisateur e
LEFT JOIN utilisateur m ON
m.id = e.id_pere
ORDER BY
Nom_pere;
31 NATURAL JOIN
)
33 NATURAL JOIN
La table DUAL est une table utilisable par tous (en lecture
seulement) et qui appartient à l’utilisateur
SYS.
un seul enregistrement avec la valeur « X »
seule l’instruction SELECT est permise sur DUAL SELECT
expression FROM DUAL