In and subquery
SQL> create table courses
2 ( code VARCHAR2(6) constraint C_PK
3 primary key
4 , description VARCHAR2(30)
5 , category CHAR(3)
6 , duration NUMBER(2)
7 ) ;
Table created.
SQL> insert into courses values('SQL','SQL','GEN',4);
1 row created.
SQL> insert into courses values('OAU','Java','GEN',1);
1 row created.
SQL> insert into courses values('JAV','C++','BLD',4);
1 row created.
SQL> insert into courses values('PLS','C','BLD',1);
1 row created.
SQL> insert into courses values('XML','XML','BLD',2);
1 row created.
SQL> insert into courses values('ERM','ERP','DSG',3);
1 row created.
SQL> insert into courses values('PMT','ERP','DSG',1);
1 row created.
SQL> insert into courses values('RSD','jQuery','DSG',2);
1 row created.
SQL> insert into courses values('PRO','Linux','DSG',5);
1 row created.
SQL> insert into courses values('GEN','Oracle','DSG',4);
1 row created.
SQL>
SQL> create table registrations
2 ( attendee NUMBER(4)
3 , course VARCHAR2(6)
4 , begindate DATE
5 , evaluation NUMBER(1)
6 , constraint R_PK primary key (attendee,course,begindate)
7 ) ;
Table created.
SQL>
SQL> insert into registrations values (2,'SQL',date '2009-04-12',4 );
1 row created.
SQL> insert into registrations values (14,'SQL',date '2009-04-12',5 );
1 row created.
SQL> insert into registrations values (6,'SQL',date '2009-04-12',4 );
1 row created.
SQL> insert into registrations values (11,'SQL',date '2009-04-12',2 );
1 row created.
SQL> insert into registrations values (8,'SQL',date '2009-10-04',NULL);
1 row created.
SQL> insert into registrations values (9,'SQL',date '2009-10-04',3 );
1 row created.
SQL> insert into registrations values (13,'SQL',date '2009-10-04',4 );
1 row created.
SQL> insert into registrations values (13,'SQL',date '2009-12-13',NULL);
1 row created.
SQL> insert into registrations values (6,'SQL',date '2009-12-13',NULL);
1 row created.
SQL> insert into registrations values (3,'OAU',date '2009-08-10',4 );
1 row created.
SQL>
SQL> select attendee
2 from registrations
3 where course in (select code
4 from courses
5 where category = 'BLD');
no rows selected
SQL> select attendee
2 from registrations
3 where evaluation in (select duration
4 from courses
5 where category = 'BLD');
ATTENDEE
----------
11
2
6
3
13
SQL> drop table registrations;
Table dropped.
SQL> drop table courses;
Table dropped.
Related examples in the same category