<?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%2FQuery_Select%2FEXISTS</id>
		<title>Oracle PL/SQL Tutorial/Query Select/EXISTS - История изменений</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%2FQuery_Select%2FEXISTS"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Query_Select/EXISTS&amp;action=history"/>
		<updated>2026-04-13T19:33:38Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Query_Select/EXISTS&amp;diff=4255&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/Query_Select/EXISTS&amp;diff=4255&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/Query_Select/EXISTS&amp;diff=4256&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/Query_Select/EXISTS&amp;diff=4256&amp;oldid=prev"/>
				<updated>2010-05-26T10:09:06Z</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;== EXISTS and NOT EXISTS Versus IN and NOT IN==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;EXISTS is different from IN.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;EXISTS just checks for the existence of rows, whereas IN checks actual values.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;EXISTS typically offers better performance than IN with subqueries.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;You should use EXISTS rather than IN wherever possible.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;When a list of values contains a null, NOT EXISTS returns true, but NOT IN returns false.&amp;lt;/LI&amp;gt;&amp;lt;/OL&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 empno, ename&lt;br /&gt;
  2  FROM employee&lt;br /&gt;
  3  WHERE NOT EXISTS (null);&lt;br /&gt;
WHERE NOT EXISTS (null)&lt;br /&gt;
                  *&lt;br /&gt;
