Mysql的内外连接方式

举报
蜡笔不辣 发表于 2021/01/03 22:55:45 2021/01/03
【摘要】 Mysql有很多种连接方式,其中有两大主要连接方式:内连接和外连接,其中外连接又可以分为左外连接和右外连接;对于这三种连接方式,如何判断何时使用一直困扰着我,这里就做一下自己的总结:1、内连接:INNER JOIN,通常用来连接两个表中都存在的列值,在数学上可以理解为两个数的交集,即共同拥有的部分;例如:student(id,name,age,sex,score),teacher(id,na...

Mysql有很多种连接方式,其中有两大主要连接方式:内连接和外连接,其中外连接又可以分为左外连接和右外连接;

对于这三种连接方式,如何判断何时使用一直困扰着我,这里就做一下自己的总结:

1、内连接:INNER JOIN,通常用来连接两个表中都存在的列值,在数学上可以理解为两个数的交集,即共同拥有的部分;

例如:student(id,name,age,sex,score),teacher(id,name,age,sex,salary)

测试语句:

SELECT  * FROM student s INNER JOIN teacher t ;

测试结果:

2、外连接:

 左连接:LEFT JOIN,会将语句左边的表中的所有记录全部表示出来,而右表只会显示符合搜索条件的记录,如果左表的记录右表不存在,则以NULL来填充;

例如:student(id,name,age,sex,score),teacher(id,name,age,sex,salary)

测试语句:SELECT * FROM student s LEFT JOIN teacher t on s.id = t.id

测试结果:

右连接:RIGHT JOIN,会将语句右边的表中的所有记录全部表示出来,而左表只会显示符合搜索条件的记录,如果右表的记录左表不存在,则以NULL来填充;

例如:student(id,name,age,sex,score),teacher(id,name,age,sex,salary)

测试语句:SELECT * FROM student s RIght JOIN teacher t on s.id = t.id

测试结果:

由此可见,内连接的区别相当于数学中的交集,外连接的左右区分为:左连接为左全查右,右连接为右全查左!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。