寫一條 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
1
3
購買了所有產品(5 和 6)的客戶的 id 是 1 和 3
解決:
select a.customer_id
from (
select customer_id
,product_key
from customer
where product_key = 5
) a
inner join (
select customer_id
,product_key
from customer
where product_key = 6
) b
on a.customer_id = b.customer_id
order by customer_id
;
customer_id
1
3
備註:建表和數據
create table customer(customer_id int,product_key int);
insert into customer values(1, 5);
insert into customer values(2, 6);
insert into customer values(3, 5);
insert into customer values(3, 6);
insert into customer values(1, 6);
create table product(product_key int);
insert into product values(5);
insert into product values(6);