Customer?表:
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| customer_id | int ? ? |
| product_key | int ? ? |
+-------------+---------+
product_key 是 Product 表的外鍵。
Product?表:
+-------------+---------+
| Column Name | Type ? ?|
+-------------+---------+
| product_key | int ? ? |
+-------------+---------+
product_key 是這張表的主鍵。
?
寫一條 SQL 查詢語句,從 Customer 表中查詢購買了 Product 表中所有產品的客戶的 id。
示例:
Customer 表:
+-------------+-------------+
| customer_id | product_key |
+-------------+-------------+
| 1 ? ? ? ? ? | 5 ? ? ? ? ? |
| 2 ? ? ? ? ? | 6 ? ? ? ? ? |
| 3 ? ? ? ? ? | 5 ? ? ? ? ? |
| 3 ? ? ? ? ? | 6 ? ? ? ? ? |
| 1 ? ? ? ? ? | 6 ? ? ? ? ? |
+-------------+-------------+
Product 表:
+-------------+
| product_key |
+-------------+
| 5 ? ? ? ? ? |
| 6 ? ? ? ? ? |
+-------------+
Result 表:
+-------------+
| customer_id |
+-------------+
| 1 ? ? ? ? ? |
| 3 ? ? ? ? ? |
+-------------+
購買了所有產品(5 和 6)的客戶的 id 是 1 和 3 。
分組,可以查詢個數。然后和Product總數相等即可。
select customer_id
from Customer
group by customer_id
having count(distinct product_key)=(select count(distinct product_key) from Product)
?