Sie sind auf Seite 1von 14

7.

JOINS
1. Give an example for a Cartesian join.
SQL> select * from pc;
MODEL_NO SPEED RAM HD CD PRICE
---------- ---------- ---------- ---------- ---------- ----------
PC112 2 256 60 52 44932
PC122 2 256 60 48 47179
PC132 1 128 100 68 56165
PC134 1 512 60 68 89864
PC136 2 512 100 68 101097
SQL> select * from printer;
MODEL_NO COLOR TYPE PRICE PRINTERCODE
--------------- --------------- --------------- ---------- ------------
PR114 TRUE INK 21325
PR124 FALSE DOT 15595
PR134 TRUE LASER 20570

SQL> select * from pc,printer;


MODEL_NO SPEED RAM HD CD PRICE
---------- ---------- ---------- ---------- ---------- ----------
MODEL_NO COLOR TYPE PRICE PRINTERCODE
--------------- --------------- --------------- ---------- ------------
PC112 2 256 60 52 44932
PR114 TRUE INK 21325
PC122 2 256 60 48 47179
PR114 TRUE INK 21325
PC132 1 128 100 68 56165
PR114 TRUE INK 21325

MODEL_NO SPEED RAM HD CD PRICE


---------- ---------- ---------- ---------- ---------- ----------
MODEL_NO COLOR TYPE PRICE PRINTERCODE
--------------- --------------- --------------- ---------- ------------
PC134 1 512 60 68 89864
PR114 TRUE INK 21325
PC136 2 512 100 68 101097
PR114 TRUE INK 21325
PC112 2 256 60 52 44932
PR124 FALSE DOT 15595

MODEL_NO SPEED RAM HD CD PRICE


---------- ---------- ---------- ---------- ---------- ----------
MODEL_NO COLOR TYPE PRICE PRINTERCODE
--------------- --------------- --------------- ---------- ------------
PC122 2 256 60 48 47179
PR124 FALSE DOT 15595
PC132 1 128 100 68 56165
PR124 FALSE DOT 15595
PC134 1 512 60 68 89864
PR124 FALSE DOT 15595

MODEL_NO SPEED RAM HD CD PRICE


---------- ---------- ---------- ---------- ---------- ----------
MODEL_NO COLOR TYPE PRICE PRINTERCODE
--------------- --------------- --------------- ---------- ------------
PC136 2 512 100 68 101097
PR124 FALSE DOT 15595
PC112 2 256 60 52 44932
PR134 TRUE LASER 20570
PC122 2 256 60 48 47179
PR134 TRUE LASER 20570

MODEL_NO SPEED RAM HD CD PRICE


---------- ---------- ---------- ---------- ---------- ----------
MODEL_NO COLOR TYPE PRICE PRINTERCODE
--------------- --------------- --------------- ---------- ------------
PC132 1 128 100 68 56165
PR134 TRUE LASER 20570
PC134 1 512 60 68 89864
PR134 TRUE LASER 20570
PC136 2 512 100 68 101097
PR134 TRUE LASER 20570

15 rows selected.
2. Give an example for a Cartesian join involving 3 tables.
SQL> select * from pc;
MODEL_NO SPEED RAM HD CD PRICE
---------- ---------- ---------- ---------- ---------- ----------
PC112 2 256 60 52 55000
PC122 2 256 60 48 50000
PC132 1 128 100 68 56165
PC134 1 512 60 68 89864
PC136 2 512 100 68 101097
SQL> select * from laptop;
MODEL_NO SPEED RAM HD SCREENSIZE PRICE
---------- ---------- ---------- ---------- ---------- ----------
LP113 1 64 40 14 59000
LP123 2 128 60 16 72000
LP114 2 128 40 17 50549
LP133 2 256 80 17 112330
SQL> select * from printer;
MODEL_NO COLOR TYPE PRICE PRINTERCODE
--------------- --------------- --------------- ---------- ------------
PR114 TRUE INK 21325
PR124 FALSE DOT 15595
SQL> select * from pc,laptop,printer;
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC112 2 256 60 52 55000 LP113
1 64 40 14 59000 PR114
TRUE INK 21325
PC122 2 256 60 48 50000 LP113
1 64 40 14 59000 PR114
TRUE INK 21325
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC132 1 128 100 68 56165 LP113
1 64 40 14 59000 PR114
TRUE INK 21325
PC134 1 512 60 68 89864 LP113
1 64 40 14 59000 PR114
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
TRUE INK 21325
PC136 2 512 100 68 101097 LP113
1 64 40 14 59000 PR114
TRUE INK 21325
PC112 2 256 60 52 55000 LP123
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
2 128 60 16 72000 PR114
TRUE INK 21325
PC122 2 256 60 48 50000 LP123
2 128 60 16 72000 PR114
TRUE INK 21325

