MySQL之连接查询

Posted soft2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL之连接查询相关的知识,希望对你有一定的参考价值。

连接查询:

  将多张表(可以大于2张)进行记录的连接(按照某个指定条件进行数据拼接),最终结果是:记录是有可能变化,字段数一定会增加(至少两张的合并)

  连接查询的意义:在用户查看数据的时候,需要显示的数据来自多张表。

  连接查询:join,使用方式:左表  join  右表

  左表:在join关键字左边的表。

  右表:在join关键字右边的表。

  连接查询分类:

  SQL中将连接查询分为四类:内连接、外连接、自然连接和交叉连接。

  

  交叉连接(cross join):

  从一张表中循环取出每一条记录,每条记录都去另外一张表进行匹配,匹配一定保留(没有条件匹配),而连接本身字段就会增加(保留),最终形成的结果叫做:笛卡尔积。

技术图片

技术图片

 

  内连接:

  [inner] join,从左表中取出每一条记录,去右表中与所有的记录进行匹配,匹配必须是某个条件在左表中与右表中相同最终才会保留结果,否则不不保留。

      技术图片

技术图片

 技术图片

技术图片

 技术图片

 

  外连接(outer join):

  以某张表为主,取出里面的所有记录,然后每条与另外一张表进行连接,不管能不能匹配上条件,最终都会保留,能匹配,正确保留;不能匹配,其他表的字段都置空null;

  外连接分为两种:是以某张表为主:称为主表

  left join:左外连接(左连接),以左表为主表;

  right join:右外连接(右连接),以右表为主表;

  基本语法:左表  left/right join 右表 on 左表.字段  = 右表.字段

技术图片

技术图片

 

 了解自然连接:

技术图片

 

以上是关于MySQL之连接查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL之连接查询

MySQL联表查询之连接和子查询

数据库之MySQL入门(数据查询2)

MySQL数据库之连接查询

MySQL基础语法之多表连接查询

MYSQL学习笔记之连接查询