详解MySQL的内连接和外连接

2023-05-15 0 560

MySQL 中的内连接、左外连接和右外连接是用于连接两个或多个表的不同方式,它们之间的区别如下:

内连接(Inner Join):

内连接也称为等值连接,只返回两个表中键值匹配的行,即只有在两个表中都有匹配的数据时才会返回。内连接的语法如下:

SELECT column_name(s)FROM table1INNER JOIN table2ON table1.column_name = table2.column_name;

左外连接(Left Join):

左连接返回左表中所有记录和右表中匹配的记录,如果右表中没有匹配的记录,则返回 NULL 值。左连接的语法如下:

SELECT column_name(s)FROM table1LEFT JOIN table2ON table1.column_name = table2.column_name;

右外连接(Right Join):

右连接返回右表中所有记录和左表中匹配的记录,如果左表中没有匹配的记录,则返回 NULL 值。右连接的语法如下:

SELECT column_name(s)FROM table1RIGHT JOIN table2ON table1.column_name = table2.column_name;

以上三种连接方式都是基于相同的基础,只是返回的结果不同。需要根据实际需求选择不同的连接方式来处理数据。

案例:

假设有两个表A和B:

表A:

idname1Alice2Bob3Carol

表B:

idscore190280370

内连接查询A和B表中相同id的数据:

sqlCopy codeSELECT A.id, A.name, B.score FROM A INNER JOIN B ON A.id = B.id;

结果:

idnamescore1Alice902Bob80

左连接查询A和B表中所有的数据,如果B表中没有与A表相同的id,则B表的score为NULL:

sqlCopy codeSELECT A.id, A.name, B.score FROM A LEFT JOIN B ON A.id = B.id;

结果:

idnamescore1Alice902Bob803CarolNULL

右连接和左连接相似,只是将A表和B表调换位置,查询B表和A表的数据。

到此这篇关于详解MySQL的内连接和外连接的文章就介绍到这了,更多相关MySQL内连接外连接内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Mysql数据库 详解MySQL的内连接和外连接 https://www.u-9.cn/sql/mysql/21577.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 0 +

    运行天数

注册会员,众多资源免费下载