SQL 语句连接
Posted
技术标签:
【中文标题】SQL 语句连接【英文标题】:SQL STATEMENT JOINS 【发布时间】:2016-03-15 04:28:13 【问题描述】:我有一个表格,下面有一个列(它有一个空值和一个对象链接,单击它会获取该对象的详细信息,例如名称、电子邮件地址......)
ID COUNTRY
1 null
2 null
3 null
4 2zlad9.6f
我需要在同一张表上编写一个连接查询来获取“object.Name”来代替列的“object”值,并且空值应该保持不变。
当在同一个表上与 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
【问题讨论】:
请在发帖前花时间阅读您自己的问题。问题不清楚。 样本数据、使用样本数据的预期结果以及您迄今为止所尝试的都是不错的起点。 【参考方案1】:Null
代表什么。可以说,它不是一个价值,而是一个缺乏价值的地标。如果您要加入包含 NULL
值的列,则这意味着您的数据集中没有任何内容可返回,您应该看不到任何值。
如果您想查看整个集合以及第二个集合中的缺失值,请查看Outer Joins,例如:
Select t1.id, t1.value
From table1 t1
Left Join table2 t2 on t1.id = t2.id
--- 编辑 -----
了解您在加入时所要求的内容很重要。当您说 Select From Table1 Join Table2 on .... 时,您的意思是我在 table1 中有一系列值,我想从 Table2 中撤回所有匹配项。
确保您熟悉 Intersection、Difference 和 Union 的集合论概念。 here 也是连接概念的可视化图表。标记为红色的所有内容均指您要拉回的数据。
【讨论】:
以上是关于SQL 语句连接的主要内容,如果未能解决你的问题,请参考以下文章