MODEL_NO SPEED RAM HD CD PRICE MODEL_NO


---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC132 1 128 100 68 56165 LP123
2 128 60 16 72000 PR114
TRUE INK 21325
PC134 1 512 60 68 89864 LP123
2 128 60 16 72000 PR114
TRUE INK 21325
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC136 2 512 100 68 101097 LP123
2 128 60 16 72000 PR114
TRUE INK 21325
PC112 2 256 60 52 55000 LP114
2 128 40 17 50549 PR114
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
TRUE INK 21325
PC122 2 256 60 48 50000 LP114
2 128 40 17 50549 PR114
TRUE INK 21325
PC132 1 128 100 68 56165 LP114
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
2 128 40 17 50549 PR114
TRUE INK 21325
PC134 1 512 60 68 89864 LP114
2 128 40 17 50549 PR114
TRUE INK 21325

MODEL_NO SPEED RAM HD CD PRICE MODEL_NO


---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC136 2 512 100 68 101097 LP114
2 128 40 17 50549 PR114
TRUE INK 21325
PC112 2 256 60 52 55000 LP133
2 256 80 17 112330 PR114
TRUE INK 21325
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC122 2 256 60 48 50000 LP133
2 256 80 17 112330 PR114
TRUE INK 21325
PC132 1 128 100 68 56165 LP133
2 256 80 17 112330 PR114
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
TRUE INK 21325
PC134 1 512 60 68 89864 LP133
2 256 80 17 112330 PR114
TRUE INK 21325
PC136 2 512 100 68 101097 LP133
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
2 256 80 17 112330 PR114
TRUE INK 21325
PC112 2 256 60 52 55000 LP113
1 64 40 14 59000 PR124
FALSE DOT 15595

MODEL_NO SPEED RAM HD CD PRICE MODEL_NO


---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC122 2 256 60 48 50000 LP113
1 64 40 14 59000 PR124
FALSE DOT 15595
PC132 1 128 100 68 56165 LP113
1 64 40 14 59000 PR124
FALSE DOT 15595
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC134 1 512 60 68 89864 LP113
1 64 40 14 59000 PR124
FALSE DOT 15595
PC136 2 512 100 68 101097 LP113
1 64 40 14 59000 PR124
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
FALSE DOT 15595
PC112 2 256 60 52 55000 LP123
2 128 60 16 72000 PR124
FALSE DOT 15595
PC122 2 256 60 48 50000 LP123
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
2 128 60 16 72000 PR124
FALSE DOT 15595
PC132 1 128 100 68 56165 LP123
2 128 60 16 72000 PR124
FALSE DOT 15595

MODEL_NO SPEED RAM HD CD PRICE MODEL_NO


---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC134 1 512 60 68 89864 LP123
2 128 60 16 72000 PR124
FALSE DOT 15595
PC136 2 512 100 68 101097 LP123
2 128 60 16 72000 PR124
FALSE DOT 15595
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC112 2 256 60 52 55000 LP114
2 128 40 17 50549 PR124
FALSE DOT 15595
PC122 2 256 60 48 50000 LP114
2 128 40 17 50549 PR124
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
FALSE DOT 15595
PC132 1 128 100 68 56165 LP114
2 128 40 17 50549 PR124
FALSE DOT 15595
PC134 1 512 60 68 89864 LP114
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
2 128 40 17 50549 PR124
FALSE DOT 15595
PC136 2 512 100 68 101097 LP114
2 128 40 17 50549 PR124
FALSE DOT 15595

