
left join right inner join 区别
发布日期:2025-04-05 06:44:02
浏览次数:6
分类:精选文章
本文共 1006 字,大约阅读时间需要 3 分钟。
连表查询是大多数数据库操作中常见的技术,它允许我们从不同表中检索数据,并根据需要关联这些表。通过使用JOIN运算符,我们可以将多个表的数据以一种直观的方式展示出来。
在写出连表查询的时候,JOIN运算符分为多个类型,以下是常见的几种:
LEFT JOIN(左连接)
- 如果左边表中没有记录满足 join 条件,左边表的记录仍然保留下来。
- 语法结构:
LEFT JOIN table_b tb_b ON tb_a.id = tb_b.id
RIGHT JOIN(右连接)
- 同样,如果右边表中没有记录满足 join 条件,右边表的记录仍然保留下来。
- 语法结构:
RIGHT JOIN table_b tb_b ON tb_a.id = tb_b.id
INNER JOIN(内连接)
- 只有当两边表中的记录都满足 join 条件时,结果才会保留下来。
- 语法结构:
INNER JOIN table_b tb_b ON tb_a.id = tb_b.id
需要注意的是,选择使用哪种类型的 join 运算符取决于具体的业务需求。如果需要包含左边表中无法匹配的记录,可以使用 LEFT JOIN;如果需要包含右边表中无法匹配的记录,可以使用 RIGHT JOIN;而当只需要匹配完全匹配的记录时,可以使用 INNER JOIN。
通过实际案例来看:
对于以下数据库架构:
SELECT a, b, cFROM table_a tb_aLEFT JOIN table_b tb_b ON tb_a.id = tb_b.id
假设 table_a
中的 ID 是 100 和 200,同时 table_b
中的 ID 则是 101 和 200。使用 LEFT JOIN 会得到以下结果:| id | a | b | c ||---|---|---|---||100|1|null|2||200|2|100|3|
同样地,如果使用 RIGHT JOIN:
SELECT a, b, cFROM table_a tb_aRIGHT JOIN table_b tb_b ON tb_a.id = tb_b.id
如果 table_b
中的 ID 与 table_a
不同,比如 ID 101和201,那么结果会是:| id | a | b | c ||---|---|---|---||null|null|1|2||200|2|100|3|
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年05月10日 03时49分46秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
leetcode380. Insert Delete GetRandom O(1)
2023-01-31
LeetCode502
2023-01-31
leetcode507
2023-01-31
LeetCode7.整数反转 JavaScript
2023-01-31
Leetcode: Group Anagrams
2023-01-31
Leetcode: Spiral Matrix II
2023-01-31
LeetCode: String to Integer (atoi)
2023-01-31
Leetcode:454. 4Sum II
2023-01-31
LeetCode:Restore IP Addresses
2023-01-31
LeetCode——Unique Paths
2023-01-31
LeetCode二叉树从上至下路径问题总结(112.113.437.129)
2023-01-31
LeetCode哈希表+字符类的题目总结
2023-01-31
LeetCode地平线专场——第308场周赛题解
2023-01-31
LeetCode数据库题目汇总二(附答案)
2023-01-31
LeetCode新手指南:从零开始掌握算法挑战
2023-01-31
LeetCode智加科技专场——第207场周赛题解
2023-01-31