mysql 数据操作 多表查询 子查询 带IN关键字的子查询
1 带IN关键字的子查询
#查询平均年龄在25岁以上的部门名
关键点部门名
以查询员工表的dep_id的结果 当作另外一条sql语句查询条件使用
in (sql语句)
mysql> select dep_id from employee group by dep_id having avg(age) >25 ;
+--------+
| dep_id |
+--------+
| 201 |
| 202 |
+--------+
2 rows in set (0.00 sec)
mysql> select name from department where id in (select dep_id from employee group by dep_id having avg(age) >25) ;
+--------------+
| name |
+--------------+
| 人力资源 |
| 销售 |
+--------------+
2 rows in set (0.00 sec)
#查看技术部员工姓名
mysql> select name from employee where dep_id in (select id from department where name = "技术") ;
+-----------+
| name |
+-----------+
| mike |
| liwenzhou |
+-----------+
2 rows in set (0.00 sec)
#查看不足1人的部门名
查询部门id 这里的部门人数至少有1人以上
一个id 对应一个员工 有得id对应多个员工
mysql> select dep_id from employee ;
+--------+
| dep_id |
+--------+
| 200 |
| 201 |
| 201 |
| 202 |
| 200 |
| 204 |
+--------+
6 rows in set (0.00 sec)
拿到是至少有一个人部门id 取反就是不足1人的部门id
mysql> select distinct dep_id from employee ;
+--------+
| dep_id |
+--------+
| 200 |
| 201 |
| 202 |
| 204 |
+--------+
4 rows in set (0.00 sec)
取反
mysql> select name from department where id not in(select distinct dep_id from employee) ;
+--------+
| name |
+--------+
| 运营 |
+--------+
1 row in set (0.00 sec)
mysql 数据操作 多表查询 子查询 带IN关键字的子查询的更多相关文章
- mysql 数据操作 多表查询 目录
mysql 数据操作 多表查询 准备 多表连接查询介绍 mysql 数据操作 多表查询 多表连接查询 笛卡尔积 mysql 数据操作 多表查询 多表连接查询 内连接 mysql 数据操作 多表查询 多 ...
- mysql 数据操作 单表查询 目录
mysql 数据操作 单表查询 mysql 数据操作 单表查询 简单查询 避免重复DISTINCT mysql 数据操作 单表查询 通过四则运算查询 mysql 数据操作 单表查询 concat()函 ...
- mysql 数据操作 单表查询 where 约束 目录
mysql 数据操作 单表查询 where约束 between and or mysql 数据操作 单表查询 where约束 is null in mysql 数据操作 单表查询 where约束 li ...
- mysql 数据操作 单表查询 group by 分组 目录
mysql 数据操作 单表查询 group by 介绍 mysql 数据操作 单表查询 group by 聚合函数 mysql 数据操作 单表查询 group by 聚合函数 没有group by情况 ...
- mysql 数据操作 多表查询 子查询 介绍
子查询就是: 把一条sql语句放在一个括号里,当做另外一条sql语句查询条件使用 拿到这个结果以后 当做下一个sql语句查询条件mysql 数据操作 子查询 #1:子查询是将一个查询语句嵌套在另一个 ...
- mysql 数据操作 多表查询 子查询 带EXISTS关键字的子查询
带EXISTS关键字的子查询 EXISTS关字键字表示存在. EXISTS 判断某个sql语句的有没有查到结果 有就返回真 true 否则返回假 False 如果条件成立 返回另外一条sql语句的返 ...
- mysql 数据操作 多表查询 子查询 带比较运算符的子查询
带比较运算符的子查询 #比较运算符:=.!=.>.>=.<.<=.<> #查询大于所有人平均年龄的员工名与年龄 思路 先拿到所有人的平均年龄然后 再用另外一条sql ...
- mysql 数据操作 单表查询 where约束 like 模糊匹配
mysql> select * from employee; +----+------------+--------+-----+------------+-----------+------- ...
- mysql 数据操作 单表查询 where约束 is null in
需求找出年龄是 81 或者 73 或者 28 mysql ; +----+-----------+--------+-----+------------+-----------+----------- ...
随机推荐
- Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:25:5-27:41 to override.
记录下来少走些坑吧 一:不管用 tools:replace="android:icon,android:theme" xmlns:tools="http://schema ...
- Form表单验证神器: BootstrapValidator
前言:做Web开发的我们,表单验证是再常见不过的需求了.友好的错误提示能增加用户体验.博主搜索bootstrap表单验证,搜到的结果大部分都是文中的主题:bootstrapvalidator.今天就来 ...
- 【Java知识点专项练习】之 volatile 关键字的功能
volatile是java中的一个类型修饰符.它是被设计用来修饰被不同线程访问和修改的变量.如果不加入volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器 失去大量优化的机会. ...
- HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP错误解决方法
在树莓派上运行在windows上正确的程序, 报错: HIGHGUI ERROR: V4L/V4L2: VIDIOC_S_CROP OpenCV Error: Assertion failed (s ...
- shell编程(一)
迷迷糊糊中发现了一个学习shell的非常好的教程,从头到尾看了一下,等看完全忘记了,没办法只能记录下来,教程网址http://c.biancheng.net/cpp/view/6994.html 以前 ...
- ATM技术基本原理
1 术语.定义和缩略语 1.1 术语.定义 术语/定义 说 明 ATM层 位于B-ISDN/ATM网络协议参考模型的第二层,完成交换.路由选择和信元复用功能.ATM层的基本处理单位是信元. AA ...
- delphi 10 Seattle 第一个Android程序
delphi 10 Seattle 第一个Android程序 1.打开Delphi RAD Studio Seattle,如下图 2.选择black application 点击OK 3. ...
- Sencha Touch 实战开发培训 视频教程 第二期 第二节
2014.4.9晚上8:00分开课. 本节课耗时接近1个半小时,需要一点耐心来观看. 本期培训一共八节,前两节免费,后面的课程需要付费才可以观看. 本节内容: 了解Container: 了解card布 ...
- oracle数据库用户加锁和解锁
oracle数据库安装好之后,scott之类的用户默认情况下是被锁住的,无法使用scott用户登录数据库.使用有alter user数据库权限的用户登陆,角色选sysdba,执行以下命令: 解锁命令: ...
- 使用nginx做反代时遇到413 Request Entity Too Large的解决方法
在使用nginx做反向代理的时候,被反代的系统在上传文件的时候遇到413 错误 :Request Entity Too Large 原因是nginx限制了上传文件的大小,在nginx中可以配置最大允许 ...