MODEL_NO SPEED RAM HD CD PRICE MODEL_NO


---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC112 2 256 60 52 55000 LP133
2 256 80 17 112330 PR124
FALSE DOT 15595
PC122 2 256 60 48 50000 LP133
2 256 80 17 112330 PR124
FALSE DOT 15595
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
PC132 1 128 100 68 56165 LP133
2 256 80 17 112330 PR124
FALSE DOT 15595
PC134 1 512 60 68 89864 LP133
2 256 80 17 112330 PR124
MODEL_NO SPEED RAM HD CD PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------- ----------
SPEED RAM HD SCREENSIZE PRICE MODEL_NO
---------- ---------- ---------- ---------- ---------- ---------------
COLOR TYPE PRICE PRINTERCODE
--------------- --------------- ---------- ------------
FALSE DOT 15595
PC136 2 512 100 68 101097 LP133
2 256 80 17 112330 PR124
FALSE DOT 15595

40 rows selected.

3. List the name, age, skill from the worker and worker skill tables for workers
whose age is greater than 30 (use equi join).

SQL> select * from worker;


NAME AGE DOJ
-------------------- ---------- ---------
DICK JONES 33 12-MAR-00
WILLIAM SWING 30 15-APR-00
BART SARJEANT 32 20-MAY-01
SUMA RANGANATH 21 15-JUN-01
RICHARD WILLIAMS 29 25-JAN-02
BHARATH KUMAR 36 27-MAR-03
JOHN PEARSON 28 27-JAN-03
JACKSON 34 10-FEB-01
MEENA KUMARI 29 01-JAN-01
ADAH TALBOT 27 05-SEP-05
10 rows selected.
SQL> select * from workerskill;
NAME SKILL CITY PHONE
-------------------- --------------- ---------- ---------------
DICK JONES SMITHY TRICHY 91-0437-77651
JOHN PEARSON COMBINE DRIVER CHENNAI 91-0426-98721
HELEN BRANDT COMBINE DIRVER MADURAI 91-0435-33333
JOHN PEARSON COMBINE DRIVER CHENNAI 91-0453-98765
JOHN PEARSON SMITHY MADURAI 91-0345-34565
VICTORIA LYNN SMITHY SYDNEY 91-0234-98723
ADAH TALBOT WORK THANJAVUR 91-0652-66544
ELBERT LOWELL DISCUS DELHI 91-0433-90875
WILFRED LOWELL WORK SALEM 91-0213-98723
ANAND KUMAR PROGRAM ERODE 91-0441-98123
JACKSON PROGRAM HOSUR 91-0543-90873
11 rows selected.
SQL> select a.name,a.age,b.skill from worker a,workerskill b where a.age>30 and
a.name=b.name
2 ;
NAME AGE SKILL
-------------------- ---------- ---------------
DICK JONES 33 SMITHY
JACKSON 34 PROGRAM
4. Give an example for a non-equi join.
SQL> select b.name,a.age,b.skill from worker a,workerskill b where a.age>35 and
a.name<>b.name;
NAME AGE SKILL
-------------------- ---------- ---------------
DICK JONES 36 SMITHY
JOHN PEARSON 36 COMBINE DRIVER
HELEN BRANDT 36 COMBINE DIRVER
JOHN PEARSON 36 COMBINE DRIVER
JOHN PEARSON 36 SMITHY
VICTORIA LYNN 36 SMITHY
ADAH TALBOT 36 WORK
ELBERT LOWELL 36 DISCUS
WILFRED LOWELL 36 WORK
ANAND KUMAR 36 PROGRAM
JACKSON 36 PROGRAM
11 rows selected.
5. List the distinct combinations of PC models whose HD capacities are same (use
self join).
SQL> select * from pc;
MODEL_NO SPEED RAM HD CD PRICE
---------- ---------- ---------- ---------- ---------- ----------
PC112 2 256 60 52 44932
PC122 2 256 60 48 47179
PC132 1 128 100 68 56165
PC134 1 512 60 68 89864
PC136 2 512 100 68 101097
6. Display the manufacturers of PC along with the details model, price (use inne
r join).

