1. ID
2. Name
订单表有两列
ID Name
121 abc
124 def
和订单中的数据
<ul class="nav navbar-nav navbar-right">
<li id="facebook">
<a href="#" target="_blank"><i class="fa fa-lg fa-facebook"></i></a>
</li>
<li id="twitter">
<a href="#" target="_blank"><i class="fa fa-lg fa-twitter"></i></a>
</li>
<li id "google-plus">
<a href="#" target="_blank"><i class="fa fa-lg fa-google-plus"></i></a>
</li>
</ul>
第一个查询不返回任何结果,而第二个查询则给出任何结果。有什么区别
答案 0 :(得分:1)
第一个表单在其FROM
子句中使用子查询作为表源;它可以在零行和多行之间返回。
对于子查询返回的每一行,将评估ISNULL
表达式。但是,如果子查询没有返回任何行,则最终输出不包含任何行。
第二种形式使用SELECT
而没有FROM
子句 - 它将始终生成一个只包含一行的结果集。然后它还使用标量子查询(通过在预期标量值的位置引入子查询) - 必须产生零或一个结果。如果子查询产生零结果,则NULL
被替换。
因此,两者之间的区别在于第一个查询可以在零行和多行之间返回,并且为每行计算ISNULL
表达式。而第二个查询总是只产生一行,而如果子查询返回多个结果,则会产生错误。