165. 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;
Answer: A
答案解析:
参考:http://blog.csdn.net/rlhua/article/details/12885143
BC的子查询返回的是多行,所有报错。
D的子查询条件不正确,
题意说:更新CUST_ID为2360的CUST_INCOME_LEVEL和CUST_CREDIT_LIMIT列值。你想让CUST_INCOME_LEVEL的值与CUST_ID为2560的值一样,让CUST_CREDIT_LIMIT的值与CUST_ID为2566的值一样
按题意,只有A正确。
实验验证:
A
B

本文深入探讨了数据库中更新特定字段的策略,通过实例演示如何精确地更新CUST_INCOME_LEVEL和CUST_CREDIT_LIMIT,确保数据的一致性和准确性。重点分析了四种不同的UPDATE语句,最终确定了正确的方法。


被折叠的 条评论
为什么被折叠?



