千家信息网

MySQL中left join、right join和inner join的区别

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍了MySQL中left join、right join和inner join的区别,具有一定借鉴价值,需要的朋友可以参考下,希望你能有所收获。left join(左联接) 返回包括左表
千家信息网最后更新 2025年02月04日MySQL中left join、right join和inner join的区别

这篇文章主要介绍了MySQL中left join、right join和inner join的区别,具有一定借鉴价值,需要的朋友可以参考下,希望你能有所收获。

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行:

举例如下:

表A记录如下:aID aNum1 a200501112 a200501123 a200501134 a200501145 a20050115

表B记录如下:bID bName1 20060324012 20060324023 20060324034 20060324048 2006032408

1.left join

sql语句如下: select * from Aleft join B on A.aID = B.bID

select * from A,B where A.aID=B.bID;

结果如下:aID aNum bID bName1 a20050111 1 20060324012 a20050112 2 20060324023 a20050113 3 20060324034 a20050114 4 20060324045 a20050115 NULL NULL

(所影响的行数为 5 行)结果说明:left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).B表记录不足的地方均为NULL.

2.right join

sql语句如下: select * from Aright join B on A.aID = B.bID

结果如下:aID aNum bID bName1 a20050111 1 20060324012 a20050112 2 20060324023 a20050113 3 20060324034 a20050114 4 2006032404NULL NULL 8 2006032408

(所影响的行数为 5 行)结果说明:仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

3.inner join

sql语句如下: select * from Ainnerjoin B on A.aID = B.bID

结果如下:aID aNum bID bName1 a20050111 1 20060324012 a20050112 2 20060324023 a20050113 3 20060324034 a20050114 4 2006032404

结果说明:很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.

注: LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2

说明:table1, table2参数用于指定要将记录组合的表的名称。field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误.

关于left join、right join和inner join的区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

结果 字段 数据 类型 相同 参数 名称 基础 语句 中联 两个 地方 更多 条件 影响 组合 运算 不错 明显 价值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 信息技术考试数据库 保护网络安全的标语 网络安全班会150字 航天系统网络安全 平台网络安全应急预案 华为订阅管理显示无法连接服务器 大型数据库建在哪里最安全 数据库一致性知乎 奥鹏教育东北大学数据库技术 图书馆数据库优势 网络安全创业板 剑灵怎么替换数据库 网络安全的防范措施手抄报 金山区散射网络技术售后保障 计算机网络技术需要英语么 软件开发培训机构排行榜前十名 宜兴海航软件开发销售 电脑服务器老是断开是怎么回事 小杜网络安全从我起季手抄报 5g物理层软件开发语言 中国台湾开源软件开发诚信企业 信息技术网络安全的公司 dz网站恢复数据库 漳州睿点软件开发有限公司 创建数据库的要求 阿里云服务器恢复出厂 重庆黔江食材配送软件开发 检测数据库的命令 黄浦区市场软件开发制造价格 广州c语言软件开发需要多少钱
0