zoukankan      html  css  js  c++  java
  • 联合查询:union

    1、联合查询:union

      1.1 作用:将多条select语句的结果,合并到一起,称之为联合操作。

      1.2 语法:( ) union ( );

    例子:(select name from info_order)
          union
          (select math from info_order);

      1.3 运用场景:获取数据的条件,出现逻辑冲突,或者很难在一个逻辑内表示,就可以拆 分为多个逻辑,分别实现,最后将结果合并在一起。

    例子:

    2、union all使用环境:

    需求分析:获取info_stu表中chinese字段中按照升序的值,同时,获取math字段中按照降序的值。

    【重点】在使用union时,如果出现重复的值。会自动去重,除非使用union all显示所有记录,既( ) union all ( );

    例子:

    3、子语句结果的排序:  

        解释:就是联合查找的结果进行的排序。

        3.1:将子语句包裹子括号内;
        3.2:子语句的order by,只有在order by配合limit时才生效。原因是:union在做子语句时,会对没有limit子句的order by优化。
    例子:

    4、对所有结果进行统一排序:
        只需要在 最后一个select语句后,增加相应的排序规则即可

    【提示】子语句的括号不是必须的,既可以去掉:select name,chinese from info_stu   union all   select name,math from info_stu order by math desc;
    但不建议这样使用,最好加上括号。

    【注意】1)规定,多个select语句的检索到的字段数量,必须一致。

                  2)更加严格的是,数据类型上应该也有要求一致:在MySQL中做实验时会发现不会报错;原因是:MySQL内部会做类型转换处理,要求是能够转换成功。

    5、检索结果中列名称问题:

        由第一条select语句的列名而定。

  • 相关阅读:
    21-MySQL-Ubuntu-快速回到SQL语句的行首和行末
    2- SQL语句的强化
    1-数据准备
    20-MySQL-Ubuntu-数据表的查询-子查询(九)
    19-MySQL-Ubuntu-数据表的查询-自关联(八)
    18-MySQL-Ubuntu-数据表的查询-连接(七)
    17-MySQL-Ubuntu-数据表的查询-分页(六)
    16-MySQL-Ubuntu-数据表的查询-分组与聚合(五)
    15-MySQL-Ubuntu-数据表的查询-聚合函数(四)
    14-MySQL-Ubuntu-数据表的查询-范围查询(三)
  • 原文地址:https://www.cnblogs.com/python-wen/p/10088245.html
Copyright © 2011-2022 走看看