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.
答案:C
解析:这里选择C,in不会忽略null,如果是not in的话,会忽略null,oracle会将
not in(expr1)变成not in(expr1,null)
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
解析:这里选择C,in不会忽略null,如果是not in的话,会忽略null,oracle会将
not in(expr1)变成not in(expr1,null)