SQL> select a.maker,b.model_no,b.price from product_info a, pc b where a.model_n


o=b.model_no;
MAKER MODEL_NO PRICE
---------- ---------- ----------
HCL PC112 44932
WIPRO PC122 47179
IBM PC132 56165
IBM PC134 89864
HCL PC136 101097

7. List the laptop and pc pairs whose price is same (list the model numbers, use
inner join).
SQL> select * from pc1;
MODEL_NO SPEED RAM HD CD PRICE
---------- ---------- ---------- ---------- ---------- ----------
PC112 2 256 60 52 59000
PC122 2 256 60 48 47179
PC132 1 128 100 68 56165
PC134 1 512 60 68 89864
PC136 2 512 100 68 101097

SQL> select * from laptop;


MODEL_NO SPEED RAM HD SCREENSIZE PRICE
---------- ---------- ---------- ---------- ---------- ----------
LP113 1 64 40 14 59000
LP123 2 128 60 16 72000
LP114 2 128 40 17 50549
LP133 2 256 80 17 112330

SQL> select a.model_no,b.model_no from pc1 a,laptop b where a.price=b.price;


MODEL_NO MODEL_NO
---------- ----------
PC112 LP113

8. Give an example for left outer, right outer and full outer joins.

SQL> select * from worker;


NAME AGE DOJ
-------------------- ---------- ---------
DICK JONES 33 12-MAR-00
WILLIAM SWING 30 15-APR-00
BART SARJEANT 32 20-MAY-01
SUMA RANGANATH 21 15-JUN-01
RICHARD WILLIAMS 29 25-JAN-02
BHARATH KUMAR 36 27-MAR-03
JOHN PEARSON 28 27-JAN-03
JACKSON 34 10-FEB-01
MEENA KUMARI 29 01-JAN-01
ADAH TALBOT 27 05-SEP-05
10 rows selected.
SQL> select * from workerskill;
NAME SKILL CITY PHONE
-------------------- --------------- ---------- ---------------
DICK JONES SMITHY TRICHY 91-0437-77651
JOHN PEARSON COMBINE DRIVER CHENNAI 91-0426-98721
HELEN BRANDT COMBINE DIRVER MADURAI 91-0435-33333
JOHN PEARSON COMBINE DRIVER CHENNAI 91-0453-98765
JOHN PEARSON SMITHY MADURAI 91-0345-34565
VICTORIA LYNN SMITHY SYDNEY 91-0234-98723
ADAH TALBOT WORK THANJAVUR 91-0652-66544
ELBERT LOWELL DISCUS DELHI 91-0433-90875
WILFRED LOWELL WORK SALEM 91-0213-98723
ANAND KUMAR PROGRAM ERODE 91-0441-98123
JACKSON PROGRAM HOSUR 91-0543-90873
11 rows selected.

LEFT OUTER JOIN

SQL> select a.name,a.age,b.skill from worker a,workerskill b where a.name=b.name


