MySQL的七种 join 连接

一、内连接

内连接也叫自然连接同时也叫全等连接,即左边表和右边表共有数据的查询

select *  from  表A a  inner  join  表B b  on  a.key = b.key;

二、左连接

左连接,即查询左边表的独有数据

select  *  from  表A a  left  join  表B b  on  a.key = b.key  where  b.key is null;

三、左外连接

左外连接,查询左边表的所有数据,即左边表独有的数据+左边和右边的共有的数据

select  *  from  表A a  left  join  表B a  on  a.key = b.key;

四、右连接

右连接,即查询右边表的独有数据

select  *  from  表A a  right join 表B b  on  a.key = b.key  where  a.key is  null;

五、右外连接

右外连接,查询右边表的所有数据,即右边表独有的数据+右边表和左边表共有的数据

select  *  from  表A a  right join  表B b  on  a.key = b.key;

六、全连接

全连接,即左边表独数据+右边表独数据(MySQL不支持

可用如下方式实现全连接的效果:

select * from  表A a  left join  表B b  on  a.key = b.key where b.key is null
union
select * from  表A a  right join  表B b  on  a.key = b.key where a.key is null;

七、全外连接

全外连接,即左边表数据+右边表数据+左边表和右边表共有数据查询(MySQL不支持

select * from  表A a  left join  表B b  on  a.key = b.key 
union
select * from  表A a  right join  表B b  on  a.key = b.key;

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL连接Join on是一种用于连接两个或多个相关表的操作。内连接会返回两个表中至少有一个匹配的行。在使用Join on时,需要指定连接条件,即通过指定两个表中的某个字段进行匹配。例如,使用Join on可以查询参加了考试的同学的学号、姓名、科目编号和分数。 在MySQL中,可以使用以下语法进行内连接查询: ``` SELECT 列名 FROM 表1 JOIN 表2 ON 表1.字段 = 表2.字段; ``` 其中,表1和表2是要连接的两个表,字段是用于匹配的字段。 举个例子,假设有两个表student和result,我们想要查询参加了考试的同学的信息,可以使用内连接查询: ``` SELECT s.studentno, studentname, subjectno, studentresult FROM student AS s JOIN result AS r ON s.studentno = r.studentno; ``` 这个查询会返回学号、姓名、科目编号和分数。 除了内连接,还有左连接和右连接。左连接会从左表中返回所有的值,即使右表中没有匹配;右连接会从右表中返回所有的值,即使左表中没有匹配。可以根据具体需求选择合适的连接方式。 希望以上信息对您有帮助。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [MySQL中的join以及on条件的用法](https://blog.csdn.net/weixin_44177568/article/details/103038236)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [MySql 联表查询 Join ON详解](https://blog.csdn.net/m0_52641831/article/details/125242509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值