一、联合查询
1、基础知识
- 关键字为 union :将多条查询语句的结果合并成一个结果
- 使用 union 关键字时,会将查询的结果自动去重
- 若不想去重则应将在 union 关键字后加上 All 关键字,为 union all
2、语法为:
查询语句1
union
查询语句2
union
. . . . .
3、应用场景
- 当查询的内容来自不同的表中,且相互之间没有连接信息,但查询结果一致时,此时使用union最为合适
- 多条查询语句的查询结果的列数必须相同
- 要求多条查询语句的查询每一列的类型和顺序要一致
二、应用实例
1、查询部门编号大于90 或者邮箱中包含字符 a 的员工信息
# 方法一:一般的方法
SELECT *
FROM employees
WHERE department_id>90
OR email LIKE '%a%'
# 方法二:联合查询
SELECT * FROM employees WHERE department_id>90
UNION
SELECT * FROM employees WHERE email LIKE '%a%';
# 注:查询字符串中是否包含某一字符时,常用 like
2、查询中国用户表中男性信息,及外国用户表中男性信息
SELECT cName,cId,cSex FROM cTable WHERE cSex='man'
UNION
SELECT fName,fId,fSex FROM fTable WHERE fSex='man';