MysqL中的多表联合查询语句是:【select 语句1 union [union 选项] select 语句2 union [union 选项] select 语句n】。多表联合查询结果是将多个select语句的查询结果联合到一起。
【相关学习推荐:mysql教程(视频)】
可以使用union和union all关键字进行合并。
基本语法:
select 语句1
union [union 选项]
select 语句2
union [union 选项]
select 语句n
其中union选项有两个选项可选:all(表示重复也输出);distinct(去重,完全重复的,默认会去重)
两个表的字段一致即可。
例: select id,addrid from addr union all select id,addrid from student
联合查询的意义
1.查询同一张表,但是需求不同
2.多表查询:多张表的结构完全一样,保存的数据(结构)也是一样的
联合查询order by的使用
在联合查询中:order by只能最后使用一个,需要对查询语句用括号才行。
例: ---(错误) select * from student where sex=man order by score union select * from student wherre sex=woman order by score; 这种情况会报错,因为一个句子中不能有两个order by ---(正确但不符合所需) select * from student where sex=man union select * from student wherre sex=woman order by score; 这种情况是正确的,但是合并又没有意义,他会把之前的sex分好的情况给打乱 ---(正确) (select * from student where sex=man order by score limit 10) union (select * from student wherre sex=woman order by score limit 10); 在子语句中使用order by,由于优先级的问题,需要将整个子句用()括起来,且必须和limit结合使用,否则不会生效。
想了解更多编程学习,敬请关注php培训栏目!
原文地址:https://www.jb51.cc/mysql/1209495.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。