SQL inner join、left join和right join的区别
2024-07-02
101
INNER JOIN、LEFT JOIN 和 RIGHT JOIN 是SQL中用于联结表的不同类型的操作。
INNER JOIN
INNER JOIN 是最常用的联结操作,它会返回两个表中符合联结条件的交集。只有当两个表中的行在联结条件下匹配时,才会包含在结果集中。
SELECT *
FROM table1
INNER JOIN table2 ON table1.column = table2.column;
LEFT JOIN
LEFT JOIN 也被称为左外连接,它会返回左表中所有的行,以及右表中符合联结条件的行。如果右表中没有匹配的行,那么在结果集中会显示 NULL 值。
SELECT *
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;
RIGHT JOIN
RIGHT JOIN 也被称为右外连接,它与左外连接相反,会返回右表中所有的行,以及左表中符合联结条件的行。如果左表中没有匹配的行,那么在结果集中会显示 NULL 值。
SELECT *
FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;
区别总结
INNER JOIN 只返回两个表中在联结条件下完全匹配的行,没有匹配的行将被排除。
LEFT JOIN 返回左表中的所有行,以及右表中匹配的行(如果没有匹配的行,会以 NULL 值填充)。
RIGHT JOIN 返回右表中的所有行,以及左表中匹配的行(如果没有匹配的行,会以 NULL 值填充)。
通常来说,INNER JOIN 最常用,因为它会返回两个表之间的交集,而 LEFT JOIN 和 RIGHT JOIN 在特定情况下会更有用,例如需要包含某个表的所有行,而另一个表中只需要匹配的部分。
更新于:4个月前赞一波!3
相关文章
- SQL Server EF使用Sequence全局自增ID
- SQL Server用UUID做主键性能问题和解决方案
- 【说站】java join阻碍线程
- 针对 Go 语言开发的 SQL 驱动模拟库
- 数据库SQL Server2014和SQL Server2019的区别和如何选择?
- 现在开发使用Sql语句还是ORM更多?
- Symfony/Doctrine中的SQL注入
- SQL生成框架Vanna.ai用法教程
- .NET自然语言转换为SQL的Nl2Sql项目
- 解决PHP开发中的SQL注入攻击问题
- SQL语句优化
- Sql Server清空表并重置主键序号
- sql创建并循环临时表
- Sql语句行转列
- 程序员Sql常见面试题和答案
- SQLServer 锁表查询命令
- SQLServer nolock查询防止锁表
- SqlServer分页查询示例
- SQL DATEDIFF用法和性能
- 提高SQL性能的最佳实践
文章评论
评论问答