如何解决sql server-加入空值
| 我有两张桌子。一个包含链接列表,另一个包含可用的样式。 后者是一个稀疏表,即当它们的值为空时,它没有对应的行。 我运行以下查询:select hl.*,hls.colorCode,hls.bold
from HeaderLinks hl,HeaderLinkStyles hls
where hl.LinkId = hls.linkID
order by row asc,[column] asc
我想对此进行修改,以便如果特定记录不存在任何行,则这些列将在结果集中接收空值。
谢谢!
解决方法
左加入
Select hl.*,hls.colorCode,hls.bold
From HeaderLinks hl
Left Join HeaderLinkStyles hls on hl.LinkId = hls.linkID
order by row asc,[column] ASC
, 要获取不存在的记录的NULL,您需要在表上使用LEFT OUTER JOIN或RIGHT OUTER JOIN。
Select hl.*,hls.bold From HeaderLinks hl
Left Join HeaderLinkStyles hls on hl.LinkId = hls.linkID order by row asc,[column] ASC
在此处检查联接:SQL联接的可视表示
, 如果找不到匹配项,则left
或full
连接将用null
填充一行:
select *
from HeaderLinks hl
full outer join
HeaderLinkStyles hls
on hl.LinkId = hls.linkID
左联接仅将空表填充为右表,右联接仅将左表填充为全联接。有关直观的说明,请参见SQL连接的直观说明。
, 您需要使用左外部联接
select hl.*,hls.bold
from HeaderLinks hl
left join HeaderLinkStyles hls on
hl.LinkId = hls.linkID
order by row asc,[column] asc
使用外部联接
, 您需要使用LEFT JOIN
Select
hl.*,hls.bold
from
HeaderLinks hl
LEFT JOIN
HeaderLinkStyles hls on hl.LinkId = hls.linkID
order by
row asc,[column] ASC
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。