下两个查询是否会返回相同的结果集?
SELECT * FROM tableA a
JOIN tableB b
ON a.id = b.id
WHERE a.id = '5'
--------------------------------
SELECT * FROM tableA a
JOIN tableb b
ON a.id = b.id
WHERE b.id = '5'
另外,如果使用LEFT JOIN
代替JOIN
,答案会有所不同吗?
答案 0 :(得分:1)
如上所述,他们将返回相同的结果。
两者不一定会以left join
返回相同的结果。
答案 1 :(得分:1)
是的,结果将是相同的。
使用左连接,您将获得两个表中获得ID的每个数据集。 使用连接(内部连接),您将只获得a.id = b.id。
的数据集本网站将向您解释如何加入https://www.w3schools.com/sql/sql_join.asp
答案 2 :(得分:0)
是的,他们会的。默认情况下,简单join
的工作方式类似于内连接。它会检查两个表上是否存在您加入的项目的实例。由于您已加入a.id=b.id
,因此结果将相同。
如果您将联接类型更改为左侧,则结果将包括所有a.id
' s,无论它们是否等于5。