我对 MySQL 还很陌生,我不了解关键字 INNER和OUTER. 我明白它们的意思,但我不明白何时会在查询中真正输入关键字。似乎 aJOIN始终是 anINNER并且 aLEFT或RIGHTjoin 始终是OUTER。
因此,在什么情况下人们会使用关键字而不是简单地写JOIN(always INNER?) 和LEFT JOIN(always OUTER?)
所以我看了几张图来理解连接之间的区别,我遇到了这个图像:
也许问题在于用Venn Diagrams来代表这个问题.但是看看第一次加入,左上角,基本上只是A?B在那里有什么不同?
编辑:https://blog.jooq.org/2016/07/05/say-no-to-venn-diagrams-when-explaining-joins/
这个网站解释得很好
在我的应用程序中,我有两个模型:
class Address < ActiveRecord::Base
belongs_to :location
end
class Location < ActiveRecord::Base
#it has field city:string
has_one :address
end
Run Code Online (Sandbox Code Playgroud)
现在我想找到所有解决城市字段的地点都有价值:"测试".我怎样才能做到这一点?提前致谢.
我有两张彼此相同的表,如下所示
表格1
col1
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
表2
col1
1
2
3
4
5
Run Code Online (Sandbox Code Playgroud)
有没有办法编写一个 SQL 查询将表 1 的每一行连接到表 2 的每一行?