注文したことがある顧客(IN + サブクエリ)

中級

問題文

問題

customers(顧客)と orders(注文)があります。 1件以上の注文をしたことがある顧客の名前を、名前のアルファベット順(昇順)に出力してください。

出力する列は次の1つ、この列名で出してください:

列名内容
name顧客の名前(customers.name
ヒントを見る

「注文に登場する顧客ID」の集合は (SELECT customer_id FROM orders) で作れます。 それを WHERE id IN (...) に渡すと、注文のある顧客だけを選べます。 JOIN でも解けますが、同じ顧客が重複しないよう注意しましょう(IN なら重複しません)。

スキーマ

使用データベース:PostgreSQL 16
customers4
idname
1Alice
2Bob
3Carol
4Dave
products5
idnamecategoryprice
1KeyboardPeripheral1200
2MousePeripheral800
3MonitorDisplay1500
4CableAccessory640
5WebcamPeripheral970
orders5
idcustomer_idproduct_idamount
1111200
222800
3131500
434640
525970

SQL

⌘⏎ / Ctrl+Enter で実行
エディタを読み込み中…

「実行」を押すと、ここにSQLの実行結果が表示されます。