union 联查_联合查询: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子句的orderby优化。

例子:

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语句的列名而定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值