<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL%2FTable_Joins%2FANSI_SQL_92_Joins</id>
		<title>Oracle PL/SQL/Table Joins/ANSI SQL 92 Joins - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://www.sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL%2FTable_Joins%2FANSI_SQL_92_Joins"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL/Table_Joins/ANSI_SQL_92_Joins&amp;action=history"/>
		<updated>2026-04-04T10:08:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL/Table_Joins/ANSI_SQL_92_Joins&amp;diff=978&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL/Table_Joins/ANSI_SQL_92_Joins&amp;diff=978&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL/Table_Joins/ANSI_SQL_92_Joins&amp;diff=979&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL/Table_Joins/ANSI_SQL_92_Joins&amp;diff=979&amp;oldid=prev"/>
				<updated>2010-05-26T09:54:31Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Performing Cross Joins Using SQL/92==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    ename              VARCHAR2(10 BYTE),   -- Employee Name&lt;br /&gt;
  4    hireDate          DATE,                -- Date Employee Hired&lt;br /&gt;
  5    orig_salary        Number(8,2),         -- Orignal Salary&lt;br /&gt;
  6    curr_salary        Number(8,2),         -- Current Salary&lt;br /&gt;
  7    region             VARCHAR2(1 BYTE)     -- Region where employeed&lt;br /&gt;
  8  )&lt;br /&gt;
  9  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table job(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    jobtitle           VARCHAR2(10 BYTE)    -- Employee job title&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; -- prepare data for employee table&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(122,&amp;quot;Alison&amp;quot;,to_date(&amp;quot;19960321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 45000,       48000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(123, &amp;quot;James&amp;quot;,to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 23000,       32000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(104,&amp;quot;Celia&amp;quot;,to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 53000,       58000,        &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(105,&amp;quot;Robert&amp;quot;,to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 31000,      36000,        &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(116,&amp;quot;Linda&amp;quot;, to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 43000,       53000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(117,&amp;quot;David&amp;quot;, to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 78000,       85000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(108,&amp;quot;Jode&amp;quot;,  to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 21000,       29000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data for job table&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(101,   &amp;quot;Painter&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(122,   &amp;quot;Tester&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(123,   &amp;quot;Dediator&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(104,   &amp;quot;Chemist&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(105,   &amp;quot;Accountant&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(116,   &amp;quot;Manager&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(117,   &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(108,   &amp;quot;Developer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- display data in the table&lt;br /&gt;
SQL&amp;gt; select * from Employee&lt;br /&gt;
  2  /&lt;br /&gt;
     EMPNO ENAME      HIREDATE  ORIG_SALARY CURR_SALARY R&lt;br /&gt;
---------- ---------- --------- ----------- ----------- -&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E&lt;br /&gt;
7 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from job;&lt;br /&gt;
     EMPNO JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
       101 Painter&lt;br /&gt;
       122 Tester&lt;br /&gt;
       123 Dediator&lt;br /&gt;
       104 Chemist&lt;br /&gt;
       105 Accountant&lt;br /&gt;
       116 Manager&lt;br /&gt;
       117 Programmer&lt;br /&gt;
       108 Developer&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --Performing Cross Joins Using SQL/92&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT *&lt;br /&gt;
  2  FROM employee CROSS JOIN job;&lt;br /&gt;
     EMPNO ENAME      HIREDATE  ORIG_SALARY CURR_SALARY R      EMPNO JOBTITLE&lt;br /&gt;
---------- ---------- --------- ----------- ----------- - ---------- ----------&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        101 Painter&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        122 Tester&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        123 Dediator&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        104 Chemist&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        105 Accountant&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        116 Manager&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        117 Programmer&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E        108 Developer&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        101 Painter&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        122 Tester&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        123 Dediator&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        104 Chemist&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        105 Accountant&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        116 Manager&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        117 Programmer&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W        108 Developer&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        101 Painter&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        122 Tester&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        123 Dediator&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        104 Chemist&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        105 Accountant&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        116 Manager&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        117 Programmer&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E        108 Developer&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        101 Painter&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        122 Tester&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        123 Dediator&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        104 Chemist&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        105 Accountant&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        116 Manager&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        117 Programmer&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W        108 Developer&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        101 Painter&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        122 Tester&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        123 Dediator&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        104 Chemist&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        105 Accountant&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        116 Manager&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        117 Programmer&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E        108 Developer&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        101 Painter&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        122 Tester&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        123 Dediator&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        104 Chemist&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        105 Accountant&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        116 Manager&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        117 Programmer&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W        108 Developer&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        101 Painter&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        122 Tester&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        123 Dediator&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        104 Chemist&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        105 Accountant&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        116 Manager&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        117 Programmer&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E        108 Developer&lt;br /&gt;
56 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table job;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- clean the table&lt;br /&gt;
SQL&amp;gt; drop table Employee&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Performing Full Outer Joins Using SQL/92==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    ename              VARCHAR2(10 BYTE),   -- Employee Name&lt;br /&gt;
  4    hireDate          DATE,                -- Date Employee Hired&lt;br /&gt;
  5    orig_salary        Number(8,2),         -- Orignal Salary&lt;br /&gt;
  6    curr_salary        Number(8,2),         -- Current Salary&lt;br /&gt;
  7    region             VARCHAR2(1 BYTE)     -- Region where employeed&lt;br /&gt;
  8  )&lt;br /&gt;
  9  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table job(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    jobtitle           VARCHAR2(10 BYTE)    -- Employee job title&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; -- prepare data for employee table&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(122,&amp;quot;Alison&amp;quot;,to_date(&amp;quot;19960321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 45000,       48000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(123, &amp;quot;James&amp;quot;,to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 23000,       32000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(104,&amp;quot;Celia&amp;quot;,to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 53000,       58000,        &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(105,&amp;quot;Robert&amp;quot;,to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 31000,      36000,        &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(116,&amp;quot;Linda&amp;quot;, to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 43000,       53000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(117,&amp;quot;David&amp;quot;, to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 78000,       85000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(108,&amp;quot;Jode&amp;quot;,  to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 21000,       29000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data for job table&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(101,   &amp;quot;Painter&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(122,   &amp;quot;Tester&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(123,   &amp;quot;Dediator&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(104,   &amp;quot;Chemist&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(105,   &amp;quot;Accountant&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(116,   &amp;quot;Manager&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(117,   &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(108,   &amp;quot;Developer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- display data in the table&lt;br /&gt;
SQL&amp;gt; select * from Employee&lt;br /&gt;
  2  /&lt;br /&gt;
     EMPNO ENAME      HIREDATE  ORIG_SALARY CURR_SALARY R&lt;br /&gt;
---------- ---------- --------- ----------- ----------- -&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E&lt;br /&gt;
7 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from job;&lt;br /&gt;
     EMPNO JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
       101 Painter&lt;br /&gt;
       122 Tester&lt;br /&gt;
       123 Dediator&lt;br /&gt;
       104 Chemist&lt;br /&gt;
       105 Accountant&lt;br /&gt;
       116 Manager&lt;br /&gt;
       117 Programmer&lt;br /&gt;
       108 Developer&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- Performing Full Outer Joins Using SQL/92&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --A full outer join uses all rows in the joined tables including those that have null values in&lt;br /&gt;
SQL&amp;gt; --either of the columns used in the join. The following example shows a query that uses the SQL/92&lt;br /&gt;
SQL&amp;gt; -- FULL OUTER JOIN keywords:&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle&lt;br /&gt;
  2  FROM employee e FULL OUTER JOIN job j&lt;br /&gt;
  3  USING (empno);&lt;br /&gt;
ENAME      JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
Alison     Tester&lt;br /&gt;
James      Dediator&lt;br /&gt;
Celia      Chemist&lt;br /&gt;
Robert     Accountant&lt;br /&gt;
Linda      Manager&lt;br /&gt;
David      Programmer&lt;br /&gt;
Jode       Developer&lt;br /&gt;
           Painter&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table job;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- clean the table&lt;br /&gt;
SQL&amp;gt; drop table Employee&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Performing Left Outer Joins Using SQL/92==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    ename              VARCHAR2(10 BYTE),   -- Employee Name&lt;br /&gt;
  4    hireDate          DATE,                -- Date Employee Hired&lt;br /&gt;
  5    orig_salary        Number(8,2),         -- Orignal Salary&lt;br /&gt;
  6    curr_salary        Number(8,2),         -- Current Salary&lt;br /&gt;
  7    region             VARCHAR2(1 BYTE)     -- Region where employeed&lt;br /&gt;
  8  )&lt;br /&gt;
  9  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table job(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    jobtitle           VARCHAR2(10 BYTE)    -- Employee job title&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; -- prepare data for employee table&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(122,&amp;quot;Alison&amp;quot;,to_date(&amp;quot;19960321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 45000,       48000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(123, &amp;quot;James&amp;quot;,to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 23000,       32000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(104,&amp;quot;Celia&amp;quot;,to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 53000,       58000,        &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(105,&amp;quot;Robert&amp;quot;,to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 31000,      36000,        &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(116,&amp;quot;Linda&amp;quot;, to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 43000,       53000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(117,&amp;quot;David&amp;quot;, to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 78000,       85000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(108,&amp;quot;Jode&amp;quot;,  to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 21000,       29000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data for job table&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(101,   &amp;quot;Painter&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(122,   &amp;quot;Tester&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(123,   &amp;quot;Dediator&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(104,   &amp;quot;Chemist&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(105,   &amp;quot;Accountant&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(116,   &amp;quot;Manager&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(117,   &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(108,   &amp;quot;Developer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- display data in the table&lt;br /&gt;
SQL&amp;gt; select * from Employee&lt;br /&gt;
  2  /&lt;br /&gt;
     EMPNO ENAME      HIREDATE  ORIG_SALARY CURR_SALARY R&lt;br /&gt;
---------- ---------- --------- ----------- ----------- -&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E&lt;br /&gt;
7 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from job;&lt;br /&gt;
     EMPNO JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
       101 Painter&lt;br /&gt;
       122 Tester&lt;br /&gt;
       123 Dediator&lt;br /&gt;
       104 Chemist&lt;br /&gt;
       105 Accountant&lt;br /&gt;
       116 Manager&lt;br /&gt;
       117 Programmer&lt;br /&gt;
       108 Developer&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- Performing Left Outer Joins Using SQL/92&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- Earlier you saw the following query that performed a left outer join:&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle&lt;br /&gt;
  2  FROM employee e, job j&lt;br /&gt;
  3  WHERE e.empno = j.empno (+);&lt;br /&gt;
ENAME      JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
Alison     Tester&lt;br /&gt;
James      Dediator&lt;br /&gt;
Celia      Chemist&lt;br /&gt;
Robert     Accountant&lt;br /&gt;
Linda      Manager&lt;br /&gt;
David      Programmer&lt;br /&gt;
Jode       Developer&lt;br /&gt;
7 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- The next example rewrites this query using the SQL/92 LEFT OUTER JOIN keywords:&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle&lt;br /&gt;
  2  FROM employee e LEFT OUTER JOIN job j&lt;br /&gt;
  3  USING (empno);&lt;br /&gt;
ENAME      JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
Alison     Tester&lt;br /&gt;
James      Dediator&lt;br /&gt;
Celia      Chemist&lt;br /&gt;
Robert     Accountant&lt;br /&gt;
Linda      Manager&lt;br /&gt;
David      Programmer&lt;br /&gt;
Jode       Developer&lt;br /&gt;
7 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table job;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- clean the table&lt;br /&gt;
SQL&amp;gt; drop table Employee&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Performing Right Outer Joins Using SQL/92==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    ename              VARCHAR2(10 BYTE),   -- Employee Name&lt;br /&gt;
  4    hireDate          DATE,                -- Date Employee Hired&lt;br /&gt;
  5    orig_salary        Number(8,2),         -- Orignal Salary&lt;br /&gt;
  6    curr_salary        Number(8,2),         -- Current Salary&lt;br /&gt;
  7    region             VARCHAR2(1 BYTE)     -- Region where employeed&lt;br /&gt;
  8  )&lt;br /&gt;
  9  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table job(&lt;br /&gt;
  2    empno              Number(3)  NOT NULL, -- Employee ID&lt;br /&gt;
  3    jobtitle           VARCHAR2(10 BYTE)    -- Employee job title&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; -- prepare data for employee table&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(122,&amp;quot;Alison&amp;quot;,to_date(&amp;quot;19960321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 45000,       48000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(123, &amp;quot;James&amp;quot;,to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 23000,       32000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(104,&amp;quot;Celia&amp;quot;,to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 53000,       58000,        &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(105,&amp;quot;Robert&amp;quot;,to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 31000,      36000,        &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(116,&amp;quot;Linda&amp;quot;, to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 43000,       53000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(117,&amp;quot;David&amp;quot;, to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 78000,       85000,       &amp;quot;W&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(empno,  ename,  hireDate,                       orig_salary, curr_salary, region)&lt;br /&gt;
  2                values(108,&amp;quot;Jode&amp;quot;,  to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 21000,       29000,       &amp;quot;E&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data for job table&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(101,   &amp;quot;Painter&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(122,   &amp;quot;Tester&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(123,   &amp;quot;Dediator&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(104,   &amp;quot;Chemist&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(105,   &amp;quot;Accountant&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(116,   &amp;quot;Manager&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(117,   &amp;quot;Programmer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job(empno, jobtitle)&lt;br /&gt;
  2           values(108,   &amp;quot;Developer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- display data in the table&lt;br /&gt;
SQL&amp;gt; select * from Employee&lt;br /&gt;
  2  /&lt;br /&gt;
     EMPNO ENAME      HIREDATE  ORIG_SALARY CURR_SALARY R&lt;br /&gt;
---------- ---------- --------- ----------- ----------- -&lt;br /&gt;
       122 Alison     21-MAR-96       45000       48000 E&lt;br /&gt;
       123 James      12-DEC-78       23000       32000 W&lt;br /&gt;
       104 Celia      24-OCT-82       53000       58000 E&lt;br /&gt;
       105 Robert     15-JAN-84       31000       36000 W&lt;br /&gt;
       116 Linda      30-JUL-87       43000       53000 E&lt;br /&gt;
       117 David      31-DEC-90       78000       85000 W&lt;br /&gt;
       108 Jode       17-SEP-96       21000       29000 E&lt;br /&gt;
7 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from job;&lt;br /&gt;
     EMPNO JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
       101 Painter&lt;br /&gt;
       122 Tester&lt;br /&gt;
       123 Dediator&lt;br /&gt;
       104 Chemist&lt;br /&gt;
       105 Accountant&lt;br /&gt;
       116 Manager&lt;br /&gt;
       117 Programmer&lt;br /&gt;
       108 Developer&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- Performing Right Outer Joins Using SQL/92&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- Earlier you saw the following query that performed a right outer join:&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle&lt;br /&gt;
  2  FROM employee e, job j&lt;br /&gt;
  3  WHERE e.empno (+) = j.empno;&lt;br /&gt;
ENAME      JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
Alison     Tester&lt;br /&gt;
James      Dediator&lt;br /&gt;
Celia      Chemist&lt;br /&gt;
Robert     Accountant&lt;br /&gt;
Linda      Manager&lt;br /&gt;
David      Programmer&lt;br /&gt;
Jode       Developer&lt;br /&gt;
           Painter&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- The next example rewrites this query using the SQL/92 RIGHT OUTER JOIN keywords:&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle&lt;br /&gt;
  2  FROM employee e RIGHT OUTER JOIN job j&lt;br /&gt;
  3  USING (empno);&lt;br /&gt;
ENAME      JOBTITLE&lt;br /&gt;
---------- ----------&lt;br /&gt;
Alison     Tester&lt;br /&gt;
James      Dediator&lt;br /&gt;
Celia      Chemist&lt;br /&gt;
Robert     Accountant&lt;br /&gt;
Linda      Manager&lt;br /&gt;
David      Programmer&lt;br /&gt;
Jode       Developer&lt;br /&gt;
           Painter&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table job;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- clean the table&lt;br /&gt;
SQL&amp;gt; drop table Employee&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Performing Self Joins Using SQL/92==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE EMP (EMPNO NUMBER(4) NOT NULL,&lt;br /&gt;
  2                    ENAME VARCHAR2(10),&lt;br /&gt;
  3                    JOB VARCHAR2(9),&lt;br /&gt;
  4                    MGR NUMBER(4),&lt;br /&gt;
  5                    HIREDATE DATE,&lt;br /&gt;
  6                    SAL NUMBER(7, 2),&lt;br /&gt;
  7                    COMM NUMBER(7, 2),&lt;br /&gt;
  8                    DEPTNO NUMBER(2));&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7369, &amp;quot;SMITH&amp;quot;, &amp;quot;CLERK&amp;quot;,    7902, TO_DATE(&amp;quot;17-DEC-1980&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 800, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7499, &amp;quot;ALLEN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;20-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1600, 300, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7521, &amp;quot;WARD&amp;quot;,  &amp;quot;SALESMAN&amp;quot;, 7698, TO_DATE(&amp;quot;22-FEB-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 500, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7566, &amp;quot;JONES&amp;quot;, &amp;quot;MANAGER&amp;quot;,  7839, TO_DATE(&amp;quot;2-APR-1981&amp;quot;,  &amp;quot;DD-MON-YYYY&amp;quot;), 2975, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7654, &amp;quot;MARTIN&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;28-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1250, 1400, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7698, &amp;quot;BLAKE&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;1-MAY-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2850, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7782, &amp;quot;CLARK&amp;quot;, &amp;quot;MANAGER&amp;quot;, 7839,TO_DATE(&amp;quot;9-JUN-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 2450, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7788, &amp;quot;SCOTT&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;09-DEC-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7839, &amp;quot;KING&amp;quot;, &amp;quot;PRESIDENT&amp;quot;, NULL,TO_DATE(&amp;quot;17-NOV-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 5000, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7844, &amp;quot;TURNER&amp;quot;, &amp;quot;SALESMAN&amp;quot;, 7698,TO_DATE(&amp;quot;8-SEP-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1500, 0, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7876, &amp;quot;ADAMS&amp;quot;, &amp;quot;CLERK&amp;quot;, 7788,TO_DATE(&amp;quot;12-JAN-1983&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1100, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7900, &amp;quot;JAMES&amp;quot;, &amp;quot;CLERK&amp;quot;, 7698,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 950, NULL, 30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7902, &amp;quot;FORD&amp;quot;, &amp;quot;ANALYST&amp;quot;, 7566,TO_DATE(&amp;quot;3-DEC-1981&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 3000, NULL, 20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO EMP VALUES (7934, &amp;quot;MILLER&amp;quot;, &amp;quot;CLERK&amp;quot;, 7782,TO_DATE(&amp;quot;23-JAN-1982&amp;quot;, &amp;quot;DD-MON-YYYY&amp;quot;), 1300, NULL, 10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select * from emp;&lt;br /&gt;
     EMPNO ENAME      JOB              MGR HIREDATE           SAL       COMM     DEPTNO&lt;br /&gt;
---------- ---------- --------- ---------- ----------- ---------- ---------- ----------&lt;br /&gt;
      7369 SMITH      CLERK           7902 1980-DEC-17        800                    20&lt;br /&gt;
      7499 ALLEN      SALESMAN        7698 1981-FEB-20       1600        300         30&lt;br /&gt;
      7521 WARD       SALESMAN        7698 1981-FEB-22       1250        500         30&lt;br /&gt;
      7566 JONES      MANAGER         7839 1981-APR-02       2975                    20&lt;br /&gt;
      7654 MARTIN     SALESMAN        7698 1981-SEP-28       1250       1400         30&lt;br /&gt;
      7698 BLAKE      MANAGER         7839 1981-MAY-01       2850                    30&lt;br /&gt;
      7782 CLARK      MANAGER         7839 1981-JUN-09       2450                    10&lt;br /&gt;
      7788 SCOTT      ANALYST         7566 1982-DEC-09       3000                    20&lt;br /&gt;
      7839 KING       PRESIDENT            1981-NOV-17       5000                    10&lt;br /&gt;
      7844 TURNER     SALESMAN        7698 1981-SEP-08       1500          0         30&lt;br /&gt;
      7876 ADAMS      CLERK           7788 1983-JAN-12       1100                    20&lt;br /&gt;
      7900 JAMES      CLERK           7698 1981-DEC-03        950                    30&lt;br /&gt;
      7902 FORD       ANALYST         7566 1981-DEC-03       3000                    20&lt;br /&gt;
      7934 MILLER     CLERK           7782 1982-JAN-23       1300                    10&lt;br /&gt;
14 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --Performing Self Joins Using SQL/92&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --The following example uses SQL/86 to perform a self join on the employees table:&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename || &amp;quot; works for &amp;quot; || m.ename&lt;br /&gt;
  2  FROM emp e, emp m&lt;br /&gt;
  3  WHERE e.mgr = m.empno;&lt;br /&gt;
E.ENAME||&amp;quot;WORKSFOR&amp;quot;||M.ENAME&lt;br /&gt;
-------------------------------&lt;br /&gt;
FORD works for JONES&lt;br /&gt;
SCOTT works for JONES&lt;br /&gt;
JAMES works for BLAKE&lt;br /&gt;
TURNER works for BLAKE&lt;br /&gt;
MARTIN works for BLAKE&lt;br /&gt;
WARD works for BLAKE&lt;br /&gt;
ALLEN works for BLAKE&lt;br /&gt;
MILLER works for CLARK&lt;br /&gt;
ADAMS works for SCOTT&lt;br /&gt;
CLARK works for KING&lt;br /&gt;
BLAKE works for KING&lt;br /&gt;
JONES works for KING&lt;br /&gt;
SMITH works for FORD&lt;br /&gt;
13 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- The next example rewrites this query to use the SQL/92 INNER JOIN and ON keywords:&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT w.ename || &amp;quot; works for &amp;quot; || m.ename&lt;br /&gt;
  2  FROM emp w INNER JOIN emp m&lt;br /&gt;
  3  ON w.mgr = m.empno;&lt;br /&gt;
W.ENAME||&amp;quot;WORKSFOR&amp;quot;||M.ENAME&lt;br /&gt;
-------------------------------&lt;br /&gt;
FORD works for JONES&lt;br /&gt;
SCOTT works for JONES&lt;br /&gt;
JAMES works for BLAKE&lt;br /&gt;
TURNER works for BLAKE&lt;br /&gt;
MARTIN works for BLAKE&lt;br /&gt;
WARD works for BLAKE&lt;br /&gt;
ALLEN works for BLAKE&lt;br /&gt;
MILLER works for CLARK&lt;br /&gt;
ADAMS works for SCOTT&lt;br /&gt;
CLARK works for KING&lt;br /&gt;
BLAKE works for KING&lt;br /&gt;
JONES works for KING&lt;br /&gt;
SMITH works for FORD&lt;br /&gt;
13 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table Emp&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>