<?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%2FSelect_Query%2FDISTINCT</id>
		<title>Oracle PL/SQL/Select Query/DISTINCT - История изменений</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%2FSelect_Query%2FDISTINCT"/>
		<link rel="alternate" type="text/html" href="http://www.sqle.ru/index.php?title=Oracle_PL/SQL/Select_Query/DISTINCT&amp;action=history"/>
		<updated>2026-05-24T18:14:04Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://www.sqle.ru/index.php?title=Oracle_PL/SQL/Select_Query/DISTINCT&amp;diff=2016&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/Select_Query/DISTINCT&amp;diff=2016&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/Select_Query/DISTINCT&amp;diff=2017&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/Select_Query/DISTINCT&amp;diff=2017&amp;oldid=prev"/>
				<updated>2010-05-26T10:00:27Z</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;==Count distinct with group by==&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 table offerings&lt;br /&gt;
  2  ( course     VARCHAR2(6)&lt;br /&gt;
  3  , begindate  DATE&lt;br /&gt;
  4  , Coder      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 Coder&lt;br /&gt;
  2  ,      count(distinct course)&lt;br /&gt;
  3  ,      count(*)&lt;br /&gt;
  4  from   offerings&lt;br /&gt;
  5  group  by Coder;&lt;br /&gt;
     CODER COUNT(DISTINCTCOURSE)   COUNT(*)&lt;br /&gt;
---------- --------------------- ----------&lt;br /&gt;
         1                     2          3&lt;br /&gt;
         4                     2          2&lt;br /&gt;
         8                     2          2&lt;br /&gt;
        11                     1          1&lt;br /&gt;
        13                     2          2&lt;br /&gt;
                               3          3&lt;br /&gt;
6 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table offerings;&lt;br /&gt;
Table dropped.&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;
==Distinct city and state==&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 table emp(&lt;br /&gt;
  2           emp_no                 integer         primary key,&lt;br /&gt;
  3           lastname               varchar2(20)    not null,&lt;br /&gt;
  4           firstname              varchar2(15)    not null,&lt;br /&gt;
  5           midinit                varchar2(1),&lt;br /&gt;
  6           street                 varchar2(30),&lt;br /&gt;
  7           city                   varchar2(20),&lt;br /&gt;
  8           state                  varchar2(2),&lt;br /&gt;
  9           zip                    varchar2(5),&lt;br /&gt;
 10           shortZipCode                   varchar2(4),&lt;br /&gt;
 11           area_code              varchar2(3),&lt;br /&gt;
 12           phone                  varchar2(8),&lt;br /&gt;
 13           salary                 number(5,2),&lt;br /&gt;
 14           birthdate              date,&lt;br /&gt;
 15           startDate              date,&lt;br /&gt;
 16           title                  varchar2(20),&lt;br /&gt;
 17           dept_no                integer         ,&lt;br /&gt;
 18           mgr                    integer,&lt;br /&gt;
 19           region                 number,&lt;br /&gt;
 20           division               number,&lt;br /&gt;
 21           total_sales            number&lt;br /&gt;
 22  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; -- emp Table Inserts:&lt;br /&gt;
SQL&amp;gt; insert into emp(emp_no, lastname, firstname, midinit, street, city, state, zip,shortZipCode, area_code, phone, birthdate, title)values&lt;br /&gt;
  2                      (1,&amp;quot;Z&amp;quot;,&amp;quot;Joy&amp;quot;,&amp;quot;R&amp;quot;,&amp;quot;1 Ave&amp;quot;,&amp;quot;New York&amp;quot;,&amp;quot;NY&amp;quot;,&amp;quot;12122&amp;quot;,&amp;quot;2333&amp;quot;,&amp;quot;212&amp;quot;,&amp;quot;200-1111&amp;quot;,&amp;quot;12-nov-1976&amp;quot;,&amp;quot;President&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp(emp_no, lastname, firstname, midinit, street, city, state, zip,shortZipCode, area_code, phone, salary, birthdate, startDate,title, dept_no, mgr, region, division, total_sales)valu&lt;br /&gt;
es&lt;br /&gt;
  2                      (2,&amp;quot;X&amp;quot;,&amp;quot;Lucy&amp;quot;,&amp;quot;J&amp;quot;,&amp;quot;1 Street&amp;quot;,&amp;quot;New York&amp;quot;,&amp;quot;NY&amp;quot;,&amp;quot;43552&amp;quot;,&amp;quot;6633&amp;quot;,&amp;quot;212&amp;quot;,&amp;quot;234-4444&amp;quot;,7.75,&amp;quot;21-mar-1976&amp;quot;,&amp;quot;1-feb-1994&amp;quot;,&amp;quot;Sales Manager&amp;quot;,2,1,100,10,40000);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into emp(emp_no, lastname, firstname, midinit, street, city, state, zip,shortZipCode, area_code, phone, salary, birthdate, startDate,title, dept_no, mgr, region, division, total_sales)valu&lt;br /&gt;
es&lt;br /&gt;
  2                      (3,&amp;quot;Y&amp;quot;,&amp;quot;Jordan&amp;quot;,&amp;quot;E&amp;quot;,&amp;quot;1 Drive&amp;quot;,&amp;quot;New York&amp;quot;,&amp;quot;NY&amp;quot;,&amp;quot;76822&amp;quot;,&amp;quot;8763&amp;quot;,&amp;quot;212&amp;quot;,&amp;quot;222-2222&amp;quot;,7.75,&amp;quot;14-feb-1963&amp;quot;,&amp;quot;15-mar-1995&amp;quot;,&amp;quot;Sales Clerk&amp;quot;,2,2,100,10,10000);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; select distinct city, state from emp;&lt;br /&gt;
CITY                 ST&lt;br /&gt;
-------------------- --&lt;br /&gt;
New York             NY&lt;br /&gt;
1 row selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&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;
==DISTINCT clause can be used with more than one field==&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;
&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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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 17-DEC-80        800                    20&lt;br /&gt;
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30&lt;br /&gt;
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30&lt;br /&gt;
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20&lt;br /&gt;
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30&lt;br /&gt;
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30&lt;br /&gt;
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10&lt;br /&gt;
      7788 SCOTT      ANALYST         7566 09-DEC-82       3000                    20&lt;br /&gt;
      7839 KING       PRESIDENT            17-NOV-81       5000                    10&lt;br /&gt;
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30&lt;br /&gt;
      7876 ADAMS      CLERK           7788 12-JAN-83       1100                    20&lt;br /&gt;
     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO&lt;br /&gt;
---------- ---------- --------- ---------- --------- ---------- ---------- ----------&lt;br /&gt;
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30&lt;br /&gt;
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20&lt;br /&gt;
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- DISTINCT clause can be used with more than one field.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT DISTINCT job, sal FROM emp;&lt;br /&gt;
JOB              SAL&lt;br /&gt;
--------- ----------&lt;br /&gt;
CLERK           1300&lt;br /&gt;
SALESMAN        1600&lt;br /&gt;
SALESMAN        1250&lt;br /&gt;
CLERK            950&lt;br /&gt;
CLERK            800&lt;br /&gt;
MANAGER         2450&lt;br /&gt;
PRESIDENT       5000&lt;br /&gt;
ANALYST         3000&lt;br /&gt;
MANAGER         2850&lt;br /&gt;
MANAGER         2975&lt;br /&gt;
SALESMAN        1500&lt;br /&gt;
JOB              SAL&lt;br /&gt;
--------- ----------&lt;br /&gt;
CLERK           1100&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&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;
==DISTINCT: Eliminating duplication in the result set==&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;&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL,&lt;br /&gt;
  3    First_Name         VARCHAR2(10 BYTE),&lt;br /&gt;
  4    Last_Name          VARCHAR2(10 BYTE),&lt;br /&gt;
  5    Start_Date         DATE,&lt;br /&gt;
  6    End_Date           DATE,&lt;br /&gt;
  7    Salary             Number(8,2),&lt;br /&gt;
  8    City               VARCHAR2(10 BYTE),&lt;br /&gt;
  9    Description        VARCHAR2(15 BYTE)&lt;br /&gt;
 10  )&lt;br /&gt;
 11  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2               values (&amp;quot;01&amp;quot;,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  to_date(&amp;quot;19960725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20060725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;02&amp;quot;,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;, to_date(&amp;quot;19760321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19860221&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;03&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,   to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19900315&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;04&amp;quot;,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,    to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19990421&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;05&amp;quot;,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,   to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980808&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;06&amp;quot;,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,   to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19960104&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;07&amp;quot;,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,   to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;08&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20020415&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&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;
ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION&lt;br /&gt;
---- ---------- ---------- --------- --------- ---------- ---------- ---------------&lt;br /&gt;
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer&lt;br /&gt;
02   Alison     Mathews    21-MAR-76 21-FEB-86    2334.78 Vancouver  Tester&lt;br /&gt;
03   James      Smith      12-DEC-78 15-MAR-90    2334.78 Vancouver  Tester&lt;br /&gt;
04   Celia      Rice       24-OCT-82 21-APR-99    2334.78 Vancouver  Manager&lt;br /&gt;
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester&lt;br /&gt;
06   Linda      Green      30-JUL-87 04-JAN-96    2334.78 New York   Tester&lt;br /&gt;
07   David      Larry      31-DEC-90 12-FEB-98    2334.78 New York   Manager&lt;br /&gt;
08   James      Cat        17-SEP-96 15-APR-02    2334.78 Vancouver  Tester&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;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --Eliminating duplication in the result set&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT City FROM Employee;&lt;br /&gt;
CITY&lt;br /&gt;
----------&lt;br /&gt;
Toronto&lt;br /&gt;
Vancouver&lt;br /&gt;
Vancouver&lt;br /&gt;
Vancouver&lt;br /&gt;
Vancouver&lt;br /&gt;
New York&lt;br /&gt;
New York&lt;br /&gt;
Vancouver&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- DISTINCT keyword.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT DISTINCT City FROM Employee;&lt;br /&gt;
CITY&lt;br /&gt;
----------&lt;br /&gt;
New York&lt;br /&gt;
Toronto&lt;br /&gt;
Vancouver&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;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==DISTINCT operator inside a group function==&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    ID                 VARCHAR2(4 BYTE)         NOT NULL,&lt;br /&gt;
  3    First_Name         VARCHAR2(10 BYTE),&lt;br /&gt;
  4    Last_Name          VARCHAR2(10 BYTE),&lt;br /&gt;
  5    Start_Date         DATE,&lt;br /&gt;
  6    End_Date           DATE,&lt;br /&gt;
  7    Salary             Number(8,2),&lt;br /&gt;
  8    City               VARCHAR2(10 BYTE),&lt;br /&gt;
  9    Description        VARCHAR2(15 BYTE)&lt;br /&gt;
 10  )&lt;br /&gt;
 11  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2               values (&amp;quot;01&amp;quot;,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  to_date(&amp;quot;19960725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20060725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;02&amp;quot;,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;, to_date(&amp;quot;19760321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19860221&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;03&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,   to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19900315&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;04&amp;quot;,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,    to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19990421&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;05&amp;quot;,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,   to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980808&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;06&amp;quot;,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,   to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19960104&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;07&amp;quot;,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,   to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;08&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20020415&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&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;
ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION&lt;br /&gt;
---- ---------- ---------- --------- --------- ---------- ---------- ---------------&lt;br /&gt;
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer&lt;br /&gt;
02   Alison     Mathews    21-MAR-76 21-FEB-86    6661.78 Vancouver  Tester&lt;br /&gt;
03   James      Smith      12-DEC-78 15-MAR-90    6544.78 Vancouver  Tester&lt;br /&gt;
04   Celia      Rice       24-OCT-82 21-APR-99    2344.78 Vancouver  Manager&lt;br /&gt;
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester&lt;br /&gt;
06   Linda      Green      30-JUL-87 04-JAN-96    4322.78 New York   Tester&lt;br /&gt;
07   David      Larry      31-DEC-90 12-FEB-98    7897.78 New York   Manager&lt;br /&gt;
08   James      Cat        17-SEP-96 15-APR-02    1232.78 Vancouver  Tester&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --Using the DISTINCT keyword with NULL&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; --DISTINCT operator inside a group function.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT AVG(DISTINCT Salary) AS WITH_DISTINCT FROM Employee;&lt;br /&gt;
WITH_DISTINCT&lt;br /&gt;
-------------&lt;br /&gt;
    4071.7525&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;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&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;
==DISTINCT tableName.*==&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 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 DISTINCT e.*&lt;br /&gt;
  2  from   emp e&lt;br /&gt;
  3         join&lt;br /&gt;
  4         offerings o&lt;br /&gt;
  5         on e.empno = o.trainer&lt;br /&gt;
  6  where  o.course = &amp;quot;SQL&amp;quot;;&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;&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;&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;
==Eliminating Duplicate Data Using DISTINCT==&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;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE emp (&lt;br /&gt;
  2     empID      INT NOT NULL PRIMARY KEY,&lt;br /&gt;
  3     CourseID    INT NOT NULL,&lt;br /&gt;
  4     ProfessorID INT NOT NULL,&lt;br /&gt;
  5     SustainedOn DATE,&lt;br /&gt;
  6     Comments    VARCHAR(255));&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (1,1,1,DATE &amp;quot;2003-03-12&amp;quot;,&amp;quot;Hard&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (2,2,1,DATE &amp;quot;2003-03-13&amp;quot;,&amp;quot;Simple&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (3,3,2,DATE &amp;quot;2003-03-11&amp;quot;,&amp;quot;1 hour long&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn) VALUES (4,4,3,DATE &amp;quot;2003-03-18&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (5,5,2,DATE &amp;quot;2003-03-19&amp;quot;,&amp;quot;2 hours long&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn) VALUES (6,6,3,DATE &amp;quot;2003-03-25&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 DISTINCT SustainedOn FROM emp;&lt;br /&gt;
SUSTAINED&lt;br /&gt;
---------&lt;br /&gt;
11-MAR-03&lt;br /&gt;
12-MAR-03&lt;br /&gt;
13-MAR-03&lt;br /&gt;
18-MAR-03&lt;br /&gt;
19-MAR-03&lt;br /&gt;
25-MAR-03&lt;br /&gt;
6 rows selected.&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;
   &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Eliminating Duplicate Date type Data Using DISTINCT==&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;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE emp (&lt;br /&gt;
  2     empID      INT NOT NULL PRIMARY KEY,&lt;br /&gt;
  3     CourseID    INT NOT NULL,&lt;br /&gt;
  4     ProfessorID INT NOT NULL,&lt;br /&gt;
  5     SustainedOn DATE,&lt;br /&gt;
  6     Comments    VARCHAR(255));&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (1,1,1,DATE &amp;quot;2003-03-12&amp;quot;,&amp;quot;Hard&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (2,2,1,DATE &amp;quot;2003-03-13&amp;quot;,&amp;quot;Simple&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (3,3,2,DATE &amp;quot;2003-03-11&amp;quot;,&amp;quot;1 hour long&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn) VALUES (4,4,3,DATE &amp;quot;2003-03-18&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (empID,CourseID,ProfessorID,SustainedOn,Comments) VALUES (5,5,2,DATE &amp;quot;2003-03-19&amp;quot;,&amp;quot;2 hours long&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT DISTINCT empID, SustainedOn FROM emp;&lt;br /&gt;
     EMPID SUSTAINED&lt;br /&gt;
---------- ---------&lt;br /&gt;
         1 12-MAR-03&lt;br /&gt;
         2 13-MAR-03&lt;br /&gt;
         3 11-MAR-03&lt;br /&gt;
         4 18-MAR-03&lt;br /&gt;
         5 19-MAR-03&lt;br /&gt;
5 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&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;
==Remember that the DISTINCT operator applies to the entire select list==&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;
&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    ID                 VARCHAR2(4 BYTE)         NOT NULL,&lt;br /&gt;
  3    First_Name         VARCHAR2(10 BYTE),&lt;br /&gt;
  4    Last_Name          VARCHAR2(10 BYTE),&lt;br /&gt;
  5    Start_Date         DATE,&lt;br /&gt;
  6    End_Date           DATE,&lt;br /&gt;
  7    Salary             Number(8,2),&lt;br /&gt;
  8    City               VARCHAR2(10 BYTE),&lt;br /&gt;
  9    Description        VARCHAR2(15 BYTE)&lt;br /&gt;
 10  )&lt;br /&gt;
 11  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2               values (&amp;quot;01&amp;quot;,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  to_date(&amp;quot;19960725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20060725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;02&amp;quot;,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;, to_date(&amp;quot;19760321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19860221&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;03&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,   to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19900315&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;04&amp;quot;,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,    to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19990421&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;05&amp;quot;,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,   to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980808&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;06&amp;quot;,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,   to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19960104&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;07&amp;quot;,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,   to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;08&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20020415&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&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;
ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION&lt;br /&gt;
---- ---------- ---------- --------- --------- ---------- ---------- ---------------&lt;br /&gt;
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer&lt;br /&gt;
02   Alison     Mathews    21-MAR-76 21-FEB-86    2334.78 Vancouver  Tester&lt;br /&gt;
03   James      Smith      12-DEC-78 15-MAR-90    2334.78 Vancouver  Tester&lt;br /&gt;
04   Celia      Rice       24-OCT-82 21-APR-99    2334.78 Vancouver  Manager&lt;br /&gt;
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester&lt;br /&gt;
06   Linda      Green      30-JUL-87 04-JAN-96    2334.78 New York   Tester&lt;br /&gt;
07   David      Larry      31-DEC-90 12-FEB-98    2334.78 New York   Manager&lt;br /&gt;
08   James      Cat        17-SEP-96 15-APR-02    2334.78 Vancouver  Tester&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;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- Remember that the DISTINCT operator applies to the entire select list.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT DISTINCT City, Description FROM Employee;&lt;br /&gt;
CITY       DESCRIPTION&lt;br /&gt;
---------- ---------------&lt;br /&gt;
New York   Manager&lt;br /&gt;
Vancouver  Tester&lt;br /&gt;
Toronto    Programmer&lt;br /&gt;
Vancouver  Manager&lt;br /&gt;
New York   Tester&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;&lt;br /&gt;
SQL&amp;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;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
         &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>