OCP-1Z0-051 第168题 使用子查询DELETE数据

来源:互联网 发布:单片机密码锁编程 编辑:程序博客网 时间:2024/06/05 04:23
一、原题
View the Exhibit and examine the description of SALES and PROMOTIONS tables.

You want to delete rows from the SALES table, where the PROMO_NAME column in the PROMOTIONS table has either blowout sale or everyday low price as values.
Which DELETE statements are valid? (Choose all that apply.)
A.
DELETE FROM sales
 WHERE promo_id =
       (SELECT promo_id FROM promotions WHERE promo_name = 'blowout sale')
   AND promo_id = (SELECT promo_id
                     FROM promotions
                    WHERE promo_name = 'everyday low price');
B.
DELETE FROM sales
 WHERE promo_id =
       (SELECT promo_id FROM promotions WHERE promo_name = 'blowout sale')
    OR promo_id = (SELECT promo_id
                     FROM promotions
                    WHERE promo_name = 'everyday low price');
C.
DELETE FROM sales
 WHERE promo_id IN (SELECT promo_id
                      FROM promotions
                     WHERE promo_name = 'blowout sale'
                        OR promo_name = 'everyday low price');
D.
DELETE FROM sales
 WHERE promo_id IN
       (SELECT promo_id
          FROM promotions
         WHERE promo_name IN ('blowout sale', 'everyday low price'));

答案:BCD

二、题目翻译
看SALES和PROMOTIONS表的结构:
要从SALES表中删除行,条件为PROMOTIONS表中PROMO_NAM列的值为blowout sale或者everyday low price。
哪个DELETE语句有效?(选择所有正确的项)

三、题目解析
A选项不正确,题目要求的是PROMO_NAM列的值为blowout sale或者everyday low price,而A选项中,是用的AND,得出的结果就不是题目想要的结果。
BCD选项正确。

1 0
原创粉丝点击