mysql基础_联合查询
一、 概述
将多条查询语句的结果合并成一个结果
1. 语法
查询语句1
union
查询语句2
union
...
2. 应用场景
- 要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时
3. 特点
- 要求多条查询语句的查询列数是一致的!
- 要求多条查询语句的查询的每一列的类型和顺序最好一致
- union关键字默认去重,如果使用union all 可以包含重复项
二、 案例
1. 案例1:查询部门编号>90或邮箱包含a的员工信息
# 使用 OR
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. 案例2:查询中国用户中男性的信息以及外国用户中年男性的用户信息
- 查询结果来自多个表
SELECT id,cname
FROM t_ca
WHERE csex='男'
UNION ALL ## UNION 默认去重 ,使用 UNION ALL 不去重
SELECT t_id,tname
FROM t_ua
WHERE tGender='male';