問題文
問題
customers(顧客)と orders(注文)があります。
1件以上の注文をしたことがある顧客の名前を、名前のアルファベット順(昇順)に出力してください。
出力する列は次の1つ、この列名で出してください:
| 列名 | 内容 |
|---|---|
name | 顧客の名前(customers.name) |
ヒントを見る
「注文に登場する顧客ID」の集合は (SELECT customer_id FROM orders) で作れます。
それを WHERE id IN (...) に渡すと、注文のある顧客だけを選べます。
JOIN でも解けますが、同じ顧客が重複しないよう注意しましょう(IN なら重複しません)。
スキーマ
使用データベース:PostgreSQL 16customers4 行
| id | name |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Carol |
| 4 | Dave |
products5 行
| id | name | category | price |
|---|---|---|---|
| 1 | Keyboard | Peripheral | 1200 |
| 2 | Mouse | Peripheral | 800 |
| 3 | Monitor | Display | 1500 |
| 4 | Cable | Accessory | 640 |
| 5 | Webcam | Peripheral | 970 |
orders5 行
| id | customer_id | product_id | amount |
|---|---|---|---|
| 1 | 1 | 1 | 1200 |
| 2 | 2 | 2 | 800 |
| 3 | 1 | 3 | 1500 |
| 4 | 3 | 4 | 640 |
| 5 | 2 | 5 | 970 |
SQL
⌘⏎ / Ctrl+Enter で実行「実行」を押すと、ここにSQLの実行結果が表示されます。