Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| 60-database:sql [2019/03/09 03:11] – Roge | 60-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|Select * FROM A\\ INNER JOIN B on A.bID = B.id;|intersection des A et B (Tous les A et les B qui sont en relation)| | + | |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|Select * FROM A LEFT JOIN B on A.bID = B.id;|tous les A qu'il aient ou non un B correspondant| | + | |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|Select * FROM A LEFT JOIN B on A.bID = B.id WHERE B.id IS NULL;|tous les A qu'il aient QUI n'ont pas un B correspondant| | + | |LEFT (OUTER) |
| - | |RIGHT JOIN|Select * FROM A RIGHT JOIN B on A.bID = B.id;|tous les B qu'il aient ou non un A correspondant| | + | |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|Select * FROM A RIGHT JOIN B on A.bID = B.id WHERE A.id is null;|tous les B qu'il aient QUI n'ont pas un A correspondant| | + | |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) |
| Illustrations : | Illustrations : | ||
| [[http:// | [[http:// | ||
| - | |||
| - | ou | ||
| [[https:// | [[https:// | ||
| + | ===== 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 | ||
| + | </ | ||
| + | |||
| + | ===== A voir ===== | ||
| + | |||
| + | https:// | ||