目录
文章涉及到的MySQL、SQLyog的配置安装,请参考 MySQL配置+SQLyog安装教程
UNION
含义
将多条查询语句的结果合并成一个结果
语法
查询语句1
union
查询语句2
union
...
应用场景
要查询的结果来自于多个表,且多个表没有直接的连接关系,但是查询的信息一致时
特点
- 要求多条查询语句的查询列表数是一致的
- 要求多条查询语句的查询的每一列的类型和顺序最好是一致的(但是反了也不报错)
- union关键字默认去重,如果使用union all 可以包含重复项
#案例1:查询部门编号大于90或者邮箱中包含a的人物信息
#以前
SELECT *
FROM employees
WHERE email LIKE '%a%'
OR department_id > 90;
#联合查询
SELECT *
FROM employees
WHERE email LIKE '%a%'
UNION
SELECT *
FROM employees
WHERE department_id>90;
#案例2:查询所有中国用户中性别为男的信息,然后以及外国用户中男性的用户信息
SELECT id, cname, csex
FROM t_ca
WHERE csex='男'
UNION ALL #不去重,否则union会去重
SELECT t_id, tName, tGender
FROM t_ua
WHERE tGender='male';