leetcode刷题MySQL题解二十

Posted hhh江月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode刷题MySQL题解二十相关的知识,希望对你有一定的参考价值。

leetcode刷题mysql题解二十

题目叙述

表: SalesPerson

±----------------±--------+
| Column Name | Type |
±----------------±--------+
| sales_id | int |
| name | varchar |
| salary | int |
| commission_rate | int |
| hire_date | date |
±----------------±--------+
sales_id 是该表的主键列。
该表的每一行都显示了销售人员的姓名和 ID ,以及他们的工资、佣金率和雇佣日期。

表: Company

±------------±--------+
| Column Name | Type |
±------------±--------+
| com_id | int |
| name | varchar |
| city | varchar |
±------------±--------+
com_id 是该表的主键列。
该表的每一行都表示公司的名称和 ID ,以及公司所在的城市。

表: Orders

±------------±-----+
| Column Name | Type |
±------------±-----+
| order_id | int |
| order_date | date |
| com_id | int |
| sales_id | int |
| amount | int |
±------------±-----+
order_id 是该表的主键列。
com_id 是 Company 表中 com_id 的外键。
sales_id 是来自销售员表 sales_id 的外键。
该表的每一行包含一个订单的信息。这包括公司的 ID 、销售人员的 ID 、订单日期和支付的金额。

编写一个SQL查询,报告没有任何与名为 “RED” 的公司相关的订单的所有销售人员的姓名。

以 任意顺序 返回结果表。

题目解答

# Write your MySQL query statement below
select s0.name as name from SalesPerson s0 where s0.name not in (
select distinct s.name as name from SalesPerson s, Orders o where (s.sales_id = o.sales_id and (o.com_id in (select com_id from Company c0 where c0.name = "RED")))
)

# select com_id from Company c0 where c0.name = "RED"
# select com_id from Company c0 where c0.name <> "RED"


题目运行

以上是关于leetcode刷题MySQL题解二十的主要内容,如果未能解决你的问题,请参考以下文章

leetcode刷题MySQL题解二十四

leetcode刷题MySQL题解二十四

leetcode刷题MySQL题解二十一

leetcode刷题MySQL题解二十一

leetcode刷题MySQL题解二十二

leetcode刷题MySQL题解二十三