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

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table_Joins/Outer_Join_SQL_92_Syntax&amp;diff=2771&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table_Joins/Outer_Join_SQL_92_Syntax&amp;diff=2771&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</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://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table_Joins/Outer_Join_SQL_92_Syntax&amp;diff=2772&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Table_Joins/Outer_Join_SQL_92_Syntax&amp;diff=2772&amp;oldid=prev"/>
				<updated>2010-05-26T10:03:54Z</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 Full Outer Joins Using SQL/92==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;A full outer join uses all rows in the joined tables including those that have null values in either of the columns used in the join.&amp;lt;/p&amp;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;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    EMPNO         NUMBER(3),&lt;br /&gt;
  3    ENAME         VARCHAR2(15 BYTE),&lt;br /&gt;
  4    HIREDATE      DATE,&lt;br /&gt;
  5    ORIG_SALARY   NUMBER(6),&lt;br /&gt;
  6    CURR_SALARY   NUMBER(6),&lt;br /&gt;
  7    REGION        VARCHAR2(1 BYTE),&lt;br /&gt;
  8    MANAGER_ID    NUMBER(3)&lt;br /&gt;
  9  )&lt;br /&gt;
 10  /&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),&lt;br /&gt;
  3    jobtitle      VARCHAR2(20 BYTE)&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (1,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (2,&amp;quot;Accountant&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (3,&amp;quot;Developer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (4,&amp;quot;COder&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (5,&amp;quot;Director&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (6,&amp;quot;Mediator&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (7,&amp;quot;Proffessor&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (8,&amp;quot;Programmer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (9,&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; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into Employee(EMPNO,  EName,   HIREDATE,                       ORIG_SALARY,       CURR_SALARY,  REGION, MANAGER_ID)&lt;br /&gt;
  2               values (1,      &amp;quot;Jason&amp;quot;, to_date(&amp;quot;19960725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1234,              8767,         &amp;quot;E&amp;quot;,    2)&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, MANAGER_ID)&lt;br /&gt;
  2               values (2,      &amp;quot;John&amp;quot;,  to_date(&amp;quot;19970715&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2341,              3456,         &amp;quot;W&amp;quot;,    3)&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, MANAGER_ID)&lt;br /&gt;
  2               values (3,      &amp;quot;Joe&amp;quot;,   to_date(&amp;quot;19860125&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 4321,              5654,         &amp;quot;E&amp;quot;,    3)&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, MANAGER_ID)&lt;br /&gt;
  2               values (4,      &amp;quot;Tom&amp;quot;,   to_date(&amp;quot;20060913&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2413,              6787,         &amp;quot;W&amp;quot;,    4)&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, MANAGER_ID)&lt;br /&gt;
  2               values (5,      &amp;quot;Jane&amp;quot;,  to_date(&amp;quot;20050417&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 7654,              4345,         &amp;quot;E&amp;quot;,    4)&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, MANAGER_ID)&lt;br /&gt;
  2               values (6,      &amp;quot;James&amp;quot;, to_date(&amp;quot;20040718&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 5679,              6546,         &amp;quot;W&amp;quot;,    5)&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, MANAGER_ID)&lt;br /&gt;
  2               values (7,      &amp;quot;Jodd&amp;quot;,  to_date(&amp;quot;20030720&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 5438,              7658,         &amp;quot;E&amp;quot;,    6)&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 (8,      &amp;quot;Joke&amp;quot;,  to_date(&amp;quot;20020101&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 8765,              4543,         &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 (9,      &amp;quot;Jack&amp;quot;,  to_date(&amp;quot;20010829&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 7896,              1232,         &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;&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 MANAGER_ID&lt;br /&gt;
---------- --------------- --------- ----------- ----------- - ----------&lt;br /&gt;
         1 Jason           25-JUL-96        1234        8767 E          2&lt;br /&gt;
         2 John            15-JUL-97        2341        3456 W          3&lt;br /&gt;
         3 Joe             25-JAN-86        4321        5654 E          3&lt;br /&gt;
         4 Tom             13-SEP-06        2413        6787 W          4&lt;br /&gt;
         5 Jane            17-APR-05        7654        4345 E          4&lt;br /&gt;
         6 James           18-JUL-04        5679        6546 W          5&lt;br /&gt;
         7 Jodd            20-JUL-03        5438        7658 E          6&lt;br /&gt;
         8 Joke            01-JAN-02        8765        4543 W&lt;br /&gt;
         9 Jack            29-AUG-01        7896        1232 E&lt;br /&gt;
9 rows selected.&lt;br /&gt;
SQL&amp;gt; select * from job&lt;br /&gt;
  2  /&lt;br /&gt;
     EMPNO JOBTITLE&lt;br /&gt;
---------- --------------------&lt;br /&gt;
         1 Tester&lt;br /&gt;
         2 Accountant&lt;br /&gt;
         3 Developer&lt;br /&gt;
         4 COder&lt;br /&gt;
         5 Director&lt;br /&gt;
         6 Mediator&lt;br /&gt;
         7 Proffessor&lt;br /&gt;
         8 Programmer&lt;br /&gt;
         9 Developer&lt;br /&gt;
9 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle FROM employee e FULL OUTER JOIN job j USING (empno);&lt;br /&gt;
ENAME           JOBTITLE&lt;br /&gt;
--------------- --------------------&lt;br /&gt;
Jason           Tester&lt;br /&gt;
John            Accountant&lt;br /&gt;
Joe             Developer&lt;br /&gt;
Tom             COder&lt;br /&gt;
Jane            Director&lt;br /&gt;
James           Mediator&lt;br /&gt;
Jodd            Proffessor&lt;br /&gt;
Joke            Programmer&lt;br /&gt;
Jack            Developer&lt;br /&gt;
9 rows selected.&lt;br /&gt;
SQL&amp;gt;&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; drop table job&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;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;
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; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    EMPNO         NUMBER(3),&lt;br /&gt;
  3    ENAME         VARCHAR2(15 BYTE),&lt;br /&gt;
  4    HIREDATE      DATE,&lt;br /&gt;
  5    ORIG_SALARY   NUMBER(6),&lt;br /&gt;
  6    CURR_SALARY   NUMBER(6),&lt;br /&gt;
  7    REGION        VARCHAR2(1 BYTE),&lt;br /&gt;
  8    MANAGER_ID    NUMBER(3)&lt;br /&gt;
  9  )&lt;br /&gt;
 10  /&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),&lt;br /&gt;
  3    jobtitle      VARCHAR2(20 BYTE)&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (1,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (2,&amp;quot;Accountant&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (3,&amp;quot;Developer&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) values (8,&amp;quot;Programmer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (9,&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; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into Employee(EMPNO,  EName,   HIREDATE,                       ORIG_SALARY,       CURR_SALARY,  REGION, MANAGER_ID)&lt;br /&gt;
  2               values (6,      &amp;quot;James&amp;quot;, to_date(&amp;quot;20040718&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 5679,              6546,         &amp;quot;W&amp;quot;,    5)&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, MANAGER_ID)&lt;br /&gt;
  2               values (7,      &amp;quot;Jodd&amp;quot;,  to_date(&amp;quot;20030720&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 5438,              7658,         &amp;quot;E&amp;quot;,    6)&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 (8,      &amp;quot;Joke&amp;quot;,  to_date(&amp;quot;20020101&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 8765,              4543,         &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 (9,      &amp;quot;Jack&amp;quot;,  to_date(&amp;quot;20010829&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 7896,              1232,         &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;&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 MANAGER_ID&lt;br /&gt;
---------- --------------- --------- ----------- ----------- - ----------&lt;br /&gt;
         6 James           18-JUL-04        5679        6546 W          5&lt;br /&gt;
         7 Jodd            20-JUL-03        5438        7658 E          6&lt;br /&gt;
         8 Joke            01-JAN-02        8765        4543 W&lt;br /&gt;
         9 Jack            29-AUG-01        7896        1232 E&lt;br /&gt;
SQL&amp;gt; select * from job&lt;br /&gt;
  2  /&lt;br /&gt;
     EMPNO JOBTITLE&lt;br /&gt;
---------- --------------------&lt;br /&gt;
         1 Tester&lt;br /&gt;
         2 Accountant&lt;br /&gt;
         3 Developer&lt;br /&gt;
         8 Programmer&lt;br /&gt;
         9 Developer&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle FROM employee e, job j WHERE e.empno = j.empno (+);&lt;br /&gt;
ENAME           JOBTITLE&lt;br /&gt;
--------------- --------------------&lt;br /&gt;
Joke            Programmer&lt;br /&gt;
Jack            Developer&lt;br /&gt;
James&lt;br /&gt;
Jodd&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --rewrites this query using the SQL/92 LEFT OUTER JOIN keywords:&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle FROM employee e LEFT OUTER JOIN job j USING (empno);&lt;br /&gt;
ENAME           JOBTITLE&lt;br /&gt;
--------------- --------------------&lt;br /&gt;
Joke            Programmer&lt;br /&gt;
Jack            Developer&lt;br /&gt;
James&lt;br /&gt;
Jodd&lt;br /&gt;
SQL&amp;gt;&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; drop table job&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Performing Outer Joins Using SQL/92==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;SQL/92 uses a different syntax for performing outer joins.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Instead of using (+), you specify the type of join in the FROM clause of your SELECT statement using the following syntax:&amp;lt;/p&amp;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;
FROM table1 { LEFT | RIGHT | FULL } OUTER JOIN table2&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&amp;lt;p&amp;gt;where&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;table1 and table2 specify the tables that you want to join.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;LEFT specifies you want to perform a left outer join.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;RIGHT specifies you want to perform a right outer join.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;FULL specifies you want to perform a full outer join;&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;A full outer join uses all rows in table1 and table2 including those that have null values in the columns used in the join.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;You can&amp;quot;t directly perform a full outer join using the (+) operator.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Quote from:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Oracle Database 10g SQL (Osborne ORACLE Press Series) (Paperback)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;# Paperback: 608 pages&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;# Publisher: McGraw-Hill Osborne Media; 1st edition (February 20, 2004)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;# Language: English&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;# ISBN-10: 0072229810&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;# ISBN-13: 978-0072229813&amp;lt;/p&amp;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;
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; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    EMPNO         NUMBER(3),&lt;br /&gt;
  3    ENAME         VARCHAR2(15 BYTE),&lt;br /&gt;
  4    HIREDATE      DATE,&lt;br /&gt;
  5    ORIG_SALARY   NUMBER(6),&lt;br /&gt;
  6    CURR_SALARY   NUMBER(6),&lt;br /&gt;
  7    REGION        VARCHAR2(1 BYTE),&lt;br /&gt;
  8    MANAGER_ID    NUMBER(3)&lt;br /&gt;
  9  )&lt;br /&gt;
 10  /&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),&lt;br /&gt;
  3    jobtitle      VARCHAR2(20 BYTE)&lt;br /&gt;
  4  )&lt;br /&gt;
  5  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (1,&amp;quot;Tester&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (2,&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) values (7,&amp;quot;Proffessor&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (8,&amp;quot;Programmer&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into job (EMPNO, Jobtitle) values (9,&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; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into Employee(EMPNO,  EName,   HIREDATE,                       ORIG_SALARY,       CURR_SALARY,  REGION, MANAGER_ID)&lt;br /&gt;
  2               values (1,      &amp;quot;Jason&amp;quot;, to_date(&amp;quot;19960725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1234,              8767,         &amp;quot;E&amp;quot;,    2)&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, MANAGER_ID)&lt;br /&gt;
  2               values (2,      &amp;quot;John&amp;quot;,  to_date(&amp;quot;19970715&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2341,              3456,         &amp;quot;W&amp;quot;,    3)&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, MANAGER_ID)&lt;br /&gt;
  2               values (3,      &amp;quot;Joe&amp;quot;,   to_date(&amp;quot;19860125&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 4321,              5654,         &amp;quot;E&amp;quot;,    3)&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, MANAGER_ID)&lt;br /&gt;
  2               values (7,      &amp;quot;Jodd&amp;quot;,  to_date(&amp;quot;20030720&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 5438,              7658,         &amp;quot;E&amp;quot;,    6)&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 (8,      &amp;quot;Joke&amp;quot;,  to_date(&amp;quot;20020101&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 8765,              4543,         &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 (9,      &amp;quot;Jack&amp;quot;,  to_date(&amp;quot;20010829&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 7896,              1232,         &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;&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 MANAGER_ID&lt;br /&gt;
---------- --------------- --------- ----------- ----------- - ----------&lt;br /&gt;
         1 Jason           25-JUL-96        1234        8767 E          2&lt;br /&gt;
         2 John            15-JUL-97        2341        3456 W          3&lt;br /&gt;
         3 Joe             25-JAN-86        4321        5654 E          3&lt;br /&gt;
         7 Jodd            20-JUL-03        5438        7658 E          6&lt;br /&gt;
         8 Joke            01-JAN-02        8765        4543 W&lt;br /&gt;
         9 Jack            29-AUG-01        7896        1232 E&lt;br /&gt;
6 rows selected.&lt;br /&gt;
SQL&amp;gt; select * from job&lt;br /&gt;
  2  /&lt;br /&gt;
     EMPNO JOBTITLE&lt;br /&gt;
---------- --------------------&lt;br /&gt;
         1 Tester&lt;br /&gt;
         2 Accountant&lt;br /&gt;
         7 Proffessor&lt;br /&gt;
         8 Programmer&lt;br /&gt;
         9 Developer&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle FROM employee e, job j WHERE e.empno (+) = j.empno;&lt;br /&gt;
ENAME           JOBTITLE&lt;br /&gt;
--------------- --------------------&lt;br /&gt;
Jason           Tester&lt;br /&gt;
John            Accountant&lt;br /&gt;
Jodd            Proffessor&lt;br /&gt;
Joke            Programmer&lt;br /&gt;
Jack            Developer&lt;br /&gt;
SQL&amp;gt; --rewrites this query using the SQL/92 RIGHT OUTER JOIN keywords:&lt;br /&gt;
SQL&amp;gt; SELECT e.ename, j.jobtitle FROM employee e RIGHT OUTER JOIN job j USING (empno);&lt;br /&gt;
ENAME           JOBTITLE&lt;br /&gt;
--------------- --------------------&lt;br /&gt;
Jason           Tester&lt;br /&gt;
John            Accountant&lt;br /&gt;
Jodd            Proffessor&lt;br /&gt;
Joke            Programmer&lt;br /&gt;
Jack            Developer&lt;br /&gt;
SQL&amp;gt;&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; drop table job&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>