一张表通过别名方式,实现自连接
UNION实现联合查询:通过union关键字将两个查询进行链接,直接合并操作。
注意:多张表的字段类型和字段书目必须相同
all不去重直接合并
//将薪资低于5000的员工和年龄大于50的员工全部查询出来
select * from emp where xinzi < 5000
union
select * from emp where age > 50
子查询
类别:
- 标量子查询(子查询结果为单个值)
- 列子查询(子查询结果为一列)
- 列子查询使用到的关键字
- all : 子查询中的结果都要符合
- in : 父查询条件要在子查询条件中进行挑选,多选一
- not in : 不在制定范围内
- any : 在子列表范围内有一个满足即可
- some : 与any等同 - 行子查询(子查询结果为一行)
//查询与张姓人的薪资及直属领导相同的员工信息
select * from emp where (salary,manager_id) = (select salary,manager_id from emp where emp_name like '张%')
- 表子查询(子查询结果为多行多列)
sql : select * from table1 where column = (select id from table2)