mysql查询结果怎么合并

MysqL中,可以利用UNION操作符来合并查询结果,该操作符用于将两个以上的SELECT语句的查询结果合并到一起,然后去除掉相同的记录;语法“查询语句1 union 查询语句2 union ....”。

本教程操作环境:windows7系统、MysqL8版本、Dell G3电脑。

MysqL中,可以利用UNION操作符来合并查询结果。

UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

语法:

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

应用场景:

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

特点:★

1、要求多条查询语句的查询列数是一致的!

2、要求多条查询语句的查询的每一列的类型和顺序最好一致

3、union关键字认去重,如果使用union all 可以包含重复项

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

下面我就直接po截图和代码

#联合查询

#
SELECT * FROM employees WHERE department_id > 90 OR email LIKE '%a%';
#使用UNION联合查询
SELECT * FROM employees WHERE department_id > 90
UNION
SELECT * FROM employees WHERE email LIKE '%a%';

#
USE test;
#案例:查询中国用户中女性的信息以及外国用户中女性的用户信息
SELECT c.`c_id`, c.`c_name`, c.`c_sex` FROM china c WHERE c_sex = '女'
UNION
SELECT f.`f_id`, f.`f_name`, f.`f_sex` FROM foreignUser f WHERE f_sex = 'female';


#china表和foreignUser表中都有66号韩梅梅(UNION会去重)
SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女'
UNION
SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female';

#china表和foreignUser表中都有66号韩梅梅(UNION ALL 不会去重)
SELECT c.`c_id`, c.`c_name` FROM china c WHERE c_sex = '女'
UNION ALL
SELECT f.`f_id`, f.`f_name` FROM foreignUser f WHERE f_sex = 'female';

使用UNION

使用UNION ALL

【相关推荐:mysql视频教程

相关文章

MySQL 死锁 是指两个或多个事务互相等待对方持有的锁,从而导...
在MySQL中,InnoDB引擎通过Next-Key Locking技术来解决幻读问...
在数据库事务管理中,Undo Log 和 Redo Log 是两种关键日志,...
case when概述 sql语句中的case语句与高级语言中的switch语句...
其实很简单,只是为了忘记,做个记录,用的时候方便。 不管是...
1.进入服务,找到mysql服务,在属性里找到mysql的安装路径 2...