SQL>
SQL> CREATE TABLE project (
2 pro_id NUMBER(4),
3 pro_name VARCHAR2(40),
4 budget NUMBER(9,2),
5 CONSTRAINT project_pk PRIMARY KEY (pro_id)
6 );
Table created.
SQL>
SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1001, 'A',12345);
1 row created.
SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1002, 'ERP',23456);
1 row created.
SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1003, 'SQL',34567);
1 row created.
SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1004, 'CRM',45678);
1 row created.
SQL> INSERT INTO project(pro_id, pro_name, budget)VALUES (1005, 'VPN',56789);
1 row created.
SQL>
SQL> CREATE TABLE server_usage (
2 pro_id NUMBER(4),
3 emp_id NUMBER,
4 time_log_date DATE,
5 hours_logged NUMBER(8,2),
6 dollars_charged NUMBER(8,2),
7 CONSTRAINT server_usage_pk PRIMARY KEY (pro_id, emp_id, time_log_date)
8 );
Table created.
SQL> INSERT INTO server_usage(pro_id, emp_id, time_log_date, hours_logged, dollars_charged)
2 VALUES (1001,101,to_date('4-Apr-2004','dd-mon-yyyy'),1123,222);
1 row created.
SQL> INSERT INTO server_usage(pro_id, emp_id, time_log_date, hours_logged, dollars_charged)
2 VALUES (1002,102,to_date('4-Apr-2005','dd-mon-yyyy'),1124,223);
1 row created.
SQL> INSERT INTO server_usage(pro_id, emp_id, time_log_date, hours_logged, dollars_charged)
2 VALUES (1003,103,to_date('4-Apr-2006','dd-mon-yyyy'),1125,224);
1 row created.
SQL> INSERT INTO server_usage(pro_id, emp_id, time_log_date, hours_logged, dollars_charged)
2 VALUES (1004,104,to_date('4-Apr-2007','dd-mon-yyyy'),1126,225);
1 row created.
SQL> INSERT INTO server_usage(pro_id, emp_id, time_log_date, hours_logged, dollars_charged)
2 VALUES (1005,105,to_date('4-Apr-2008','dd-mon-yyyy'),1127,226);
1 row created.
SQL> INSERT INTO server_usage(pro_id, emp_id, time_log_date, hours_logged, dollars_charged)
2 VALUES (1001,106,to_date('4-Apr-2009','dd-mon-yyyy'),1128,227);
1 row created.
SQL> INSERT INTO server_usage(pro_id, emp_id, time_log_date, hours_logged, dollars_charged)
2 VALUES (1002,107,to_date('4-Apr-2010','dd-mon-yyyy'),1129,228);
1 row created.
SQL>
SQL> SET ECHO ON
SQL> SELECT p.pro_name, ph.time_log_date, ph.hours_logged
2 FROM project p LEFT OUTER JOIN server_usage ph
3 ON p.pro_id = ph.pro_id;
A
04-APR-04 1123
ERP
04-APR-05 1124
SQL
04-APR-06 1125
CRM
04-APR-07 1126
VPN
04-APR-08 1127
A
04-APR-09 1128
ERP
04-APR-10 1129
7 rows selected.
SQL>
SQL> SELECT p.pro_name, ph.time_log_date, ph.hours_logged
2 FROM server_usage ph RIGHT OUTER JOIN project p
3 ON p.pro_id = ph.pro_id;
A
04-APR-04 1123
ERP
04-APR-05 1124
SQL
04-APR-06 1125
CRM
04-APR-07 1126
VPN
04-APR-08 1127
A
04-APR-09 1128
ERP
04-APR-10 1129
7 rows selected.
SQL>
SQL> drop table server_usage;
Table dropped.
SQL> drop table project;
Table dropped.