首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL :如何应用4个表的“除法操作”?

SQL :如何应用4个表的“除法操作”?
EN

Stack Overflow用户
提问于 2019-09-11 22:18:58
回答 1查看 147关注 0票数 0

我想尝试获取“出售所有图书的所有员工姓名”():

我试过这个:

代码语言:javascript
复制
SELECT title FROM books l1
WHERE l1.id NOT IN (
    SELECT l2.id
    FROM books l2, purchases p
    WHERE (l2.id, p.id) NOT IN (
        SELECT ip.book_id, ip.purchase_id FROM purchase_items ip
    )
)

我需要使用SQL编写,因为这个查询将在MySQL、Postgres、Server和Oracle上运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-11 22:49:51

你的问题有点不清楚。假设我的理解是正确的,你想知道哪些员工卖出了每本书,不管是相同的购买还是不同的购买。这里有一种使用聚合的方法:

代码语言:javascript
复制
select e.id, e.name
from employees e
  join purchases p on e.id = p.employee_id
  join purchases_items pi on p.id = pi.purchase_id
group by e.id, e.name
having count(distinct pi.book_id) = (select count(id) from books)
  • 样本Fiddle演示
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57897500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档