Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Query Select
 

How to have the subquery select from a different table than the parent statement

SQL> -- SQL> SQL> CREATE TABLE product_order (   2       product_name  VARCHAR2(25),   3       salesperson   VARCHAR2(3),   4       order_date    DATE,   5       quantity      NUMBER(4,2)   6  ); Table created. SQL> SQL> CREATE TABLE person (   2       person_code VARCHAR2(3) PRIMARY KEY,   3       first_name  VARCHAR2(15),   4       last_name   VARCHAR2(20),   5       hire_date   DATE   6  ); Table created. SQL> SQL> INSERT INTO person VALUES ('CA', 'Chase', 'At',    '01-FEB-02'); 1 row created. SQL> INSERT INTO person VALUES ('GA', 'Gary',  'Talor', '15-FEB-02'); 1 row created. SQL> INSERT INTO person VALUES ('BB', 'Bob',   'Bark',  '28-FEB-02'); 1 row created. SQL> INSERT INTO person VALUES ('LB', 'Laren', 'Baby',  '01-MAR-02'); 1 row created. SQL> INSERT INTO person VALUES ('LN', 'Linda', 'Norman','01-JUN-03'); 1 row created. SQL> SQL> INSERT INTO product_order VALUES ('Product 1', 'CA', '14-JUL-03', 1); 1 row created. SQL> INSERT INTO product_order VALUES ('Product 2', 'BB', '14-JUL-03', 75); 1 row created. SQL> INSERT INTO product_order VALUES ('Product 3', 'GA', '14-JUL-03', 2); 1 row created. SQL> INSERT INTO product_order VALUES ('Product 4', 'GA', '15-JUL-03', 8); 1 row created. SQL> INSERT INTO product_order VALUES ('Product 5', 'LB', '15-JUL-03', 20); 1 row created. SQL> INSERT INTO product_order VALUES ('Product 6', 'CA', '16-JUL-03', 5); 1 row created. SQL> INSERT INTO product_order VALUES ('Product 7', 'CA', '17-JUL-03', 1); 1 row created. SQL> SQL> SELECT * FROM product_order   2  WHERE  salesperson = (   3         SELECT person_code   4         FROM   person   5         WHERE  first_name = 'Gary' AND last_name = 'Anderson'   6  ); no rows selected SQL> SQL> drop table product_order; Table dropped. SQL> drop table person; Table dropped.