美文网首页MySQL
《MySql笔记》Select语句多表查询

《MySql笔记》Select语句多表查询

作者: 小叮当de琉璃球 | 来源:发表于2018-10-12 12:28 被阅读2次

1.1 实验内容

SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELECT 语句多表查询。

1.2 实验知识点

  • 交叉连接(cross join)
  • 内连接(inner join)
  • 外连接(left join ,right join)
  • 联合查询(union ,union all)
  • 全连接(full join )

1.3 示例表


1.4 多表连接查询

  • 交叉查询:cross join

上图中只是单纯的将两张表使用同一条select语句查询出来,并没有添加任何额外的过滤条件,得出的为两张表的“笛卡尔积”
下图为交叉连接的官方建议的标准写法:

由上图可知两种查询结果相同。
  • 内连接: inner join


上图中第一种方式为标准的内连接查询方式

  • 外连接:left join,right join

“外连接”分为两种,“左外连接”和“右外连接”,我们只需要弄明白其中任何一个,就能明白另外一个是什么意思。

左外连接(left outer join )简称左连接(left join)

对比内连接查询



通过对比,发现在同样的连接条件下“左外连接”查询出的数据多一些,多出的一行由a表中a_id为1的记录和一条“空记录”组成。
可是在b表中并不存在b_id为2的记录啊,为什么不符合连接查询条件的记录也会出现在查询结果中呢?这就是左连接的特性。

左外连接“左侧的表”中所有的记录都会被展示出来,左侧表中符合条件的记录将会与由表中符合条件的记录相互组合连接,左侧中不符合的记录将会与右侧表中的“空记录”进行连接

简而言之: a表所有显示,如果b中无对应关系,则值为null.

右连接与左连接同理

b表所有显示,如果a中无对应关系,则值为null.

  • 联合查询(union ,union all)

简单理解成把多个查询语句的查询结果集中在一起显示,语法示例如下:



从图中可以看出,默认情况下,结果集以关键字union前的a表为准,若需以b表为准,更换相应语句顺序即可。


注:

  1. 当使用union 连接两个查询语句时,两个语句查询出的字段数量必须相同,否则无法使用union进行联合查询
  2. 使用union时,重复的数据会被合并为一条

我们能不能让重复的数据展示出来?答案是肯定的,使用 union all 解决该问题。

相关文章

  • 《MySql笔记》Select语句多表查询

    1.1 实验内容 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细...

  • 2018-03-20

    MYSQL查询语句 MYSQL复杂操作语句 MYSQL多表查询方法 函数部分

  • 子查询与连接2

    连接 MySQL在SELECT语句、多表更新、多表删除语句中支持JOIN操作。 数据表参照 tab...

  • 4、多表查询

    Mysql 多表查询 Select * from tablea inner join tableb on tab...

  • MySQL笔记

    MySQL笔记 MySQL分页查询 limit的用法 limit子句可以被用于强制select语句返回指定的记录数...

  • MySQL数据库知识和基本命令摘录

    ——————MySQL基本语句的笔记和截图便于日后复习 varchar 字符串 查询表 select*FROM ...

  • MySQL实战5 子查询

    MySQL实战 目录 子查询介绍:出现在其他语句中的select语句,被包裹的select语句就是子查询或查询包裹...

  • MySQL的简单查询语句

    MySQL的简单查询语句 查询: 一:查询所有数据 select * from Info 查所有数据select ...

  • 后端基础SQL—高级查询与子查询

    MySQL的基础查询语句 基本查询:SELECT * FROM 表; 字段查询:SELECT 字段1,字段2 FR...

  • 【MySQL必知必会】第17章:组合查询

    多数SQL查询都只使用单条SELECT语句。但MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单...

网友评论

    本文标题:《MySql笔记》Select语句多表查询

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