(+);
NAME AGE SKILL
-------------------- ---------- ---------------
ADAH TALBOT 27 WORK
BART SARJEANT 32
BHARATH KUMAR 36
DICK JONES 33 SMITHY
JACKSON 34 PROGRAM
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 SMITHY
MEENA KUMARI 29
RICHARD WILLIAMS 29
SUMA RANGANATH 21
NAME AGE SKILL
-------------------- ---------- ---------------
WILLIAM SWING 30
12 rows selected.
LEFT OUTER JOIN(USING KEYWORD)
SQL> select w.name,w.age,ws.skill from worker w left outer join workerskill ws o
n w.name=ws.name;
NAME AGE SKILL
-------------------- ---------- ---------------
DICK JONES 33 SMITHY
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 SMITHY
ADAH TALBOT 27 WORK
JACKSON 34 PROGRAM
WILLIAM SWING 30
RICHARD WILLIAMS 29
SUMA RANGANATH 21
BART SARJEANT 32
BHARATH KUMAR 36
NAME AGE SKILL
-------------------- ---------- ---------------
MEENA KUMARI 29
RIGHT OUTER JOIN
SQL> select a.name,a.age,b.skill from worker a,workerskill b where a.name(+)=b.n
ame;
NAME AGE SKILL
-------------------- ---------- ---------------
ADAH TALBOT 27 WORK
PROGRAM
DICK JONES 33 SMITHY
DISCUS
COMBINE DIRVER
JACKSON 34 PROGRAM
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 SMITHY
SMITHY
WORK
RIGHT OUTER JOIN(USING KEYWORD)
SQL> select w.name,w.age,ws.skill from worker w right outer join workerskill ws
on w.name=ws.name;
NAME AGE SKILL
-------------------- ---------- ---------------
DICK JONES 33 SMITHY
JOHN PEARSON 28 SMITHY
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 COMBINE DRIVER
JACKSON 34 PROGRAM
ADAH TALBOT 27 WORK
PROGRAM
SMITHY
WORK
DISCUS
COMBINE DIRVER
11 rows selected.

FULL OUTER JOIN


SQL> select a.name,a.age,b.skill from worker a,workerskill b where a.name=b.name
(+) union select a.n
ame,a.age,b.skill from worker a,workerskill b where a.name=b.name(+);
NAME AGE SKILL
-------------------- ---------- ---------------
ADAH TALBOT 27 WORK
BART SARJEANT 32
BHARATH KUMAR 36
DICK JONES 33 SMITHY
JACKSON 34 PROGRAM
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 SMITHY
MEENA KUMARI 29
RICHARD WILLIAMS 29
SUMA RANGANATH 21
WILLIAM SWING 30
11 rows selected.

FULL OUTER JOIN(USING KEYWORD)


SQL> select w.name,w.age,ws.skill from worker w full outer join workerskill ws o
n w.name =ws.name;
NAME AGE SKILL
-------------------- ---------- ---------------
DICK JONES 33 SMITHY
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 COMBINE DRIVER
JOHN PEARSON 28 SMITHY
ADAH TALBOT 27 WORK
JACKSON 34 PROGRAM
WILLIAM SWING 30
RICHARD WILLIAMS 29
SUMA RANGANATH 21
BART SARJEANT 32
BHARATH KUMAR 36
NAME AGE SKILL
-------------------- ---------- ---------------
MEENA KUMARI 29
PROGRAM
SMITHY
WORK
DISCUS
COMBINE DIRVER
17 rows selected.

9. Give an example of how NVL function can be used effectively in outer joins.

SQL> select a.name,a.age,NVL(b.name,'NULL') as name from worker a, workerskill


b where a.name=b.nam
e(+);
NAME AGE NAME
-------------------- ---------- --------------------
ADAH TALBOT 27 ADAH TALBOT
BART SARJEANT 32 NULL
BHARATH KUMAR 36 NULL
DICK JONES 33 DICK JONES
JACKSON 34 JACKSON
JOHN PEARSON 28 JOHN PEARSON
JOHN PEARSON 28 JOHN PEARSON
JOHN PEARSON 28 JOHN PEARSON
MEENA KUMARI 29 NULL
RICHARD WILLIAMS 29 NULL
SUMA RANGANATH 21 NULL
NAME AGE NAME
-------------------- ---------- --------------------
WILLIAM SWING 30 NULL
12 rows selected.

SQL> select NVL(a.name,'NULL') as name,a.age,b.name from worker a,workerskill b


where a.name(+)=b.na
me;
NAME AGE NAME
-------------------- ---------- --------------------
ADAH TALBOT 27 ADAH TALBOT
NULL ANAND KUMAR
DICK JONES 33 DICK JONES
NULL ELBERT LOWELL
NULL HELEN BRANDT
JACKSON 34 JACKSON
JOHN PEARSON 28 JOHN PEARSON
JOHN PEARSON 28 JOHN PEARSON
JOHN PEARSON 28 JOHN PEARSON
NULL VICTORIA LYNN
NULL WILFRED LOWELL
11 rows selected.

Das könnte Ihnen auch gefallen