sql server select 语句中包含子select语句问题

问题代码如下

SELECT code,
(SELECT company FROM apprai_code WHERE sj_code='sj_code1') 
FROM apprai_code_record 
WHERE code='code1'

这句代码的意思是查询apprai_code_record 表里当code='code1’的code值,同时查询apprai_code 表里当sj_code='sj_code1’的company值,二者互不关联,只是用同一句语句查询出来

在日常执行时,会出现

SELECT company FROM apprai_code WHERE sj_code='sj_code1'

这句代码能查到company 值,但是

SELECT code,
(SELECT company FROM apprai_code WHERE sj_code='sj_code1') 
FROM apprai_code_record 
WHERE code='code1'

这种方法下却查不到company 值,出现整组为null的情况
原因:
这是因为这句子查询语句实在外部查询下的字段子查询,当

SELECT code
FROM apprai_code_record 
WHERE code='code1'

这句为null时,无论company是否有值,都查询不到

你可能感兴趣的:(SQL,语句)