SQL inner join、left join和right join的区别
2024-07-02
73
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 在特定情况下会更有用,例如需要包含某个表的所有行,而另一个表中只需要匹配的部分。
更新于:2个月前赞一波!3
相关文章
- 现在开发使用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性能的最佳实践
- SQLServer分页查询语句
- 如何使用Azure SQL 数据库
- SQL Server 缓存和内存管理优化
- SQL Server 2022有哪些新特性?
- 在 CentOS 7/Fedora 上安装 Microsoft SQL Server 2019
文章评论
全部评论