进阶9:联合查询
9.1 联合查询介绍
使用关键字 union 将多条查询语句的结果合并成一个结果,应用的好,可以加快查询速度,提升效率。
语法:
查询语句1
union
查询语句2
union
...
应用场景:
要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时
特点:★
1、要求多条查询语句的查询列数是一致的
2、要求多条查询语句的查询的每一列的类型和顺序最好一致
3、union关键字默认去重,如果使用union all 可以包含重复项
9.2 联合查询示例
案例1:查询部门编号>90或邮箱包含a的员工信息
非union实现:
SELECT * FROM employees WHERE email LIKE '%a%' OR department_id>90;
union实现:
SELECT * FROM employees WHERE email LIKE '%a%'
UNION
SELECT * FROM employees WHERE department_id>90;
案例2:查询中国用户中男性的信息以及外国用户中年男性的用户信息
SELECT id,cname FROM t_ca WHERE csex='男'
UNION ALL
SELECT t_id,tname FROM t_ua WHERE tGender='male';