View the Exhibit and examine the structure of the CUSTOMERS table.
You issue the following SQL statement on the CUSTOMERS table to display the customers who are in the same country as customers with the last name ‘KING’ and whose credit limit is less than the maximum credit limit in countries that have customers with the last name ‘KING’:
SQL> SELECT cust_id,cust_last_name
FROM customers
WHERE country_id IN(SELECT country_id
FROM customers
WHERE cust_last_name =’King’)
AND cust_credit_limit < (SELECT MAX(cust_credit_limit)
FROM customers
WHERE country_id IN(SELECT country_id
FROM customers
WHERE cust_last_name=’King’));
Which statement is true regarding the outcome of the above query?
A.
It executes and shows the required result.
B.
It produces an error and the < operator should be replaced by < ALL to get the required output.
C.
It produces an error and the < operator should be replaced by < ANY to get the required output.
D.
It produces an error and the IN operator should be replaced by = in the WHERE clause of the main query to get the required output.
I don’t think this answer is correct….
In the question is states ‘KING’ whereas the SQL uses ‘King’…
The column is a varchar2 column therefore it is case sensitive therefore the query will not find the record…
Regards, Caz
You are right ‘KING and King’ are not the same. However, the question was for using the subqueries efficiently. In that sense A is correct, assuming ‘KING and King’ is not a big issue.
A.
It executes and shows the required result.