我有一个像下面一列的表(有一个null和一个对象的链接,点击它时会获取该对象的详细信息,如Name,EmailAddress ....)
ID COUNTRY
1 null
2 null
3 null
4 2zlad9.6f
我需要在同一个表上编写一个连接查询来获取" object.Name"取代"对象"列的值和空值应保持不变。
当在同一个表上使用JOIN时,它只给出具有对象的列,其中忽略具有null的列。
我需要列的所有值,如下所示
ID COUNTRY
1 null
2 null
3 null
4 US
我使用了像
这样的查询Select p.ID, p.Country.Name
from table1 p
JOIN table1 p2 ON p.ID=p2.ID
只是给了我
ID Country
4 US
答案 0 :(得分:1)
Null
代表什么都没有。对于缺乏价值而言,它不是一个价值,也不是一个地标。如果您要加入包含NULL
值的列,则表示没有任何内容可以从您的某个数据集返回,您应该看不到任何值。
如果您希望查看整个集合以及第二组中的缺失值,请查看Outer Joins,例如:
Select t1.id, t1.value
From table1 t1
Left Join table2 t2 on t1.id = t2.id
---编辑-----
了解您在加入时所询问的内容非常重要。当你说选择从Table1加入Table2 ....你说的是我在table1中有一系列值,我想从Table2中拉回所有匹配。
确保您熟悉Intersection,Difference和Union的集合论概念。此外,here是连接概念的可视图表。标记为红色的所有内容都是指您要撤回的数据。