Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / Query Select
 

Combine subquery and other conditions

SQL> SQL> create table course_schedule   2  ( course     VARCHAR2(6)   3  , begindate  DATE   4  , trainer    NUMBER(4)   5  , location   VARCHAR2(20)) ; Table created. SQL> SQL> insert into course_schedule values ('SQL',date '1999-04-12',1,'VANCOUVER' ); 1 row created. SQL> insert into course_schedule values ('OAU',date '1999-08-10',2,'CHICAGO'); 1 row created. SQL> insert into course_schedule values ('SQL',date '1999-10-04',3,'SEATTLE'); 1 row created. SQL> insert into course_schedule values ('SQL',date '1999-12-13',4,'DALLAS' ); 1 row created. SQL> insert into course_schedule values ('JAV',date '1999-12-13',5,'SEATTLE'); 1 row created. SQL> insert into course_schedule values ('XML',date '2000-02-03',6,'VANCOUVER' ); 1 row created. SQL> insert into course_schedule values ('JAV',date '2000-02-01',7,'DALLAS' ); 1 row created. SQL> insert into course_schedule values ('PLS',date '2000-09-11',8,'VANCOUVER' ); 1 row created. SQL> insert into course_schedule values ('XML',date '2000-09-18',NULL,'SEATTLE'); 1 row created. SQL> insert into course_schedule values ('OAU',date '2000-09-27',9,'DALLAS' ); 1 row created. SQL> insert into course_schedule values ('ERM',date '2001-01-15',10, NULL    ); 1 row created. SQL> insert into course_schedule values ('PRO',date '2001-02-19',NULL,'VANCOUVER' ); 1 row created. SQL> insert into course_schedule values ('RSD',date '2001-02-24',8,'CHICAGO'); 1 row created. SQL> SQL> create table courses   2  ( code        VARCHAR2(6)   3  , description VARCHAR2(30)   4  , category    CHAR(3)   5  , duration    NUMBER(2)) ; SQL> SQL> insert into courses values('SQL','SQL course',    'GEN',4); 1 row created. SQL> insert into courses values('OAU','Oracle course', 'GEN',1); 1 row created. SQL> insert into courses values('JAV','Java course',   'BLD',4); 1 row created. SQL> insert into courses values('PLS','PL/SQL course', 'BLD',1); 1 row created. SQL> insert into courses values('XML','XML course',    'BLD',2); 1 row created. SQL> insert into courses values('ERM','ERM course',    'DSG',3); 1 row created. SQL> insert into courses values('PMT','UML course',    'DSG',1); 1 row created. SQL> insert into courses values('RSD','C# course',     'DSG',2); 1 row created. SQL> insert into courses values('PRO','C++ course',    'DSG',5); 1 row created. SQL> insert into courses values('GEN','GWT course',    'DSG',4); 1 row created. SQL> SQL> select *   2  from   course_schedule   3  where  begindate between date '1999-01-01' and date '1999-12-31'   4  and    course in (select code from   courses where  category = 'GEN'); COURSE BEGINDATE    TRAINER LOCATION ------ --------- ---------- -------------------- SQL    13-DEC-99          4 DALLAS SQL    04-OCT-99          3 SEATTLE SQL    12-APR-99          1 VANCOUVER OAU    10-AUG-99          2 CHICAGO SQL> SQL> drop table course_schedule; Table dropped. SQL> SQL> drop table courses; Table dropped. SQL>