MySQL基础-10DQL语言(数据查询语言)-进阶9联合查询

Posted Lz_蚂蚱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础-10DQL语言(数据查询语言)-进阶9联合查询相关的知识,希望对你有一定的参考价值。

声明:此mysql基础学习源自尚硅谷。(推荐)b站官方链接:https://www.bilibili.com/video/BV1xW411u7ax?p=1

进阶9:联合查询

union 联合 合并:将多条查询语句的结果合并成一个结果   /\'ju: ni ən/

语法:
查询语句1
union
查询语句2
union
...


应用场景:
要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时(查询的列一致,比如都查性别)
1、将一条比较复杂的查询语句拆分成多条语句
2、适用于查询多个表的时候,查询的列基本是一致

特点:★
1、要求多条查询语句的查询列数是一致的!
2、要求多条查询语句的查询的每一列的类型和顺序最好一致
3、union关键字默认去重,如果使用union all 可以包含重复项

引入的案例:查询部门编号>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; # 此处加分号是结尾的整体联合语句

案例:查询中国用户中男性的信息以及外国用户中年男性的用户信息

SELECT id,cname FROM t_ca WHERE csex=\'男\'
UNION ALL
SELECT t_id,tname FROM t_ua WHERE tGender=\'male\';

原因:union关键字默认去重,如果使用union all 可以包含重复项

以上是关于MySQL基础-10DQL语言(数据查询语言)-进阶9联合查询的主要内容,如果未能解决你的问题,请参考以下文章

Mysql基础3-数据操作语言DML-数据查询语言DQL

MySQL基础-06DQL语言(数据查询语言)-进阶5分组查询

MySQL_基础_DQL数据查询语言

MySQL基础-08DQL语言(数据查询语言)-进阶7子查询

MySQL基础-05DQL语言(数据查询语言)-进阶4常见函数

MySQL基础-09DQL语言(数据查询语言)-进阶8分页查询