ERROR at line 3:&lt;br /&gt;
ORA-00928: missing SELECT keyword&lt;br /&gt;
&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.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== exists in subquery==&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; create table emp&lt;br /&gt;
  2  ( empno      NUMBER(4)    constraint E_PK primary key&lt;br /&gt;
  3  , ename      VARCHAR2(8)&lt;br /&gt;
  4  , init       VARCHAR2(5)&lt;br /&gt;
  5  , job        VARCHAR2(8)&lt;br /&gt;
  6  , mgr        NUMBER(4)&lt;br /&gt;
  7  , bdate      DATE&lt;br /&gt;
  8  , sal        NUMBER(6,2)&lt;br /&gt;
  9  , comm       NUMBER(6,2)&lt;br /&gt;
 10  , deptno     NUMBER(2)    default 10&lt;br /&gt;
 11  ) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(1,&amp;quot;Tom&amp;quot;,&amp;quot;N&amp;quot;,   &amp;quot;TRAINER&amp;quot;, 13,date &amp;quot;1965-12-17&amp;quot;,  800 , NULL,  20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(2,&amp;quot;Jack&amp;quot;,&amp;quot;JAM&amp;quot;, &amp;quot;Tester&amp;quot;,6,date &amp;quot;1961-02-20&amp;quot;,  1600, 300,   30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(3,&amp;quot;Wil&amp;quot;,&amp;quot;TF&amp;quot; ,  &amp;quot;Tester&amp;quot;,6,date &amp;quot;1962-02-22&amp;quot;,  1250, 500,   30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(4,&amp;quot;Jane&amp;quot;,&amp;quot;JM&amp;quot;,  &amp;quot;Designer&amp;quot;, 9,date &amp;quot;1967-04-02&amp;quot;,  2975, NULL,  20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(5,&amp;quot;Mary&amp;quot;,&amp;quot;P&amp;quot;,  &amp;quot;Tester&amp;quot;,6,date &amp;quot;1956-09-28&amp;quot;,  1250, 1400,  30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(6,&amp;quot;Black&amp;quot;,&amp;quot;R&amp;quot;,   &amp;quot;Designer&amp;quot;, 9,date &amp;quot;1963-11-01&amp;quot;,  2850, NULL,  30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(7,&amp;quot;Chris&amp;quot;,&amp;quot;AB&amp;quot;,  &amp;quot;Designer&amp;quot;, 9,date &amp;quot;1965-06-09&amp;quot;,  2450, NULL,  10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(8,&amp;quot;Smart&amp;quot;,&amp;quot;SCJ&amp;quot;, &amp;quot;TRAINER&amp;quot;, 4,date &amp;quot;1959-11-26&amp;quot;,  3000, NULL,  20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(9,&amp;quot;Peter&amp;quot;,&amp;quot;CC&amp;quot;,   &amp;quot;Designer&amp;quot;,NULL,date &amp;quot;1952-11-17&amp;quot;,  5000, NULL,  10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(10,&amp;quot;Take&amp;quot;,&amp;quot;JJ&amp;quot;, &amp;quot;Tester&amp;quot;,6,date &amp;quot;1968-09-28&amp;quot;,  1500, 0,     30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(11,&amp;quot;Ana&amp;quot;,&amp;quot;AA&amp;quot;,  &amp;quot;TRAINER&amp;quot;, 8,date &amp;quot;1966-12-30&amp;quot;,  1100, NULL,  20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(12,&amp;quot;Jane&amp;quot;,&amp;quot;R&amp;quot;,   &amp;quot;Manager&amp;quot;,   6,date &amp;quot;1969-12-03&amp;quot;,  800 , NULL,  30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(13,&amp;quot;Fake&amp;quot;,&amp;quot;MG&amp;quot;,   &amp;quot;TRAINER&amp;quot;, 4,date &amp;quot;1959-02-13&amp;quot;,  3000, NULL,  20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp values(14,&amp;quot;Mike&amp;quot;,&amp;quot;TJA&amp;quot;,&amp;quot;Manager&amp;quot;,   7,date &amp;quot;1962-01-23&amp;quot;,  1300, NULL,  10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; create table offerings&lt;br /&gt;
  2  ( course     VARCHAR2(6)&lt;br /&gt;
  3  , begindate  DATE&lt;br /&gt;
  4  , trainer    NUMBER(4)&lt;br /&gt;
  5  , location   VARCHAR2(8)&lt;br /&gt;
  6  ) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;SQL&amp;quot;,date &amp;quot;2009-04-12&amp;quot;,13,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;OAU&amp;quot;,date &amp;quot;2009-08-10&amp;quot;,4,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;SQL&amp;quot;,date &amp;quot;2009-10-04&amp;quot;,1,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;SQL&amp;quot;,date &amp;quot;2009-12-13&amp;quot;,1,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;JAV&amp;quot;,date &amp;quot;2009-12-13&amp;quot;,4,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-02-03&amp;quot;,1,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;JAV&amp;quot;,date &amp;quot;2000-02-01&amp;quot;,11,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;PLS&amp;quot;,date &amp;quot;2000-09-11&amp;quot;,8,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-09-18&amp;quot;,NULL,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;OAU&amp;quot;,date &amp;quot;2000-09-27&amp;quot;,13,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;ERM&amp;quot;,date &amp;quot;2001-01-15&amp;quot;,NULL, NULL    );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;PRO&amp;quot;,date &amp;quot;2001-02-19&amp;quot;,NULL,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;RSD&amp;quot;,date &amp;quot;2001-02-24&amp;quot;,8,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select e.*&lt;br /&gt;
  2  from   emp e&lt;br /&gt;
  3  where  exists (select o.*&lt;br /&gt;
  4                 from   offerings o&lt;br /&gt;
  5                 where  o.course = &amp;quot;SQL&amp;quot;&lt;br /&gt;
  6                 and    o.trainer = e.empno);&lt;br /&gt;
     EMPNO ENAME    INIT  JOB             MGR BDATE             SAL       COMM&lt;br /&gt;
---------- -------- ----- -------- ---------- ---------- ---------- ----------&lt;br /&gt;
    DEPTNO&lt;br /&gt;
----------&lt;br /&gt;
         1 Tom      N     TRAINER          13 17-12-1965        800&lt;br /&gt;
        20&lt;br /&gt;
        13 Fake     MG                      4 13-02-1959       3000&lt;br /&gt;
        20&lt;br /&gt;
&lt;br /&gt;
SQL&amp;gt; drop table offerings;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt; drop table emp;&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;
== Exist with subquery==&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; create table course_schedule&lt;br /&gt;
  2  ( course     VARCHAR2(6)&lt;br /&gt;
  3  , begindate  DATE&lt;br /&gt;
  4  , trainer    NUMBER(4)&lt;br /&gt;
  5  , location   VARCHAR2(20)) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;SQL&amp;quot;,date &amp;quot;1999-04-12&amp;quot;,1,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;OAU&amp;quot;,date &amp;quot;1999-08-10&amp;quot;,2,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;SQL&amp;quot;,date &amp;quot;1999-10-04&amp;quot;,3,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;SQL&amp;quot;,date &amp;quot;1999-12-13&amp;quot;,4,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;JAV&amp;quot;,date &amp;quot;1999-12-13&amp;quot;,5,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-02-03&amp;quot;,6,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;JAV&amp;quot;,date &amp;quot;2000-02-01&amp;quot;,7,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;PLS&amp;quot;,date &amp;quot;2000-09-11&amp;quot;,8,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-09-18&amp;quot;,NULL,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;OAU&amp;quot;,date &amp;quot;2000-09-27&amp;quot;,9,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;ERM&amp;quot;,date &amp;quot;2001-01-15&amp;quot;,10, NULL    );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;PRO&amp;quot;,date &amp;quot;2001-02-19&amp;quot;,NULL,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;RSD&amp;quot;,date &amp;quot;2001-02-24&amp;quot;,8,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table employees(&lt;br /&gt;
  2    empno      NUMBER(4)&lt;br /&gt;
  3  , ename      VARCHAR2(8)&lt;br /&gt;
  4  , init       VARCHAR2(5)&lt;br /&gt;
  5  , job        VARCHAR2(8)&lt;br /&gt;
  6  , mgr        NUMBER(4)&lt;br /&gt;
  7  , bdate      DATE&lt;br /&gt;
  8  , msal       NUMBER(6,2)&lt;br /&gt;
  9  , comm       NUMBER(6,2)&lt;br /&gt;
 10  , deptno     NUMBER(2) ) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into employees values(1,&amp;quot;Jason&amp;quot;,  &amp;quot;N&amp;quot;,  &amp;quot;TRAINER&amp;quot;, 2,   date &amp;quot;1965-12-18&amp;quot;,  800 , NULL,  10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(2,&amp;quot;Jerry&amp;quot;,  &amp;quot;J&amp;quot;,  &amp;quot;SALESREP&amp;quot;,3,   date &amp;quot;1966-11-19&amp;quot;,  1600, 300,   10);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(3,&amp;quot;Jord&amp;quot;,   &amp;quot;T&amp;quot; , &amp;quot;SALESREP&amp;quot;,4,   date &amp;quot;1967-10-21&amp;quot;,  1700, 500,   20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(4,&amp;quot;Mary&amp;quot;,   &amp;quot;J&amp;quot;,  &amp;quot;MANAGER&amp;quot;, 5,   date &amp;quot;1968-09-22&amp;quot;,  1800, NULL,  20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(5,&amp;quot;Joe&amp;quot;,    &amp;quot;P&amp;quot;,  &amp;quot;SALESREP&amp;quot;,6,   date &amp;quot;1969-08-23&amp;quot;,  1900, 1400,  30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(6,&amp;quot;Black&amp;quot;,  &amp;quot;R&amp;quot;,  &amp;quot;MANAGER&amp;quot;, 7,   date &amp;quot;1970-07-24&amp;quot;,  2000, NULL,  30);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(7,&amp;quot;Red&amp;quot;,    &amp;quot;A&amp;quot;,  &amp;quot;MANAGER&amp;quot;, 8,   date &amp;quot;1971-06-25&amp;quot;,  2100, NULL,  40);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(8,&amp;quot;White&amp;quot;,  &amp;quot;S&amp;quot;,  &amp;quot;TRAINER&amp;quot;, 9,   date &amp;quot;1972-05-26&amp;quot;,  2200, NULL,  40);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(9,&amp;quot;Yellow&amp;quot;, &amp;quot;C&amp;quot;,  &amp;quot;DIRECTOR&amp;quot;,10,  date &amp;quot;1973-04-27&amp;quot;,  2300, NULL,  20);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into employees values(10,&amp;quot;Pink&amp;quot;,  &amp;quot;J&amp;quot;,  &amp;quot;SALESREP&amp;quot;,null,date &amp;quot;1974-03-28&amp;quot;,  2400, 0,     30);&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; select e.*&lt;br /&gt;
  2  from   employees e&lt;br /&gt;
  3  where  exists (select o.*&lt;br /&gt;
  4                 from   course_schedule o&lt;br /&gt;
  5                 where  o.course = &amp;quot;SQL&amp;quot;&lt;br /&gt;
  6                 and    o.trainer = e.empno);&lt;br /&gt;
     EMPNO ENAME    INIT  JOB             MGR BDATE           MSAL       COMM     DEPTNO&lt;br /&gt;
---------- -------- ----- -------- ---------- --------- ---------- ---------- ----------&lt;br /&gt;
         1 Jason    N     TRAINER           2 18-DEC-65        800                    10&lt;br /&gt;
         3 Jord     T     SALESREP          4 21-OCT-67       1700        500         20&lt;br /&gt;
         4 Mary     J     MANAGER           5 22-SEP-68       1800                    20&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table employees;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table course_schedule;&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;
== not exists and subquery==&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; create table offerings&lt;br /&gt;
  2  ( course     VARCHAR2(6)&lt;br /&gt;
  3  , begindate  DATE&lt;br /&gt;
  4  , trainer    NUMBER(4)&lt;br /&gt;
  5  , location   VARCHAR2(8)&lt;br /&gt;
  6  ) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;SQL&amp;quot;,date &amp;quot;2009-04-12&amp;quot;,13,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;OAU&amp;quot;,date &amp;quot;2009-08-10&amp;quot;,4,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;SQL&amp;quot;,date &amp;quot;2009-10-04&amp;quot;,1,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;SQL&amp;quot;,date &amp;quot;2009-12-13&amp;quot;,1,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;JAV&amp;quot;,date &amp;quot;2009-12-13&amp;quot;,4,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-02-03&amp;quot;,1,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;JAV&amp;quot;,date &amp;quot;2000-02-01&amp;quot;,11,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;PLS&amp;quot;,date &amp;quot;2000-09-11&amp;quot;,8,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-09-18&amp;quot;,NULL,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;OAU&amp;quot;,date &amp;quot;2000-09-27&amp;quot;,13,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;ERM&amp;quot;,date &amp;quot;2001-01-15&amp;quot;,NULL, NULL    );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;PRO&amp;quot;,date &amp;quot;2001-02-19&amp;quot;,NULL,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into offerings values (&amp;quot;RSD&amp;quot;,date &amp;quot;2001-02-24&amp;quot;,8,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; create table registrations&lt;br /&gt;
  2  ( attendee    NUMBER(4)&lt;br /&gt;
  3  , course      VARCHAR2(6)&lt;br /&gt;
  4  , begindate   DATE&lt;br /&gt;
  5  , evaluation  NUMBER(1)&lt;br /&gt;
  6  , constraint  R_PK        primary key(attendee,course,begindate)&lt;br /&gt;
  7  ) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into registrations values (2,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-04-12&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (14,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-04-12&amp;quot;,5   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (6,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-04-12&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (11,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-04-12&amp;quot;,2   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (8,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-10-04&amp;quot;,NULL);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (9,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-10-04&amp;quot;,3   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (13,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-10-04&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (13,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-12-13&amp;quot;,NULL);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (6,&amp;quot;SQL&amp;quot;,date &amp;quot;2009-12-13&amp;quot;,NULL);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (3,&amp;quot;OAU&amp;quot;,date &amp;quot;2009-08-10&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select o.*&lt;br /&gt;
  2  from   offerings o&lt;br /&gt;
  3  where  not exists&lt;br /&gt;
  4        (select r.*&lt;br /&gt;
  5         from   registrations r&lt;br /&gt;
  6         where  r.course    = o.course&lt;br /&gt;
  7         and    r.begindate = o.begindate);&lt;br /&gt;
COURSE BEGINDATE     TRAINER LOCATION&lt;br /&gt;
------ ---------- ---------- --------&lt;br /&gt;
JAV    13-12-2009          4 SEATTLE&lt;br /&gt;
XML    03-02-2000          1 DALLAS&lt;br /&gt;
JAV    01-02-2000         11 DALLAS&lt;br /&gt;
PLS    11-09-2000          8 DALLAS&lt;br /&gt;
XML    18-09-2000            SEATTLE&lt;br /&gt;
OAU    27-09-2000         13 DALLAS&lt;br /&gt;
ERM    15-01-2001&lt;br /&gt;
PRO    19-02-2001            DALLAS&lt;br /&gt;
RSD    24-02-2001          8 CHICAGO&lt;br /&gt;
9 rows selected.&lt;br /&gt;
SQL&amp;gt; drop table offerings;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt; drop table registrations;&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;
== Not Exist with subquery==&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; create table course_schedule&lt;br /&gt;
  2  ( course     VARCHAR2(6)&lt;br /&gt;
  3  , begindate  DATE&lt;br /&gt;
  4  , trainer    NUMBER(4)&lt;br /&gt;
  5  , location   VARCHAR2(20)) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;SQL&amp;quot;,date &amp;quot;1999-04-12&amp;quot;,1,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;OAU&amp;quot;,date &amp;quot;1999-08-10&amp;quot;,2,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;SQL&amp;quot;,date &amp;quot;1999-10-04&amp;quot;,3,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;SQL&amp;quot;,date &amp;quot;1999-12-13&amp;quot;,4,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;JAV&amp;quot;,date &amp;quot;1999-12-13&amp;quot;,5,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-02-03&amp;quot;,6,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;JAV&amp;quot;,date &amp;quot;2000-02-01&amp;quot;,7,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;PLS&amp;quot;,date &amp;quot;2000-09-11&amp;quot;,8,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;XML&amp;quot;,date &amp;quot;2000-09-18&amp;quot;,NULL,&amp;quot;SEATTLE&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;OAU&amp;quot;,date &amp;quot;2000-09-27&amp;quot;,9,&amp;quot;DALLAS&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;ERM&amp;quot;,date &amp;quot;2001-01-15&amp;quot;,10, NULL    );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;PRO&amp;quot;,date &amp;quot;2001-02-19&amp;quot;,NULL,&amp;quot;VANCOUVER&amp;quot; );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into course_schedule values (&amp;quot;RSD&amp;quot;,date &amp;quot;2001-02-24&amp;quot;,8,&amp;quot;CHICAGO&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table registrations&lt;br /&gt;
  2  ( attendee    NUMBER(4)&lt;br /&gt;
  3  , course      VARCHAR2(6)&lt;br /&gt;
  4  , begindate   DATE&lt;br /&gt;
  5  , evaluation  NUMBER(1)) ;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into registrations values (1, &amp;quot;SQL&amp;quot;,date &amp;quot;1999-04-12&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (2, &amp;quot;SQL&amp;quot;,date &amp;quot;1999-12-13&amp;quot;,NULL);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (3, &amp;quot;SQL&amp;quot;,date &amp;quot;1999-12-13&amp;quot;,NULL);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (4, &amp;quot;OAU&amp;quot;,date &amp;quot;1999-08-10&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (5, &amp;quot;OAU&amp;quot;,date &amp;quot;2000-09-27&amp;quot;,5   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (6, &amp;quot;JAV&amp;quot;,date &amp;quot;1999-12-13&amp;quot;,2   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (7, &amp;quot;JAV&amp;quot;,date &amp;quot;2000-02-01&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (8, &amp;quot;JAV&amp;quot;,date &amp;quot;2000-02-01&amp;quot;,5   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (9, &amp;quot;XML&amp;quot;,date &amp;quot;2000-02-03&amp;quot;,4   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (10,&amp;quot;XML&amp;quot;,date &amp;quot;2000-02-03&amp;quot;,5   );&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (1, &amp;quot;PLS&amp;quot;,date &amp;quot;2000-09-11&amp;quot;,NULL);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (2, &amp;quot;PLS&amp;quot;,date &amp;quot;2000-09-11&amp;quot;,NULL);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into registrations values (3, &amp;quot;PLS&amp;quot;,date &amp;quot;2000-09-11&amp;quot;,NULL);&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; select o.*&lt;br /&gt;
  2  from   course_schedule o&lt;br /&gt;
  3  where  not exists&lt;br /&gt;
  4        (select r.*&lt;br /&gt;
  5         from   registrations r&lt;br /&gt;
  6         where  r.course    = o.course&lt;br /&gt;
  7         and    r.begindate = o.begindate);&lt;br /&gt;
COURSE BEGINDATE    TRAINER LOCATION&lt;br /&gt;
------ --------- ---------- --------------------&lt;br /&gt;
SQL    04-OCT-99          3 SEATTLE&lt;br /&gt;
XML    18-SEP-00            SEATTLE&lt;br /&gt;
PRO    19-FEB-01            VANCOUVER&lt;br /&gt;
ERM    15-JAN-01         10&lt;br /&gt;
RSD    24-FEB-01          8 CHICAGO&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table course_schedule;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table registrations;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using the EXISTS Operator with subquery==&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; CREATE TABLE empExam (&lt;br /&gt;
  2     empID  INT NOT NULL,&lt;br /&gt;
  3     ExamID     INT NOT NULL,&lt;br /&gt;
  4     Mark       INT,&lt;br /&gt;
  5     Taken   SMALLINT,&lt;br /&gt;
  6     Comments   VARCHAR(255),&lt;br /&gt;
  7     CONSTRAINT PK_empExam PRIMARY KEY (empID, ExamID));&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO empExam (empID,ExamID,Mark,Taken,Comments) VALUES (1,1,55,1,&amp;quot;Satisfactory&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO empExam (empID,ExamID,Mark,Taken,Comments) VALUES (1,2,73,1,&amp;quot;Good result&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO empExam (empID,ExamID,Mark,Taken,Comments) VALUES (2,3,44,1,&amp;quot;Hard&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO empExam (empID,ExamID,Mark,Taken,Comments) VALUES (2,5,39,0,&amp;quot;Simple&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO empExam (empID,ExamID,Mark,Taken) VALUES (2,6,63,1);&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; CREATE TABLE emp (&lt;br /&gt;
  2     empID INT NOT NULL PRIMARY KEY,&lt;br /&gt;
  3     Name      VARCHAR(50) NOT NULL);&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,Name) VALUES (1,&amp;quot;Tom&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,Name) VALUES (2,&amp;quot;Jack&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,Name) VALUES (3,&amp;quot;Mary&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,Name) VALUES (4,&amp;quot;Bill&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,Name) VALUES (5,&amp;quot;Cat&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,Name) VALUES (6,&amp;quot;Victor&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; SELECT empID, Name FROM emp s&lt;br /&gt;
  2  WHERE EXISTS (&lt;br /&gt;
  3     SELECT empID FROM empExam e&lt;br /&gt;
  4     WHERE Mark &amp;lt; 40 AND e.empID = s.empID);&lt;br /&gt;
     EMPID NAME&lt;br /&gt;
---------- --------------------------------------------------&lt;br /&gt;
         2 Jack&lt;br /&gt;
1 row 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;
Table dropped.&lt;br /&gt;
SQL&amp;gt; drop table empExam;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>