联合查询

2019-05-22  本文已影响0人  Hammon

一、含义

union:合并、联合,将多次查询结果合并成一个结果

二、语法

查询语句1
union 【all】
查询语句2
union 【all】

三、意义

1、将一条比较复杂的查询语句拆分成多条语句
2、适用于查询多个表的时候,查询的列基本是一致

四、特点

1、要求多条查询语句的查询列数必须一致
2、要求多条查询语句的查询的各列类型、顺序最好一致
3、union关键字默认去重,如果使用union all 可以包含重复项

应用场景

要查询的结果来自多个表,且多个表之间没有直接的连接关系,但查询的信息一致时候

引入的案例1:查询部门编号>90或邮箱包含a的员工信息

#写法1
SELECT * FROM employees WHERE email LIKE '%a%' OR department_id>90;;
#写法1
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';
#去重写法
SELECT id,cname FROM t_ca WHERE csex='男'
UNION  
SELECT t_id,tname FROM t_ua WHERE tGender='male';
上一篇 下一篇

猜你喜欢

热点阅读