MySQL 联合查询

2019-11-12  本文已影响0人  村东头老骥

MySQL 联合查询

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

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 | 教师 |
+----------+--------+------+
上一篇下一篇

猜你喜欢

热点阅读