给定 3 个表: salesperson, company, orders。
输出所有表 salesperson 中,没有向公司 'RED' 销售任何东西的销售员。

解释
输入

表: salesperson

+----------+------+--------+-----------------+-----------+
| sales_id | name | salary | commission_rate | hire_date |
+----------+------+--------+-----------------+-----------+
|   1      | John | 100000 |     6           | 4/1/2006  |
|   2      | Amy  | 120000 |     5           | 5/1/2010  |
|   3      | Mark | 65000  |     12          | 12/25/2008|
|   4      | Pam  | 25000  |     25          | 1/1/2005  |
|   5      | Alex | 50000  |     10          | 2/3/2007  |
+----------+------+--------+-----------------+-----------+
表 salesperson 存储了所有销售员的信息。每个销售员都有一个销售员编号 sales_id 和他的名字 name 。

表: company

+---------+--------+------------+
| com_id  |  name  |    city    |
+---------+--------+------------+
|   1     |  RED   |   Boston   |
|   2     | ORANGE |   New York |
|   3     | YELLOW |   Boston   |
|   4     | GREEN  |   Austin   |
+---------+--------+------------+
表 company 存储了所有公司的信息。每个公司都有一个公司编号 com_id 和它的名字 name 。

表: orders

+----------+------------+---------+----------+--------+
| order_id | order_date | com_id  | sales_id | amount |
+----------+------------+---------+----------+--------+
| 1        |   1/1/2014 |    3    |    4     | 100000 |
| 2        |   2/1/2014 |    4    |    5     | 5000   |
| 3        |   3/1/2014 |    1    |    1     | 50000  |
| 4        |   4/1/2014 |    1    |    4     | 25000  |
+----------+----------+---------+----------+--------+
表 orders 存储了所有的销售数据,包括销售员编号 sales_id 和公司编号 com_id 。

输出

+------+
| name | 
+------+
| Amy  | 
| Mark | 
| Alex |
+------+
解释

根据表 orders 中的订单 '3' 和 '4' ,容易看出只有 'John' 和 'Pam' 两个销售员曾经向公司 'RED' 销售过。

所以我们需要输出表 salesperson 中所有其他人的名字。

select name
from salesperson
where sales_id not in(select sales_id from orders where com_id=(select com_id from company where name='RED'));

not in内部:把记录里和RED公司的id有关的个人查出来即可。

然后判断没关系的,不在此名单中。

leetcode607. 销售员(SQL)相关推荐

  1. 【大总结3】leetcode解题总览(算法、剑指offer、SQL、多线程、shell)

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  2. leetcode解题总览

    3/22更新 剑指offer 题目链接 建议大部分题都会做,都能比较快速且准确的写出来.关于做题方式,我的建议是:一道一道刷即可,因为难度一般,不用系统的学习什么知识,遇到实在不会的就跳过即可. 我这 ...

  3. leetcode 数据库题目全部题解

    来源链接:https://leetcode-cn.com/circle/article/vGr1Mc/ 对数据库专题下每道题目,包括会员题目,都做了详细的题解. 题解内容通常有这么几个部分,题目简述. ...

  4. oracle的rank,over partition 使用 和lead

    http://blog.csdn.net/rokii/article/details/6429145 排列(rank ())函数.这些排列函数提供了定义一个集合(使用 PARTITION 子句),然后 ...

  5. java 必备面试必备

    1.JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含 ...

  6. sql 70-229 考试样题(1)

    转: 1.你是一数据公司的数据库开发者,你创建了一个用来存储15个不同高校运动会统计表的数据库.这些信息将被用在50家公司的网页设置上.每个公司的WEB设置以不同的格式来安排和显示这些统计表.你需要组 ...

  7. (Oracle学习笔记) PL/SQL编程语言

    文章目录 一.PL/SQL块结构 二.注释 三.数据类型 Number(p,s) %TYPE Record %ROWTYPE 四.选择语句 If......then If....then.....el ...

  8. (Oracle学习笔记) sql语言

    文章目录 一.sql特点 二.sql语言分类 三.表空间 查询表空间 创建表空间 修改表空间名称 增加表空间大小 减小表空间大小 删除表空间 四.用户管理 查询用户 新建用户 修改用户口令 修改默认表 ...

  9. oracle学习笔记(十八) PL/SQL 游标

    游标 说明 查询结果的光标,相当于java中的一个迭代器,方便遍历操作 可使用的属性 %FOUND SQL语句查询或影响了一行或多行时为 TRUE.如:mycursor%FOUND %NOTFOUND ...

最新文章

  1. Windows7防火墙服务无法启用怎么办
  2. SGU 260.Puzzle (异或高斯消元)
  3. 20165333第一次课堂测试补漏
  4. C++输入函数的应用
  5. 协程asyncio_Python 异步模块 asyncio 中的协程与任务
  6. powershell一行代码批量修改文件名(附命令详解)
  7. Android Metro风格的Launcher开发系列第一篇
  8. font-family:微软雅黑;与font-family:Microsoft YaHei;的区别?
  9. “微信之父”张小龙:微信背后的产品观
  10. Win7系统C盘空间太小怎么扩容【系统天地】
  11. T32 dump 连续寄存器
  12. 友人与友情【诗词13首】
  13. 微信红包助手php,php生成微信红包
  14. 分治算法(汉诺塔游戏)
  15. java的接口简单使用---interface
  16. 外媒评十大创新游戏公司
  17. app端UI的制图规范
  18. 无字母数字webshell总结
  19. 2021最新Android框架体系架构面试题-如何成为一个更好的Android开发者?送大厂面经一份!
  20. 推荐16个下载超酷脚本的热门网站

热门文章

  1. linux内存管理的主要概念是虚拟内存,你知道linux内存管理基础及方法?
  2. C++ Lambda表达式基本用法
  3. [UE4]性能优化指南(程序向)
  4. u-boot环境变量设置
  5. WinCE6.0的EBOOT概要
  6. WinCE 字体平滑 ClearType
  7. python组合函数_Python---函数---参数组合
  8. 【转】修改static控件背景颜色和文字颜色
  9. 【转】2:C#TPL探秘
  10. Vue(MVVM)、React(MVVM)、Angular(MVC)对比