Outils du site

L'humour est une langue étrangère pour certains. Il faudrait ajouter des sous-titres. [Bedos ?]

60-database:sql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
60-database:sql [2019/03/09 03:14] Roge60-database:sql [2019/11/29 11:16] (Version actuelle) – [Group by ... Having] Roge
Ligne 5: Ligne 5:
 Soit deux tables A et B : Soit deux tables A et B :
  
-^Cas^Exemple^Signification^+^Cas^Exemple^
 |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;| |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 (OUTER) 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 qu'il aient QUI n'ont pas un B correspondant|Select * FROM A \\LEFT JOIN B on A.bID = B.id \\ WHERE B.id IS NULL;| +|LEFT (OUTER) 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 (OUTER) 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 qu'il aient QUI n'ont pas un A correspondant|Select * FROM A \\ RIGHT JOIN B on A.bID = B.id \\ WHERE A.id is null;| +|RIGHT (OUTER) 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: \\ | |  +|FULL (OUTER) JOIN: \\ L'ensemble des A ET des B |Select * FROM A\\ FULL JOIN B on A.bID = B.id; |  
-|FULL JOIN sans intersection: \\ | | +|FULL (OUTER) JOIN sans intersection: \\ L'ensemble des A OU (exclusif) des B |Select * FROM A\\ FULL JOIN B on A.bID = B.id \\ WHERE A.bID IS NULL \\ OR B.ID IS NULL; 
  
 Illustrations : Illustrations :
  
 [[http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html|http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html]] [[http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html|http://cartman34.fr/informatique/sgbd/differences-entre-inner-left-right-et-outer-join-en-sql.html]]
- 
-ou 
  
 [[https://sql.sh/2401-sql-join-infographie|https://sql.sh/2401-sql-join-infographie]] [[https://sql.sh/2401-sql-join-infographie|https://sql.sh/2401-sql-join-infographie]]
  
 +===== Group by ... Having =====
 +
 +Exemple : Chaque élément de A peut être en relation avec N éléments de B
 +
 +<code bash>
 +Select A.id, count(b.id) FROM A 
 +INNER JOIN B on A.bID = B.id
 +WHERE ...
 +GROUP BY A.id
 +HAVING ... condition 
 +</code>
 +
 +===== A voir =====
 +
 +https://www.slideshare.net/MarkusWinand/modern-sql
  
Dernière modification : 2019/03/09 03:14