OCP-1Z0-051 第146题 子查询中的null值

一、原题
Evaluate the following SQL statement:
SQL>SELECT cust_id, cust_last_name
      FROM customers
     WHERE cust_credit_limit IN
           (SELECT cust_credit_limit
              FROM customers
             WHERE cust_city = 'Singapore');
Which statement is true regarding the above query if one of the values generated by the subquery is NULL?
A. It produces an error.
B. It executes but returns no rows.
C. It generates output for NULL as well as the other values produced by the subquery.
D. It ignores the NULL value and generates output for the other values produced by the subquery.

答案:C

二、题目翻译
评估下面的SQL语句
关于上面的查询如果子查询返回值中其中有一个值为NULL,下面哪句话是正确的?
A.报错。
B.执行但不返回行。
C.对于NULL和子查询的其它值会有输出。
D.忽略NULL值,并且对于子查询的其它值会有输出。

三、题目解析
in后面的列表中有null值的,
比如: id in( null,200),
那么,变换一下,就变成id = null or id = 200,因为id=null是不成立的,所以相当于 false or id=200
所以说,没有输出null值,只是因为表达式不成立,并不是忽略了null值。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值