一、原题
二、题目翻译
三、题目解析
View the Exhibit and examine the description for the CUSTOMERS table.

You want to update the CUST_INCOME_LEVEL and CUST_CREDIT_LIMIT columns for the customer with the CUST_ID 2360. You want the value for the CUST_INCOME_LEVEL to have the same value as that of the customer with the CUST_ID 2560 and the CUST_CREDIT_LIMIT to have the same value as that of the customer with CUST_ID 2566.
Which UPDATE statement will accomplish the task?
A.
UPDATE customers
SET cust_income_level = (SELECT cust_income_level
FROM customers
WHERE cust_id = 2560),
cust_credit_limit = (SELECT cust_credit_limit
FROM customers
WHERE cust_id = 2566)
WHERE cust_id = 2360;
B.
UPDATE customers
SET (cust_income_level, cust_credit_limit) = (SELECT cust_income_level,
cust_credit_limit
FROM customers
WHERE cust_id = 2560
OR cust_id = 2566)
WHERE cust_id = 2360;
C.
UPDATE customers
SET (cust_income_level, cust_credit_limit) = (SELECT cust_income_level,
cust_credit_limit
FROM customers
WHERE cust_id IN
(2560, 2566))
WHERE cust_id = 2360;
D.
UPDATE customers
SET (cust_income_level, cust_credit_limit) = (SELECT cust_income_level,
cust_credit_limit
FROM customers
WHERE cust_id = 2560
AND cust_id = 2566)
WHERE cust_id = 2360;
答案:A
You want to update the CUST_INCOME_LEVEL and CUST_CREDIT_LIMIT columns for the customer with the CUST_ID 2360. You want the value for the CUST_INCOME_LEVEL to have the same value as that of the customer with the CUST_ID 2560 and the CUST_CREDIT_LIMIT to have the same value as that of the customer with CUST_ID 2566.
Which UPDATE statement will accomplish the task?
A.
UPDATE customers
SET cust_income_level = (SELECT cust_income_level
FROM customers
WHERE cust_id = 2560),
cust_credit_limit = (SELECT cust_credit_limit
FROM customers
WHERE cust_id = 2566)
WHERE cust_id = 2360;
B.
UPDATE customers
SET (cust_income_level, cust_credit_limit) = (SELECT cust_income_level,
cust_credit_limit
FROM customers
WHERE cust_id = 2560
OR cust_id = 2566)
WHERE cust_id = 2360;
C.
UPDATE customers
SET (cust_income_level, cust_credit_limit) = (SELECT cust_income_level,
cust_credit_limit
FROM customers
WHERE cust_id IN
(2560, 2566))
WHERE cust_id = 2360;
D.
UPDATE customers
SET (cust_income_level, cust_credit_limit) = (SELECT cust_income_level,
cust_credit_limit
FROM customers
WHERE cust_id = 2560
AND cust_id = 2566)
WHERE cust_id = 2360;
答案:A
二、题目翻译
查看CUSTOMERS表的结构:
要更新CUST_ID为2360的CUST_INCOME_LEVEL和CUST_CREDIT_LIMIT列值,要让CUST_INCOME_LEVEL的值与CUST_ID为2560的值一样,让CUST_CREDIT_LIMIT的值与CUST_ID为2566的值一样。
哪一个UPDATE语句能完成该任务?
要更新CUST_ID为2360的CUST_INCOME_LEVEL和CUST_CREDIT_LIMIT列值,要让CUST_INCOME_LEVEL的值与CUST_ID为2560的值一样,让CUST_CREDIT_LIMIT的值与CUST_ID为2566的值一样。
哪一个UPDATE语句能完成该任务?
三、题目解析
B和C选项不正确,由于子查询里返回多行记录,而这里又是=,所以报错。
D明显子查询的条件不符合题意,这里不会返回结果。
D明显子查询的条件不符合题意,这里不会返回结果。