74、View the exhibit and examine the structure of ORDERS and CUSTOMERS tables.

ORDERS

Name Null? Type

ORDER_ID NOT NULL NUMBER(4)

ORDER_DATE NOT NULL DATE

ORDER_MODE VARCHAR2(8)

CUSTOMER_ID NOT NULL NUMBER(6)

ORDER_TOTAL NUMBER(8, 2)

CUSTOMERS

Name Null? Type

CUSTOMER_ID NOT NULL NUMBER(6)

CUST_FIRST_NAME NOT NULL VARCHAR2(20)

CUST_LAST_NAME NOT NULL VARCHAR2(20)

CREDIT_LIMIT NUMBER(9,2)

CUST_ADDRESS VARCHAR2(40)

Which INSERT statement should be used to add a row into the ORDERStable for the customer whose CUST_LAST_NAMEis Robertsand CREDIT_LIMITis 600?Assume there exists only one row with CUST_LAST_NAME as Roberts and CREDIT_LIMIT as 600.

A. INSERT INTO (SELECT o.order_id, o.order_date, o.order_mode, c.customer_id, o.order_total

FROM orders o, customers c

WHERE o.customer_id = c.customer_id AND c.cust_last_name='Roberts' AND c.credit_limit=600)

VALUES (1,'10-mar-2007', 'direct', (SELECT customer_id

FROM customers

WHERE cust_last_name='Roberts' AND credit_limit=600), 1000);

B. INSERT INTO orders (order_id, order_date, order_mode,

(SELECT customer id FROM customers

WHERE cust_last_name='Roberts' AND credit_limit=600), order_total);

VALUES (1,'10-mar-2007', 'direct', &customer_id, 1000);

C. INSERT INTO orders

VALUES (1,'10-mar-2007', 'direct',

(SELECT customer_id

FROM customers

WHERE cust_last_name='Roberts' AND credit_limit=600), 1000);

D. INSERT INTO orders (order_id, order_date, order_mode,

(SELECT customer_id FROM customers

WHERE cust_last_name='Roberts' AND credit_limit=600), order_total);

VALUES (1,'10-mar-2007', 'direct', &customer_id, 1000);

Correct Answer: C

Section: (none)

Explanation 相关的语句,注意子查询查出来的是某个列的值:

INSERT INTO emp (empno,ename,job,deptno,sal)

VALUES (1,'cuug', 'direct',

(SELECT deptno

FROM dept

WHERE dname='RESEARCH' ), 1000);