文章目录
前言
mysql学习-day03子查询
1.定义
一条sql语句嵌套一个或者多个sql语句
1.1 把查询一的结果集(多行多列)当做表 进行查询
select id,last_name,salary,rownum
from s_emp
where id<15
select id,last_Name
from ()
where id > 4
1.2 把查询一的结果集(多行一列)当做当前表的限定条件
select salary
from s_emp
where salry > 1000
select id,last_name,salary
from s_emp
where salary in ()
1.3 把查询一的结果集(一行一列)当做当前表的限定条件
select max(salary)
from s_emp
select id,last_name
from s_emp
where salary = ();
2. 格式
select *
from (查询一) 查询一别名
select *
from 表
where id = (查询一)
3.什么情况下使用
比较符中参数不确定的情况
4.子查询出现的地方
- from 子句
- where 子句
- having
exists子查询
语法:
from 表A
where [not] exists(select语句 from 表B)
作用: select语句中是否存在合法的数据,EXISTS用于检查子查询是否至少会返回一行数据,
该子查询实际上并不返回任何数据,而是返回值True或False
EXISTS 指定一个子查询,检测 行 的存在。
功能:
可以在exists()内部的select语句where条件中使用 表A 中的列
总结
以上就是mysql学习day03啦,希望能够帮到大家