146. 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.
Answer: C
答案解析:
这道题的意思是说:如果子查询出现的值是null会怎样?
1、首先运行子查询里面的sql语句,结果为null
sh@TEST0910> select cust_credit_limit
2 FROM customers
3 WHERE cust_city ='Singapore';
no rows selected
2、如果子查询为null,那么结果也为null。
sh@TEST0910> SELECT cust_id, cust_last_name FROM customers WHERE cust_credit_limit IN
2 (select cust_credit_limit FROM customers WHERE cust_city ='Singapore');
no rows selected