SQL语句(inner join,left out join,right out join三者的不同用法)

说白了,SQL中的join操作就像拼图一样,将两个或多个表的数据行放在一起。
其实很简单。
最常见的连接类型有内连接、左连接、右连接、全连接和交叉连接。
我们先来说说最重要的事情。
内连接仅显示两个表中的匹配行。
就像我们去年跑的项目,大概有3 000条数据量,内连接可以帮助我们快速找到公共字段的数据。
还有一点是,左连接会显示左表中的所有行以及右表中匹配的行。
例如,在这个项目中,如果我们想保留左边的所有数据,而不管右边是否有匹配,那么左连接就会派上用场。
还有另一个关键细节。
全连接是左连接和右连接的组合。
无论左右两侧是否匹配都会显示。

一开始我以为这些连接操作很简单,后来发现是错误的。
每个连接都有其特定的目的。
等等,还有一件事。
交叉连接很棒。
他们列出了两个表的所有可能组合。
就像我们去年做的数据分析一样,我们需要看到所有可能的组合。
交叉连接有很大帮助。

因此,选择哪种连接类型取决于您的具体需求。
如果你想知道的是两个表的公共部分,请使用内连接; 如果需要保留左侧所有数据,而不管右侧是否有匹配,则使用左连接; 如果双方都需要,请使用完全连接。
至于交叉连接,我认为值得尝试,特别是如果您需要查看所有可能的组合。
很多人都没有注意到这一点,但是如果使用得当的话,可以节省很多时间。

SQL中的各种连接的区别总结

说白了,SQL中的join操作其实是相当简单的。
它用于聚合来自多个表的数据。
首先Join和InnerJoin的逻辑是一样的。
这两者都用于同时查询多个表并提供完整的视图。
比如我们去年做的一个项目,用了3 000级左右的数据进行join操作,效果非常好。

还有一点是LeftJoin和RightJoin的使用很重要。
LeftJoin 覆盖左表。
即使正确的图表中没有匹配项。
将显示左表的完整内容。
例如,如果订单表链接到客户信息表,如果客户没有订单,则会显示他的信息。
相反,RightJoin 被右表覆盖。
无论左表的状态如何,都将始终返回右表中的数据。

另一个细节非常重要;这就是 ON 和 WHERE 之间的区别。
ON用于创建临时表时设置关联条件。
无论条件是否正确都会执行join操作,以保证原表数据不丢失。
一开始我以为ON和Where是一样的,后来发现我错了。
联系ON决定过程中将连接哪些数据;此处连接完成并对结果进行过滤。

等等,还有一件事。
那就是FullJoin。
这是左连接和右连接的综合版本,提供两个表之间的综合视图,无论它们匹配还是重合。

简而言之,通过正确理解和使用这些概念和功能,您可以使数据库查询更加高效,构建数据视图,并避免丢失或重复信息。
我认为值得一试。
在实践中不断学习、总结。
你可以慢慢掌握它。