SQL练习---607.销售员

题目

在这里插入图片描述
在这里插入图片描述

分析

首先要得到销售人员的姓名那么只能查销售人员表,没有与RED公司相关订单,人与订单之间,所以再与订单表连接,因为销售表的范围是比较大的,所以为了保留那些没有进行订单的员工姓名应该采用左外连接,又要求是RED公司,所以再与公司表连接,虽然公司表范围肯定大,但我们只想得到RED公司所以内连接即可。

题解

直接上去写了select SP.name from SalesPerson SP left join Orders o on SP.sales_id=o.sales_id inner join Company c on o.com_id=c.com_id where c.name="RED"
这个肯定是错误的,原因是因为这个查出来的是交易过的名单,参考题解发现可以使用子查询,查出做过订单的员工id再通过in
真正的答案
select SP.name from SalesPerson SP where sales_id not in ( select sales_id from Orders o inner join Company c on o.com_id=c.com_id where c.name="RED" )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值