美文网首页
MySQL 联合查询

MySQL 联合查询

作者: 村东头老骥 | 来源:发表于2019-11-12 12:40 被阅读0次

MySQL 联合查询

概念 : 将多个查询结果放置到一个结果集的方法

  • union 去除重复行
  • union all 保留重复行
select * from studio where cl_id=1     -- 查询学生表中的班级编号的为1的学生
    union all   -- 保留重复行
select * from studio where ho_id=1     -- 查询宿舍编号为1的学生   
    union all
select * from studio where st_age>=30  -- 查询学生年龄大于30的学生

-- 返回结果
+-------+----------+--------+--------+------+--------------+-------+-------+----------------------------------+
| st_id | st_name  | st_sex | st_age | z_id | st_tel       | cl_id | ho_id | st_remark                        |
+-------+----------+--------+--------+------+--------------+-------+-------+----------------------------------+
|     5 | 刘小琴   |      0 |     18 |    9 | 1383838438   |     1 |     1 | 无语                             |
|     9 | 陈小春   |      1 |     28 |    8 | 1383838438   |     1 |     1 | 不爱说话,有忧郁症               |
|     3 | 陆小凤   |      1 |     65 |    7 | 028-90909501 |     3 |     1 | 除了游戏,基本上是没有什么特长了 |
|     5 | 刘小琴   |      0 |     18 |    9 | 1383838438   |     1 |     1 | 无语                             |
|     9 | 陈小春   |      1 |     28 |    8 | 1383838438   |     1 |     1 | 不爱说话,有忧郁症               |
|     2 | 林黛玉   |      0 |     45 |    8 | 13557571240  |     2 |     2 | 光晓得谈恋爱                     |
|     3 | 陆小凤   |      1 |     65 |    7 | 028-90909501 |     3 |     1 | 除了游戏,基本上是没有什么特长了 |
|     4 | 西门吹水 |      1 |     67 |    9 | 1383838438   |     4 |     4 | 果然是个灌水狂人                 |
|     6 | 黄平     |      1 |     31 |   12 | 1383838438   |     2 |     4 | 学习认真,就是不太玩笑           |
+-------+----------+--------+--------+------+--------------+-------+-------+----------------------------------+

注意事项

  1. 多个结果集的列数量一定要是相同的。
  2. 多个结果集中对应的列的数据类型必须是可以自动转换,比如tinyint类型可以隐式转换为int类型

查询不同表的列数据返回同一个结果集

select st_name,st_sex,'学生' as '角色' from studio
union
select te_name , te_sex,'教师' as '角色' from teacher
order by '角色'

-- 输出结果
+----------+--------+------+
| st_name  | st_sex | 角色 |
+----------+--------+------+
| 林黛玉   |      0 | 学生 |
| 陆小凤   |      1 | 学生 |
| 西门吹水 |      1 | 学生 |
| 刘小琴   |      0 | 学生 |
| 黄平     |      1 | 学生 |
| 陈小春   |      1 | 学生 |
| 陈涛     |      1 | 教师 |
| 付贵     |      1 | 教师 |
| 佳伦     |      1 | 教师 |
| 谌燕     |      0 | 教师 |
| 李华全   |      1 | 教师 |
+----------+--------+------+

相关文章

  • mysql 联合查询

    表 A 表 是主表 有130w 数据。 B 表 是从表 70w 数据 需求 查询从表 中 2017年全年的 一个商...

  • MySQL联合查询

    联合查询的关键字是union,连接查询的关键字是join,而在MySQL手册中,join常常被翻译成"联合查询",...

  • MySQL 联合查询

    MySQL 联合查询 概念 : 将多个查询结果放置到一个结果集的方法 union 去除重复行 uni...

  • mysql联合查询

    进阶9:联合查询 /*union 联合 合并:将多条查询语句的结果合并成一个结果 语法:查询语句1union查询语...

  • MySQL UNION 联合查询

    语法 ALL全部数据 DISTINCT去重数据 例子

  • mysql笔记-联合查询

    联合查询 一、UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果...

  • mysql 联合查询 union

  • day38-mysql、redis

    day13-mysql、redis 1. 多表联合查询 查询没有被购买过的商品select goods.name ...

  • MySQL联合查询语法内联、左联、右联、全联

    MySQL联合查询效率较高,以下例子来说明联合查询(内联、左联、右联、全联)的好处: T1表结构(用户名,密码) ...

  • mysql联合查询、连接查询和子查询

    一、联合(union)查询 含义:联合查询是指将2个或2个以上的字段数量相同的查询结果,"纵向堆叠"后合并为一个结...

网友评论

      本文标题:MySQL 联合查询

      本文链接:https://www.haomeiwen.com/subject/mgvfictx.html