このステートメントは、複数のテーブルからフィールドを取得するために使用されます。そのためには、結合クエリを使用して複数のテーブルからデータを取得する必要があります。
複数のテーブルから選択する例を見てみましょう。
SELECT orders.order_id, suppliers.name FROM suppliers INNER JOIN orders ON suppliers.supplier_id = orders.supplier_id ORDER BY order_id;
3 つのテーブル、つまり customer1 と customer2 という名前の顧客の 2 つのテーブル、そして 3 番目のテーブルが product テーブルであるとします。
Customer1 テーブル
| Cus_id | 名前1 |
|---|---|
| 1 | ジャック |
| 2 | ジル |
Customer2 テーブル
| Cus_id | 名前2 |
|---|---|
| 1 | 砂の |
| 2 | 金星 |
製品表
| P_id | Cus_id | P_name |
|---|---|---|
| 1 | 1 | ラップトップ |
| 2 | 2 | 電話 |
| 3 | P1 | ペン |
| 4 | P2 | ノート |
複数のテーブルから選択する構文の例:
SELECT p. p_id, p.cus_id, p.p_name, c1.name1, c2.name2 FROM product AS p LEFT JOIN customer1 AS c1 ON p.cus_id=c1.cus_id LEFT JOIN customer2 AS c2 ON p.cus_id = c2.cus_id
| P_id | Cus_id | P_name | P_name | P_name |
|---|---|---|---|---|
| 1 | 1 | ラップトップ | ジャック | ヌル |
| 2 | 2 | 電話 | ジル | ヌル |
| 3 | P1 | ペン | ヌル | 砂の |
| 4 | P2 | ノート | ヌル | 金星 |