View the Exhibit and examine the structure of ORDER_ITEMS and ORDERS tables.You need to remove from the ORDER_ITEMS table those rows that have an order status of 0 or 1 in theORDERS table.Which DELETE statements are valid? (Choose all that apply.)A. DELETEFROM order_itemsWHERE order_id IN (SELECT order_idFROM ordersWHERE order_status in (0,1)); B. DELETE *
FROM order_itemsWHERE order_id IN (SELECT order_idFROM ordersWHERE order_status IN (0,1));C. DELETE FROM order_items iWHERE order_id = (SELECT order_id FROM orders oWHERE i.order_id = o.order_id ANDorder_status IN (0,1)); D. DELETEFROM (SELECT * FROM order_items i,orders oWHERE i.order_id = o.order_id AND order_status IN (0,1));Answer: ACD
俺晕了,D这样的答案也是正确的?谁给指导一下,俺觉得D就不是正确答案测试如下:
SQL> select * from zzw_test100;        ID      SCORE
---------- ----------
       100        200
       100        100
       100        100
        20        500
         3        800
         4         10
       100        200已选择7行。SQL> select * from zzw_test200;        ID      SCORE
---------- ----------
       100        200
       100        100
         1        100
        20        500
         3        800SQL> delete from (select * from zzw_test100 a,zzw_test200 b
  2  where a.id=b.id and b.score=a.score); 
delete from (select * from zzw_test100 a,zzw_test200 b
            *
ERROR 位于第 1 行:
ORA-01752: 不能从没有一个键值保存表的视图中删除另外,如果是单表的还可以,搞上两个表,我怎么也想不明白了