0x6*_*773 7 join sql-server-2012
使用两个LEFT JOINs ie
SELECT <some columns>
FROM Table1 AS t1
LEFT JOIN Table2 AS t2 ON <condition1>
LEFT JOIN Table2 AS t3 ON <condition2>
Run Code Online (Sandbox Code Playgroud)
这和AND在 single 中使用一样LEFT JOIN吗?IE
SELECT <some columns>
FROM Table1 AS t1
LEFT JOIN Table2 AS t2 ON <condition1>
AND <condition2>
Run Code Online (Sandbox Code Playgroud)
两者是相同的还是不同的(一般来说)?
Mar*_*rco 13
它们是不同的。在第一个选项中,您会Table2进入查询2 次。一次为t2一次为t3。两者都有不同的内容,您必须以某种方式将它们重新组合在一起。对我来说,这更像是一个OR而不是AND。在第二个选项中,您只能获得Table2满足这两个条件的行。
假设您有Table2以下内容:
| Color | Size |
|-------|------|
| Red | S |
| Blue | S |
| Blue | XS |
Run Code Online (Sandbox Code Playgroud)
假如你想拥有属于行Blue和S。在您的第一个选项中,您将获得所有行(t2例如 with allBlue和t3with all S),而在您的第二个选项中,您只能获得第 2 行。
| 归档时间: |
|
| 查看次数: |
1744 次 |
| 最近记录: |