【发布时间】:2020-11-05 15:39:57
【问题描述】:
假设我有一个查询需要查找购买了 A 书但没有购买 B 书的用户。
典型的 SQL 查询可以是:
select u.user_name
from User u
join Purchase p on u.id=p.user_id
join Book b on p.purchase_item=b.id
where b.name='book_A'
and user_name not in
(
select u.user_name
from User u
join Purchase p on u.id=p.user_id
join Book b on p.purchase_item=b.id
where b.name='book_B'
)
这个不在查询中看起来效率不高,我可以做这个查询的任何增强吗?
【问题讨论】:
标签: sql sql-server-2012 query-performance