OSDN Git Service

Regular updates
[twpd/master.git] / sql-join.md
1 ---
2 title: SQL joins
3 layout: 2017/sheet
4 category: Databases
5 updated: 2018-12-06
6 weight: -1
7 ---
8
9 ### Example
10
11 ```
12 SELECT * FROM order_items \
13   LEFT OUTER JOIN orders \
14   ON order_items.order_id = orders.id
15 ```
16 {: .-wrap}
17
18 Joins are typically added to `SELECT` statements to add more columns and records.
19
20 ### Diagram
21
22 ```
23 SELECT * FROM `A` INNER JOIN `B`
24 ```
25 {: .-setup}
26
27 ```
28 ┌────────┐
29 │ A  ┌───┼────┐
30 │    │ ∩ │    │
31 └────┼───┘  B │
32      └────────┘
33 ```
34 {: .-box-chars.-setup}
35
36 | Join             | What            |
37 | ----             | ----            |
38 | Inner join       | `∩`             |
39 | Left outer join  | `A` + `∩`       |
40 | Right outer join | `∩` + `B`       |
41 | Full outer join  | `A` + `∩` + `B` |