mysql 标量子查询和非法子查询
2019-09-16 00:32
1701 查看
#where或having后面:
#标量子查询(单行子查询)
#列子查询(多行子查询)
#行子查询(多行多列)
特点:子查询放在小括号内,一般放在条件的右侧,标量子查询一般配备单行操作符使用
单行操作符:<> >= <= < >
列子查询:一般搭配着多行操作符使用
多行操作符:in、any、some、all
#标量子查询
#案例:谁的工资比ABEL高的员工信息
SELECT * FROM employees WHERE salary>( SELECT salary FROM employees WHERE last_name='Abel' );
#案例:返回job_id与141号员工相同,salary比143号员工多的员工的姓名、job_id和工资
SELECT last_name,job_id,salary FROM employees WHERE job_id=( SELECT job_id FROM employees WHERE employee_id=141 ) AND salary>( SELECT salary FROM employees WHERE employee_id=143 );
#案例:返回工资最少的员工的last_name、job_id和salary
SELECT last_name,job_id,salary FROM employees WHERE salary=( SELECT MIN(salary) FROM employees );
#案例:查询最低工资大于50号部门最低工资的部门id和其最低工资
SELECT department_id,MIN(salary) FROM employees GROUP BY department_id HAVING MIN(salary)>( SELECT MIN(salary) FROM employees WHERE department_id=50 );
#非法使用标量子查询
SELECT department_id,MIN(salary) FROM employees GROUP BY department_id HAVING MIN(salary)>( SELECT salary #单行操作符只能搭配标量子查询,而这是列子查询 FROM employees WHERE department_id=50 );
相关文章推荐
- MySQL 标量子查询
- mysql 非法日期格式查询 case函数用法
- 第15天(就业班) 课程回顾、mysql安装、管理数据库、管理表、增删改数据、查询数据
- mysql 添加用户,授权,远程登陆,远程导入导出数据库,用户及权限查询,新增用户无法登陆,
- MySQL联合查询
- mysql 数据量大,使用月分区,加快速度大数据查询
- MYSQL -- 通过in查询怎样排序问题
- MySQL 分页查询
- mysql学习十之mysql的连接查询,内连接,外连接,全连接,连接的判断关键字
- MySql多列查询
- 【MySQL】MySQL多表查询
- [MySQL]-->查询5天之内过生日的同事中的闰年2月29日问题的解决过程
- 上课笔记第三十一天MySQL并发控制、引擎、用户权限管理、查询缓存
- mysql递归层次查询
- 11/1 面试总结-设置mysql 查询区分大小写
- MySQL查询缓存设置 提高MySQL查询性能
- MySQL心得4--1--数据库查询1
- MySQL索引原理及慢查询优化(转载)
- mysql的去重查询整条记录
- MySQL如何快速定位慢查询的语句