Outils du site

Que la vie serait belle si tout le monde doutait de tout, si personne n'était sûr de rien. On pourrait supprimer du dictionnaire les trois quarts des mots en \"iste\", fasciste et communiste, monarchiste et gauchiste, khomeyniste et papiste. [Pierre Desproges]

60-database:sql

Ceci est une ancienne révision du document !


SQL

Jointures

Soit deux tables A et B :

CasExemple
INNER JOIN:
intersection des A et B (Tous les A et les B qui sont en relation)
Select * FROM A
INNER JOIN B on A.bID = B.id;
LEFT JOIN:
tous les A qu'il aient ou non un B correspondant
Select * FROM A
LEFT JOIN B on A.bID = B.id;
LEFT JOIN exclusif:
tous les A qui n'ont pas un B correspondant
Select * FROM A
LEFT JOIN B on A.bID = B.id
WHERE B.id IS NULL;
RIGHT JOIN:
tous les B qu'il aient ou non un A correspondant
Select * FROM A
RIGHT JOIN B on A.bID = B.id;
RIGHT JOIN exclusif:
tous les B qui n'ont pas un A correspondant
Select * FROM A
RIGHT JOIN B on A.bID = B.id
WHERE A.Bid is null;
FULL JOIN:
L'ensemble des A ET des B
Select * FROM A
FULL JOIN B on A.bID = B.id;
FULL JOIN sans intersection:
L'ensemble des A OU des B
Select * FROM A
FULL JOIN B on A.bID = B.id
WHERE A.bID IS NULL
OR B.ID IS NULL;

Illustrations :

http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html

ou

https://sql.sh/2401-sql-join-infographie

Dernière modification : 2019/03/09 03:19