• 技术文章 >数据库 >mysql教程

    mysql查询结果怎么合并

    青灯夜游青灯夜游2022-01-24 18:01:30原创5289

    在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查询结果怎么合并的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:mysql 合并查询结果
    上一篇:怎么查询mysql的字符集 下一篇:mysql怎么将查询结果赋给变量
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 聊聊mysql怎么开启远程访问• 一起聊聊Mycat实现 Mysql 集群读写分离• 怎么提高mysql的查询速度• mysql存储过程中怎么给变量赋值• 怎么查询mysql的字符集
    1/1

    PHP中文网