视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql联合查询实例分享
2020-11-09 08:43:26 责编:小采
文档



对比:
 

默认情况下,order by子句和limit子句只能对整个联合之后的结果进行排序和数量限定:

select... union select... order by XXX limit m,n;

例:

实现“全外连接”:

select * f rom 表1 left join 表2 on 条件unionselect * f rom 表1 right join 表2 on 条件

例:

结果为:

基本概念:将两个具有相同字段数量的查询语句的结果,以“上下堆叠”的方式,合并为一个查询结果。

可见:

  • 两个select语句的查询结果的“字段数”必须一致;

  • 通常,也应该让两个查询语句的字段类型具有一致性;

  • 也可以联合更多的查询结果;

  • 语法形式:

    select 语句1
    union 【all | distinct】
    select 语句2;

    注意:

  • 此联合查询语句,默认会“自动消除重复行”,即默认是distinct

  • 如果想要将所有数据都显示(允许重复行),就使用all

  • 细节:

    应该将这个联合查询的结果理解为最终也是一个“表格数据”,且默认使用第一个select语句中的字段名;


    对比:
     

    默认情况下,order by子句和limit子句只能对整个联合之后的结果进行排序和数量限定:

    select... union select... order by XXX limit m,n;

    例:

    实现“全外连接”:

    select * f rom 表1 left join 表2 on 条件unionselect * f rom 表1 right join 表2 on 条件

    例:

    结果为:

    下载本文
    显示全文
    专题