You are on page 1of 752

Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> DESC Students


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDNO NUMBER(6)
FNAME VARCHAR2(30)
LNAME VARCHAR2(30)
DOB DATE
DOJ DATE
FEES NUMBER(7,2)
GENDER VARCHAR2(1)
INSERTBY VARCHAR2(10)

SQL> INSERT INTO Students


2 VALUES(
3 1234,
4 'SAMPATH',
5 'KUMAR',
6 '29-JAN-80',
7 '30-MAR-95',
8 25000,
9 'M',
10 'SATISH'
11 );

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1235,
4 'SRINIVAS',
5 'SHARMA',
6 '29-MAR-80',
7 '15-APR-95',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 '1236',
4 'RAMANA',
5 'KUMAR',
6 '29-MAR-80',
7 '15-APR-95',
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 '1237A',
4 'RAMANA',
5 'KUMAR',
6 '29-MAR-80',
7 '15-APR-95',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /
'1237A',
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1237,
4 'RAMANA',
5 KUMAR,
6 '29-MAR-80',
7 '15-APR-95',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /
KUMAR,
*
ERROR at line 5:
ORA-00984: column not allowed here

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1237,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 'RAMANA',
5 'KUMAR',
6 '29-MAR-80',
7 '15-APR-95',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1237,
4 'RAMANA',
5 'KUMAR',
6 '29-MAR-80',
7 '15-APR-95',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1238,
4 'RAJA',
5 'KUMAR',
6 '29-MARCH-80',
7 '15-APRIL-95',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1239,
4 'RAMA',
5 'KUMAR',
6 '29-MARCH-1980',
7 '15-APRIL-2010',
8 25000,
9 'M',
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

10 'SATISH'
11* )
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
4 'RAVI',
5 'KUMAR',
6 '29MARCH1980',
7 '15APRIL2010',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
4 'RAVI',
5 'KUMAR',
6 '29-03-1980',
7 '15-04-2010',
8 25000,
9 'M',
10 'SATISH'
11* )
SQL> /
'29-03-1980',
*
ERROR at line 6:
ORA-01843: not a valid month

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
4 'RAVI'
5 'KUMAR',
6 29-MAR-1980',
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 '15-APR-2010',
8 25000,
9 'MALE',
10 'SATISH',
11* )
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
4 'RAVI'
5 'KUMAR',
6 '29-MAR-1980',
7 '15-APR-2010',
8 25000,
9 'MALE',
10 'SATISH',
11* )
SQL> /
'KUMAR',
*
ERROR at line 5:
ORA-00917: missing comma

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
4 'RAVI'
5 'KUMAR',
6 29-MAR-1980',
7 '15-APR-2010',
8 25000,
9 'MALE',
10 'SATISH',
11* )
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 'RAVI'
5 'KUMAR',
6 '29-MAR-1980',
7 '15-APR-2010',
8 25000,
9 'MALE',
10 'SATISH',
11* )
SQL> /
'KUMAR',
*
ERROR at line 5:
ORA-00917: missing comma

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
4 'RAVI',
5 'KUMAR',
6 '29-MAR-1980',
7 '15-APR-2010',
8 25000,
9 'MALE',
10 'SATISH',
11* )
SQL> /
)
*
ERROR at line 11:
ORA-00936: missing expression

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240,
4 'RAVI'
5 'KUMAR',
6 '29-MAR-1980',
7 '15-APR-2010',
8 25000,
9 'MALE',
10 'SATISH',
11* )
SQL> /
'KUMAR',
*
ERROR at line 5:
ORA-00917: missing comma

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240
4 ,'RAVI'
5 'KUMAR'
6 ,'29-MAR-1980'
7 ,'15-APR-2010'
8 ,25000
9 ,'MALE'
10 ,'SATISH'
11* )
SQL> /
'KUMAR'
*
ERROR at line 5:
ORA-00917: missing comma

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240
4 ,'RAVI'
5 ,'KUMAR'
6 ,'29-MAR-1980'
7 ,'15-APR-2010'
8 ,25000
9 ,'MALE'
10 ,'SATISH'
11* )
SQL> /
,'MALE'
*
ERROR at line 9:
ORA-12899: value too large for column "SCOTT"."STUDENTS"."GENDER" (actual: 4,
maximum: 1)

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Students


2 VALUES(
3 1240
4 ,'RAVI'
5 ,'KUMAR'
6 ,'29-MAR-1980'
7 ,'15-APR-2010'
8 ,25000
9 ,'M'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

10 ,'SATISH'
11* )
SQL> /

1 row created.

SQL> INSERT INTO


2 Students
3 (StudNo, Fname, Lname, DOJ, Gender)
4 VALUES
5 (1235, 'Raj', 'Kumar', '20-Feb-85', 'M');

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO
2 Students
3 (StudNo, Fname, Lname, DOJ, Gender)
4 VALUES
5* (1235, 'Raj', 'Kumar', 'M')
SQL> /
VALUES
*
ERROR at line 4:
ORA-00947: not enough values

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO
2 Students
3 (StudNo, Fname, Lname, DOJ, Gender)
4 VALUES
5* (1235, 'Raj', 'Kumar', '10-AUG-09', 'M', 'SATISH')
SQL> /
Students
*
ERROR at line 2:
ORA-00913: too many values

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO
2 Students(StudNo, Fname, Lname, DOB, DOJ, Fees, Gender)
3* VALUES(1234, 'Krishna', NULL, NULL, '28-FEB-04', NULL, 'M')
SQL> /

1 row created.

SQL> SELECT * FROM Students;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

STUDNO FNAME LNAME


---------- ------------------------------ ------------------------------
DOB DOJ FEES G INSERTBY
--------- --------- ---------- - ----------
1234 SAMPATH KUMAR
29-JAN-80 30-MAR-95 25000 M SATISH

1235 SRINIVAS SHARMA


29-MAR-80 15-APR-95 25000 M SATISH

1236 RAMANA KUMAR


29-MAR-80 15-APR-95 25000 M SATISH

STUDNO FNAME LNAME


---------- ------------------------------ ------------------------------
DOB DOJ FEES G INSERTBY
--------- --------- ---------- - ----------
1237 RAMANA KUMAR
29-MAR-80 15-APR-95 25000 M SATISH

1238 RAJA KUMAR


29-MAR-80 15-APR-95 25000 M SATISH

1239 RAMA KUMAR


29-MAR-80 15-APR-10 25000 M SATISH

STUDNO FNAME LNAME


---------- ------------------------------ ------------------------------
DOB DOJ FEES G INSERTBY
--------- --------- ---------- - ----------
1240 RAVI KUMAR
29-MAR-80 15-APR-10 25000 M SATISH

1240 RAVI KUMAR


29-MAR-80 15-APR-10 25000 M SATISH

1235 Raj Kumar


20-FEB-85 M

STUDNO FNAME LNAME


---------- ------------------------------ ------------------------------
DOB DOJ FEES G INSERTBY
--------- --------- ---------- - ----------
1234 Krishna
28-FEB-04 M

10 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> DESC Students


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Name Null? Type


----------------------------------------- -------- ----------------------------
STUDNO NUMBER(6)
FNAME VARCHAR2(30)
LNAME VARCHAR2(30)
DOB DATE
DOJ DATE
FEES NUMBER(7,2)
GENDER VARCHAR2(1)
INSERTBY VARCHAR2(10)

SQL> SELECT * FROm Students;

STUDNO FNAME LNAME DOB DOJ FEES G INSERTBY


------ ------------ ------------ --------- --------- ------ - ----------
1234 SAMPATH KUMAR 29-JAN-80 30-MAR-95 25000 M SATISH
1235 Raj Kumar 20-FEB-85 M
1234 Krishna 28-FEB-04 M

SQL> INSERT INTO


2 Students(StudNo, Fname, DOJ, Fees, Gender, InsertBy)
3 VALUES(1234, 'Mohan', SYSDATE, 25000, 'M', USER);

1 row created.

SQL> SELECT * FROm Students;

STUDNO FNAME LNAME DOB DOJ FEES G INSERTBY


------ ------------ ------------ --------- --------- ------ - ----------
1234 SAMPATH KUMAR 29-JAN-80 30-MAR-95 25000 M SATISH
1235 Raj Kumar 20-FEB-85 M
1234 Krishna 28-FEB-04 M
1234 Mohan 29-JUL-10 25000 M SCOTT

SQL> INSERT INTO


2 Students(StudNo, Fname, DOJ, Fees, Gender, InsertBy)
3 VALUES(1234, 'Mohan', SYSDATE, 25000, 'M', USER);

1 row created.

SQL> /

1 row created.

SQL> INSERT INTO Students


2 (StudNo, Fname, LName, Dob, Fees)
3 VALUES(
4 &StudNo,
5 '&Name',
6 &LastName,
7 '&DOB',
8 25000
9 ) ;
Enter value for studno: 1235
old 4: &StudNo,
new 4: 1235,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for name: RAVI


old 5: '&Name',
new 5: 'RAVI',
Enter value for lastname: 'KUMAR'
old 6: &LastName,
new 6: 'KUMAR',
Enter value for dob: 16-APR-80
old 7: '&DOB',
new 7: '16-APR-80',

1 row created.

SQL> /
Enter value for studno: 1236
old 4: &StudNo,
new 4: 1236,
Enter value for name: RAMANA
old 5: '&Name',
new 5: 'RAMANA',
Enter value for lastname: NULL
old 6: &LastName,
new 6: NULL,
Enter value for dob: 21-MAR-86
old 7: '&DOB',
new 7: '21-MAR-86',

1 row created.

SQL> SELECT * FROm Students;

STUDNO FNAME LNAME DOB DOJ FEES G INSERTBY


------ ------------ ------------ --------- --------- ------ - ----------
1234 SAMPATH KUMAR 29-JAN-80 30-MAR-95 25000 M SATISH
1235 Raj Kumar 20-FEB-85 M
1234 Krishna 28-FEB-04 M
1234 Mohan 29-JUL-10 25000 M SCOTT
1234 Mohan 29-JUL-10 25000 M SCOTT
1234 Mohan 29-JUL-10 25000 M SCOTT
1235 RAVI KUMAR 16-APR-80 25000
1236 RAMANA 21-MAR-86 25000

8 rows selected.

SQL> SET VERIFY OFF


SQL> INSERT INTO Students
2 (StudNo, Fname, LName, Dob, Fees)
3 VALUES(
4 &StudNo,
5 '&Name',
6 &LastName,
7 '&DOB',
8 25000
9 ) ;
Enter value for studno: 1237
Enter value for name: SAMPATH
Enter value for lastname: NULL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for dob: 12-MAY-88

1 row created.

SQL> cl scr

SQL> INSERT INTO


2 Students(StudNo, Fname, Lname, Dob, Doj, Fees, Gender)
3 Values(
4 &StudNo,
5 '&FirstName',
6 '&LastName',
7 '&DOB',
8 SYSDATE,
9 &&Fees,
10 '&Gender'
11 );
Enter value for studno: 1240
Enter value for firstname: SRINIVAS
Enter value for lastname: SHARMA
Enter value for dob: 21-MAY-88
Enter value for fees: 20000
Enter value for gender: M

1 row created.

SQL> /
Enter value for studno: 1241
Enter value for firstname: SRAVAN
Enter value for lastname: NULL
Enter value for dob: 23-NOV-88
Enter value for gender: M

1 row created.

SQL> /
Enter value for studno: 1242
Enter value for firstname: RAVI
Enter value for lastname: KUMAR
Enter value for dob: 24-DEC-86
Enter value for gender: M

1 row created.

SQL> UNDEFINE Fees


SQL> /
Enter value for studno: 1243
Enter value for firstname: RAMANA
Enter value for lastname: KUMAR
Enter value for dob: 22-SEP-88
Enter value for fees: 15000
Enter value for gender: M

1 row created.

SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for studno: 1244


Enter value for firstname: SRAVAN
Enter value for lastname: NULL
Enter value for dob: 30-MAR-88
Enter value for gender: M

1 row created.

SQL> DEFINE Fees = 10000


SQL> /
Enter value for studno: 1245
Enter value for firstname: SRINIVAS
Enter value for lastname: SHARMA
Enter value for dob: 20-DEC-85
Enter value for gender: M

1 row created.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO
2 Students(StudNo, Fname, Lname, Dob, Doj, Fees, Gender)
3 Values(
4 &StudNo,
5 '&FirstName',
6 '&LastName',
7 '&DOB',
8 SYSDATE,
9 &&Fees,
10 '&Gender'
11* )
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> DESC Dept


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> DESC SalGrade


Name Null? Type
----------------------------------------- -------- ----------------------------
GRADE NUMBER
LOSAL NUMBER
HISAL NUMBER

SQL> SELECT * FROM SalGrade;

GRADE LOSAL HISAL


---------- ---------- ----------
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999

SQL> DESC Emp


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7839 KING PRESIDENT 17-NOV-81 5000
10

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

7782 CLARK MANAGER 7839 09-JUN-81 2450


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-APR-81 2975
20

7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400


30

7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30

7900 JAMES CLERK 7698 03-DEC-81 950


30

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20

7369 SMITH CLERK 7902 17-DEC-80 800


20

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7876 ADAMS CLERK 7788 12-JAN-83 1100
20

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7934 MILLER CLERK 7782 23-JAN-82 1300


10

14 rows selected.

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN Deptno FORMAT 99
SQL> COLUMN MGR FORMAT 9999
SQL> COLUMN Sal FORMAT 9999
SQL> COLUMN Comm FORMAT 9999
SQL> COLUMN Ename FORMAT A7
SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> cl scr

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ------- --------- ----- --------- ----- ----- ------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7788 SCOTT ANALYST 7566 09-DEC-82 3000 20


7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> SELECT Deptno, Dname, Loc


2 FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> SELECT Dname, Loc


2 FROM Dept;

DNAME LOC
-------------- -------------
ACCOUNTING NEW YORK
RESEARCH DALLAS
SALES CHICAGO
OPERATIONS BOSTON

SQL> SELECT Loc, Dename


2 FROm Dept;
SELECT Loc, Dename
*
ERROR at line 1:
ORA-00904: "DENAME": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT Loc, Dname


2* FROM Dept
SQL> /

LOC DNAME
------------- --------------
NEW YORK ACCOUNTING
DALLAS RESEARCH
CHICAGO SALES
BOSTON OPERATIONS

SQL> SELECT Deptno, Loc


2 FROM Dept;

DEPTNO LOC
------ -------------
10 NEW YORK
20 DALLAS
30 CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

40 BOSTON

SQL> cl scr

SQL> SELECT Empno, Ename, Job


2 FROM Emp;

EMPNO ENAME JOB


----- ------- ---------
7839 KING PRESIDENT
7698 BLAKE MANAGER
7782 CLARK MANAGER
7566 JONES MANAGER
7654 MARTIN SALESMAN
7499 ALLEN SALESMAN
7844 TURNER SALESMAN
7900 JAMES CLERK
7521 WARD SALESMAN
7902 FORD ANALYST
7369 SMITH CLERK

EMPNO ENAME JOB


----- ------- ---------
7788 SCOTT ANALYST
7876 ADAMS CLERK
7934 MILLER CLERK

14 rows selected.

SQL> SELECT Ename, Sal, HireDate, Job


2 FROM Emp;

ENAME SAL HIREDATE JOB


------- ----- --------- ---------
KING 5000 17-NOV-81 PRESIDENT
BLAKE 2850 01-MAY-81 MANAGER
CLARK 2450 09-JUN-81 MANAGER
JONES 2975 02-APR-81 MANAGER
MARTIN 1250 28-SEP-81 SALESMAN
ALLEN 1600 20-FEB-81 SALESMAN
TURNER 1500 08-SEP-81 SALESMAN
JAMES 950 03-DEC-81 CLERK
WARD 1250 22-FEB-81 SALESMAN
FORD 3000 03-DEC-81 ANALYST
SMITH 800 17-DEC-80 CLERK

ENAME SAL HIREDATE JOB


------- ----- --------- ---------
SCOTT 3000 09-DEC-82 ANALYST
ADAMS 1100 12-JAN-83 CLERK
MILLER 1300 23-JAN-82 CLERK

14 rows selected.

SQL> SELECT Ename


2 FROm Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
-------
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

ENAME
-------
SCOTT
ADAMS
MILLER

14 rows selected.

SQL> SELECT Empno, Ename, MGR


2 FROM Emp;

EMPNO ENAME MGR


----- ------- -----
7839 KING
7698 BLAKE 7839
7782 CLARK 7839
7566 JONES 7839
7654 MARTIN 7698
7499 ALLEN 7698
7844 TURNER 7698
7900 JAMES 7698
7521 WARD 7698
7902 FORD 7566
7369 SMITH 7902

EMPNO ENAME MGR


----- ------- -----
7788 SCOTT 7566
7876 ADAMS 7788
7934 MILLER 7782

14 rows selected.

SQL> SELECT Empno, Ename, MGR, Job


2 FROM Emp;

EMPNO ENAME MGR JOB


----- ------- ----- ---------
7839 KING PRESIDENT
7698 BLAKE 7839 MANAGER
7782 CLARK 7839 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7566 JONES 7839 MANAGER


7654 MARTIN 7698 SALESMAN
7499 ALLEN 7698 SALESMAN
7844 TURNER 7698 SALESMAN
7900 JAMES 7698 CLERK
7521 WARD 7698 SALESMAN
7902 FORD 7566 ANALYST
7369 SMITH 7902 CLERK

EMPNO ENAME MGR JOB


----- ------- ----- ---------
7788 SCOTT 7566 ANALYST
7876 ADAMS 7788 CLERK
7934 MILLER 7782 CLERK

14 rows selected.

SQL> cl scr

SQL> SELECT Empno, Ename, Sal, Comm


2 FROM Emp;

EMPNO ENAME SAL COMM


----- ------- ----- -----
7839 KING 5000
7698 BLAKE 2850
7782 CLARK 2450
7566 JONES 2975
7654 MARTIN 1250 1400
7499 ALLEN 1600 300
7844 TURNER 1500 0
7900 JAMES 950
7521 WARD 1250 500
7902 FORD 3000
7369 SMITH 800

EMPNO ENAME SAL COMM


----- ------- ----- -----
7788 SCOTT 3000
7876 ADAMS 1100
7934 MILLER 1300

14 rows selected.

SQL> SELECT Empno, Ename, Job, Sal, Comm


2 FROM Emp;

EMPNO ENAME JOB SAL COMM


----- ------- --------- ----- -----
7839 KING PRESIDENT 5000
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7566 JONES MANAGER 2975
7654 MARTIN SALESMAN 1250 1400
7499 ALLEN SALESMAN 1600 300
7844 TURNER SALESMAN 1500 0
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7900 JAMES CLERK 950


7521 WARD SALESMAN 1250 500
7902 FORD ANALYST 3000
7369 SMITH CLERK 800

EMPNO ENAME JOB SAL COMM


----- ------- --------- ----- -----
7788 SCOTT ANALYST 3000
7876 ADAMS CLERK 1100
7934 MILLER CLERK 1300

14 rows selected.

SQL> cl scr

SQL> SELECT
2 Empno,
3 Ename,
4 Sal,
5 HireDate,
6 Job
7 FROM Emp;

EMPNO ENAME SAL HIREDATE JOB


----- ------- ----- --------- ---------
7839 KING 5000 17-NOV-81 PRESIDENT
7698 BLAKE 2850 01-MAY-81 MANAGER
7782 CLARK 2450 09-JUN-81 MANAGER
7566 JONES 2975 02-APR-81 MANAGER
7654 MARTIN 1250 28-SEP-81 SALESMAN
7499 ALLEN 1600 20-FEB-81 SALESMAN
7844 TURNER 1500 08-SEP-81 SALESMAN
7900 JAMES 950 03-DEC-81 CLERK
7521 WARD 1250 22-FEB-81 SALESMAN
7902 FORD 3000 03-DEC-81 ANALYST
7369 SMITH 800 17-DEC-80 CLERK

EMPNO ENAME SAL HIREDATE JOB


----- ------- ----- --------- ---------
7788 SCOTT 3000 09-DEC-82 ANALYST
7876 ADAMS 1100 12-JAN-83 CLERK
7934 MILLER 1300 23-JAN-82 CLERK

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Sal * 12


2 FROM Emp
3
SQL> cl scr

SQL> SELECT Ename, Deptno, Sal, Sal * 12


2 FROM Emp;

ENAME DEPTNO SAL SAL*12


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

------- ------ ----- ----------


KING 10 5000 60000
BLAKE 30 2850 34200
CLARK 10 2450 29400
JONES 20 2975 35700
MARTIN 30 1250 15000
ALLEN 30 1600 19200
TURNER 30 1500 18000
JAMES 30 950 11400
WARD 30 1250 15000
FORD 20 3000 36000
SMITH 20 800 9600

ENAME DEPTNO SAL SAL*12


------- ------ ----- ----------
SCOTT 20 3000 36000
ADAMS 20 1100 13200
MILLER 10 1300 15600

14 rows selected.

SQL> SELECT Ename, Sal, Sal + 1000


2 FROm Emp;

ENAME SAL SAL+1000


------- ----- ----------
KING 5000 6000
BLAKE 2850 3850
CLARK 2450 3450
JONES 2975 3975
MARTIN 1250 2250
ALLEN 1600 2600
TURNER 1500 2500
JAMES 950 1950
WARD 1250 2250
FORD 3000 4000
SMITH 800 1800

ENAME SAL SAL+1000


------- ----- ----------
SCOTT 3000 4000
ADAMS 1100 2100
MILLER 1300 2300

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, (Sal + 1000) * 12


2 FROM Emp;

ENAME SAL (SAL+1000)*12


------- ----- -------------
KING 5000 72000
BLAKE 2850 46200
CLARK 2450 41400
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 2975 47700


MARTIN 1250 27000
ALLEN 1600 31200
TURNER 1500 30000
JAMES 950 23400
WARD 1250 27000
FORD 3000 48000
SMITH 800 21600

ENAME SAL (SAL+1000)*12


------- ----- -------------
SCOTT 3000 48000
ADAMS 1100 25200
MILLER 1300 27600

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, (Sal + 1000) * 12


2* FROM Emp
SQL> /

ENAME (SAL+1000)*12
------- -------------
KING 72000
BLAKE 46200
CLARK 41400
JONES 47700
MARTIN 27000
ALLEN 31200
TURNER 30000
JAMES 23400
WARD 27000
FORD 48000
SMITH 21600

ENAME (SAL+1000)*12
------- -------------
SCOTT 48000
ADAMS 25200
MILLER 27600

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Sal * 12,
5 (Sal + 1000) * 12,
6 ((Sal + 1000) * 12) - (Sal * 12)
7* FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

ENAME SAL SAL*12 (SAL+1000)*12 ((SAL+1000)*12)-(SAL*12)


------- ----- ---------- ------------- ------------------------
KING 5000 60000 72000 12000
BLAKE 2850 34200 46200 12000
CLARK 2450 29400 41400 12000
JONES 2975 35700 47700 12000
MARTIN 1250 15000 27000 12000
ALLEN 1600 19200 31200 12000
TURNER 1500 18000 30000 12000
JAMES 950 11400 23400 12000
WARD 1250 15000 27000 12000
FORD 3000 36000 48000 12000
SMITH 800 9600 21600 12000

ENAME SAL SAL*12 (SAL+1000)*12 ((SAL+1000)*12)-(SAL*12)


------- ----- ---------- ------------- ------------------------
SCOTT 3000 36000 48000 12000
ADAMS 1100 13200 25200 12000
MILLER 1300 15600 27600 12000

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Sal + 1000, Sal - 1000, Sal * 12, Sal * 6, Sal * 12 +
1000
2 FROM Emp;

ENAME SAL SAL+1000 SAL-1000 SAL*12 SAL*6 SAL*12+1000


------- ----- ---------- ---------- ---------- ---------- -----------
KING 5000 6000 4000 60000 30000 61000
BLAKE 2850 3850 1850 34200 17100 35200
CLARK 2450 3450 1450 29400 14700 30400
JONES 2975 3975 1975 35700 17850 36700
MARTIN 1250 2250 250 15000 7500 16000
ALLEN 1600 2600 600 19200 9600 20200
TURNER 1500 2500 500 18000 9000 19000
JAMES 950 1950 -50 11400 5700 12400
WARD 1250 2250 250 15000 7500 16000
FORD 3000 4000 2000 36000 18000 37000
SMITH 800 1800 -200 9600 4800 10600

ENAME SAL SAL+1000 SAL-1000 SAL*12 SAL*6 SAL*12+1000


------- ----- ---------- ---------- ---------- ---------- -----------
SCOTT 3000 4000 2000 36000 18000 37000
ADAMS 1100 2100 100 13200 6600 14200
MILLER 1300 2300 300 15600 7800 16600

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Comm


2 FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME SAL COMM


------- ----- -----
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250 1400
ALLEN 1600 300
TURNER 1500 0
JAMES 950
WARD 1250 500
FORD 3000
SMITH 800

ENAME SAL COMM


------- ----- -----
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm, Sal + Comm


2* FROM Emp
SQL> /

ENAME SAL COMM SAL+COMM


------- ----- ----- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950
WARD 1250 500 1750
FORD 3000
SMITH 800

ENAME SAL COMM SAL+COMM


------- ----- ----- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0)


2 FROM Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME SAL COMM SAL+NVL(COMM,0)


------- ----- ----- ---------------
KING 5000 5000
BLAKE 2850 2850
CLARK 2450 2450
JONES 2975 2975
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950 950
WARD 1250 500 1750
FORD 3000 3000
SMITH 800 800

ENAME SAL COMM SAL+NVL(COMM,0)


------- ----- ----- ---------------
SCOTT 3000 3000
ADAMS 1100 1100
MILLER 1300 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, NVL(Comm, 500), Sal + NVL(Comm, 500)


2* FROM Emp
SQL> /

ENAME SAL NVL(COMM,500) SAL+NVL(COMM,500)


------- ----- ------------- -----------------
KING 5000 500 5500
BLAKE 2850 500 3350
CLARK 2450 500 2950
JONES 2975 500 3475
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950 500 1450
WARD 1250 500 1750
FORD 3000 500 3500
SMITH 800 500 1300

ENAME SAL NVL(COMM,500) SAL+NVL(COMM,500)


------- ----- ------------- -----------------
SCOTT 3000 500 3500
ADAMS 1100 500 1600
MILLER 1300 500 1800

14 rows selected.

SQL> cl scr

SQL> SELECT 125 + 25 * 35


2 FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

125+25*35
----------
1000

SQL> SELECT 125, 25, 125 + 25


2 FROM DUAL;

125 25 125+25
---------- ---------- ----------
125 25 150

SQL> DESC DUAL


Name Null? Type
----------------------------------------- -------- ----------------------------
DUMMY VARCHAR2(1)

SQL> cl scr

SQL> SELECT
2 ((&GVal1 + &GVal2) * &GVal3) / &GVal4
3 FROM DUAL;
Enter value for gval1: 12
Enter value for gval2: 25
Enter value for gval3: 30
Enter value for gval4: 5

((12+25)*30)/5
--------------
222

SQL> /
Enter value for gval1: 12
Enter value for gval2: NULL
Enter value for gval3: 30
Enter value for gval4: 7

((12+NULL)*30)/7
----------------

SQL> cl scr

SQL> SELECT
2 Ename Name,
3 Sal Salary,
4 Comm Commission
5 FROM Emp;

NAME SALARY COMMISSION


---------- ---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250 1400
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN 1600 300


TURNER 1500 0
JAMES 950
WARD 1250 500
FORD 3000
SMITH 800

NAME SALARY COMMISSION


---------- ---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename Name,
3 Sal Salary,
4 Comm Commission,
5 Sal + NVL(Comm, 0)
6* FROM Emp
SQL> /

NAME SALARY COMMISSION SAL+NVL(COMM,0)


---------- ---------- ---------- ---------------
KING 5000 5000
BLAKE 2850 2850
CLARK 2450 2450
JONES 2975 2975
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950 950
WARD 1250 500 1750
FORD 3000 3000
SMITH 800 800

NAME SALARY COMMISSION SAL+NVL(COMM,0)


---------- ---------- ---------- ---------------
SCOTT 3000 3000
ADAMS 1100 1100
MILLER 1300 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename Name,
3 Sal Salary,
4 Comm Commission,
5 Sal + NVL(Comm, 0) Gross
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6* FROM Emp
SQL> /

NAME SALARY COMMISSION GROSS


---------- ---------- ---------- ----------
KING 5000 5000
BLAKE 2850 2850
CLARK 2450 2450
JONES 2975 2975
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950 950
WARD 1250 500 1750
FORD 3000 3000
SMITH 800 800

NAME SALARY COMMISSION GROSS


---------- ---------- ---------- ----------
SCOTT 3000 3000
ADAMS 1100 1100
MILLER 1300 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename Name,
3 Sal Salary,
4 Comm Commission,
5 Sal + NVL(Comm, 0) Gross Salary
6* FROM Emp
SQL> /
Sal + NVL(Comm, 0) Gross Salary
*
ERROR at line 5:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename Name,
3 Sal Salary,
4 Comm Commission,
5 Sal + NVL(Comm, 0) "Gross Salary"
6* FROM Emp
SQL> /

NAME SALARY COMMISSION Gross Salary


---------- ---------- ---------- ------------
KING 5000 5000
BLAKE 2850 2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CLARK 2450 2450


JONES 2975 2975
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950 950
WARD 1250 500 1750
FORD 3000 3000
SMITH 800 800

NAME SALARY COMMISSION Gross Salary


---------- ---------- ---------- ------------
SCOTT 3000 3000
ADAMS 1100 1100
MILLER 1300 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename AS Name,
3 Sal AS Salary,
4 Comm AS Commission,
5 Sal + NVL(Comm, 0) AS "Gross Salary"
6* FROM Emp
SQL> /

NAME SALARY COMMISSION Gross Salary


---------- ---------- ---------- ------------
KING 5000 5000
BLAKE 2850 2850
CLARK 2450 2450
JONES 2975 2975
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950 950
WARD 1250 500 1750
FORD 3000 3000
SMITH 800 800

NAME SALARY COMMISSION Gross Salary


---------- ---------- ---------- ------------
SCOTT 3000 3000
ADAMS 1100 1100
MILLER 1300 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Empno Number,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 Ename Name,
4 Sal Salary,
5 Comm Commission,
6 Sal + NVL(Comm, 0) "Gross Salary"
7* FROM Emp
SQL> /
Empno Number,
*
ERROR at line 2:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Empno "Number",
3 Ename Name,
4 Sal Salary,
5 Comm Commission,
6 Sal + NVL(Comm, 0) "Gross Salary"
7* FROM Emp
SQL> /

Number NAME SALARY COMMISSION Gross Salary


---------- ---------- ---------- ---------- ------------
7839 KING 5000 5000
7698 BLAKE 2850 2850
7782 CLARK 2450 2450
7566 JONES 2975 2975
7654 MARTIN 1250 1400 2650
7499 ALLEN 1600 300 1900
7844 TURNER 1500 0 1500
7900 JAMES 950 950
7521 WARD 1250 500 1750
7902 FORD 3000 3000
7369 SMITH 800 800

Number NAME SALARY COMMISSION Gross Salary


---------- ---------- ---------- ---------- ------------
7788 SCOTT 3000 3000
7876 ADAMS 1100 1100
7934 MILLER 1300 1300

14 rows selected.

SQL> cl scr

SQL> SELECT Ename Name, Sal Salary, Comm Job, HireDate JoinDate
2 FROM Emp;

NAME SALARY JOB JOINDATE


---------- ---------- ---------- ---------
KING 5000 17-NOV-81
BLAKE 2850 01-MAY-81
CLARK 2450 09-JUN-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 2975 02-APR-81


MARTIN 1250 1400 28-SEP-81
ALLEN 1600 300 20-FEB-81
TURNER 1500 0 08-SEP-81
JAMES 950 03-DEC-81
WARD 1250 500 22-FEB-81
FORD 3000 03-DEC-81
SMITH 800 17-DEC-80

NAME SALARY JOB JOINDATE


---------- ---------- ---------- ---------
SCOTT 3000 09-DEC-82
ADAMS 1100 12-JAN-83
MILLER 1300 23-JAN-82

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename Name, Sal Salary, Comm Job HireDate


2* FROM Emp
SQL> /
SELECT Ename Name, Sal Salary, Comm Job HireDate
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected

SQL> cl scr

SQL> SELECT Ename, Sal Salary, Comm, Salary + NVL(Comm, 0) TotSal


2 FROM Emp;
SELECT Ename, Sal Salary, Comm, Salary + NVL(Comm, 0) TotSal
*
ERROR at line 1:
ORA-00904: "SALARY": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal Salary, Comm, Sal + NVL(Comm, 0) TotSal


2* FROM Emp
SQL> /

ENAME SALARY COMM TOTSAL


------- ---------- ----- ----------
KING 5000 5000
BLAKE 2850 2850
CLARK 2450 2450
JONES 2975 2975
MARTIN 1250 1400 2650
ALLEN 1600 300 1900
TURNER 1500 0 1500
JAMES 950 950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

WARD 1250 500 1750


FORD 3000 3000
SMITH 800 800

ENAME SALARY COMM TOTSAL


------- ---------- ----- ----------
SCOTT 3000 3000
ADAMS 1100 1100
MILLER 1300 1300

14 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT
2 Ename, ' You Are Working For Department ', Deptno
3 FROM Emp;

ENAME 'YOUAREWORKINGFORDEPARTMENT' DEPTNO


---------- -------------------------------- ----------
KING You Are Working For Department 10
BLAKE You Are Working For Department 30
CLARK You Are Working For Department 10
JONES You Are Working For Department 20
MARTIN You Are Working For Department 30
ALLEN You Are Working For Department 30
TURNER You Are Working For Department 30
JAMES You Are Working For Department 30
WARD You Are Working For Department 30
FORD You Are Working For Department 20
SMITH You Are Working For Department 20

ENAME 'YOUAREWORKINGFORDEPARTMENT' DEPTNO


---------- -------------------------------- ----------
SCOTT You Are Working For Department 20
ADAMS You Are Working For Department 20
MILLER You Are Working For Department 10

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=28
0)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=280)

SQL> ED
Wrote file afiedt.buf

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT
2 Ename, '''s Designation is ', Job, ' With Salary of ', Sal
3* FROM Emp
SQL> /

ENAME '''SDESIGNATIONIS' JOB 'WITHSALARYOF' SAL


---------- ------------------ --------- ---------------- ----------
KING 's Designation is PRESIDENT With Salary of 5000
BLAKE 's Designation is MANAGER With Salary of 2850
CLARK 's Designation is MANAGER With Salary of 2450
JONES 's Designation is MANAGER With Salary of 2975
MARTIN 's Designation is SALESMAN With Salary of 1250
ALLEN 's Designation is SALESMAN With Salary of 1600
TURNER 's Designation is SALESMAN With Salary of 1500
JAMES 's Designation is CLERK With Salary of 950
WARD 's Designation is SALESMAN With Salary of 1250
FORD 's Designation is ANALYST With Salary of 3000
SMITH 's Designation is CLERK With Salary of 800

ENAME '''SDESIGNATIONIS' JOB 'WITHSALARYOF' SAL


---------- ------------------ --------- ---------------- ----------
SCOTT 's Designation is ANALYST With Salary of 3000
ADAMS 's Designation is CLERK With Salary of 1100
MILLER 's Designation is CLERK With Salary of 1300

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> cl scr

SQL> SET AUTOTRACE OFF EXPLAIN


SQL> cl scr

SQL> SELECT Empno||Ename||Job||Sal||Comm||MGR||HireDate||Deptno Employee


2 FROM Emp;

EMPLOYEE
--------------------------------------------------------------------------------
7839KINGPRESIDENT500017-NOV-8110
7698BLAKEMANAGER2850783901-MAY-8130
7782CLARKMANAGER2450783909-JUN-8110
7566JONESMANAGER2975783902-APR-8120
7654MARTINSALESMAN12501400769828-SEP-8130
7499ALLENSALESMAN1600300769820-FEB-8130
7844TURNERSALESMAN15000769808-SEP-8130
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7900JAMESCLERK950769803-DEC-8130
7521WARDSALESMAN1250500769822-FEB-8130
7902FORDANALYST3000756603-DEC-8120
7369SMITHCLERK800790217-DEC-8020

EMPLOYEE
--------------------------------------------------------------------------------
7788SCOTTANALYST3000756609-DEC-8220
7876ADAMSCLERK1100778812-JAN-8320
7934MILLERCLERK1300778223-JAN-8210

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Empno||' is '||Ename||' With Designation of '||Job||' Earning A Salary of
'||Sal||' With Commission of '||NVL(Comm, 0)||' Joined on '||HireDate||' in the
Department '||Deptno Employee
3* FROM Emp
SQL> cl scr

SQL> /

EMPLOYEE
--------------------------------------------------------------------------------
7839 is KING With Designation of PRESIDENT Earning A Salary of 5000 With Commiss
ion of 0 Joined on 17-NOV-81 in the Department 10

7698 is BLAKE With Designation of MANAGER Earning A Salary of 2850 With Commissi
on of 0 Joined on 01-MAY-81 in the Department 30

7782 is CLARK With Designation of MANAGER Earning A Salary of 2450 With Commissi
on of 0 Joined on 09-JUN-81 in the Department 10

7566 is JONES With Designation of MANAGER Earning A Salary of 2975 With Commissi
on of 0 Joined on 02-APR-81 in the Department 20

EMPLOYEE
--------------------------------------------------------------------------------

7654 is MARTIN With Designation of SALESMAN Earning A Salary of 1250 With Commis
sion of 1400 Joined on 28-SEP-81 in the Department 30

7499 is ALLEN With Designation of SALESMAN Earning A Salary of 1600 With Commiss
ion of 300 Joined on 20-FEB-81 in the Department 30

7844 is TURNER With Designation of SALESMAN Earning A Salary of 1500 With Commis
sion of 0 Joined on 08-SEP-81 in the Department 30

7900 is JAMES With Designation of CLERK Earning A Salary of 950 With Commission

EMPLOYEE
--------------------------------------------------------------------------------
of 0 Joined on 03-DEC-81 in the Department 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7521 is WARD With Designation of SALESMAN Earning A Salary of 1250 With Commissi
on of 500 Joined on 22-FEB-81 in the Department 30

7902 is FORD With Designation of ANALYST Earning A Salary of 3000 With Commissio
n of 0 Joined on 03-DEC-81 in the Department 20

7369 is SMITH With Designation of CLERK Earning A Salary of 800 With Commission
of 0 Joined on 17-DEC-80 in the Department 20

EMPLOYEE
--------------------------------------------------------------------------------
7788 is SCOTT With Designation of ANALYST Earning A Salary of 3000 With Commissi
on of 0 Joined on 09-DEC-82 in the Department 20

7876 is ADAMS With Designation of CLERK Earning A Salary of 1100 With Commission
of 0 Joined on 12-JAN-83 in the Department 20

7934 is MILLER With Designation of CLERK Earning A Salary of 1300 With Commissio
n of 0 Joined on 23-JAN-82 in the Department 10

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||'''s Salary is Fixed As '||Sal||' Monthly Costing Annually At '||Sal
* 12 "Employees And Salaries"
3* FROM Emp
SQL> /

Employees And Salaries


--------------------------------------------------------------------------------
KING's Salary is Fixed As 5000 Monthly Costing Annually At 60000
BLAKE's Salary is Fixed As 2850 Monthly Costing Annually At 34200
CLARK's Salary is Fixed As 2450 Monthly Costing Annually At 29400
JONES's Salary is Fixed As 2975 Monthly Costing Annually At 35700
MARTIN's Salary is Fixed As 1250 Monthly Costing Annually At 15000
ALLEN's Salary is Fixed As 1600 Monthly Costing Annually At 19200
TURNER's Salary is Fixed As 1500 Monthly Costing Annually At 18000
JAMES's Salary is Fixed As 950 Monthly Costing Annually At 11400
WARD's Salary is Fixed As 1250 Monthly Costing Annually At 15000
FORD's Salary is Fixed As 3000 Monthly Costing Annually At 36000
SMITH's Salary is Fixed As 800 Monthly Costing Annually At 9600

Employees And Salaries


--------------------------------------------------------------------------------
SCOTT's Salary is Fixed As 3000 Monthly Costing Annually At 36000
ADAMS's Salary is Fixed As 1100 Monthly Costing Annually At 13200
MILLER's Salary is Fixed As 1300 Monthly Costing Annually At 15600

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Sum of '||&GNum1||' And '||&GNum2||' is '||&GNum1 + &GNum2 Result
3* FROM DUAL
SQL> /
Enter value for gnum1: 25
Enter value for gnum2: 45
Enter value for gnum1:
Enter value for gnum2:
'The Sum of '||25||' And '||45||' is '|| + Result
*
ERROR at line 2:
ORA-00904: "RESULT": invalid identifier

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Sum of '||&GNum1||' And '||&GNum2||' is '||&GNum3 + &GNum4 Result
3* FROM DUAL
SQL> /
Enter value for gnum1: 25
Enter value for gnum2: 45
Enter value for gnum3: 25
Enter value for gnum4: 45
'The Sum of '||25||' And '||45||' is '||25 + 45 Result
*
ERROR at line 2:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Sum of '||&GNum1||' And '||&GNum2||' is '||(&GNum3 + &GNum4) Result
3* FROM DUAL
SQL> /
Enter value for gnum1: 25
Enter value for gnum2: 45
Enter value for gnum3: 25
Enter value for gnum4: 45

RESULT
--------------------------
The Sum of 25 And 45 is 70

SQL> cl scr

SQL> SELECT Ename FROM Emp;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
----------
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

ENAME
----------
SCOTT
ADAMS
MILLER

14 rows selected.

SQL> SELECT Deptno FROM Emp;

DEPTNO
----------
10
30
10
20
30
30
30
30
30
20
20

DEPTNO
----------
20
20
10

14 rows selected.

SQL> SELECT Ename, Deptno FROM Emp;

ENAME DEPTNO
---------- ----------
KING 10
BLAKE 30
CLARK 10
JONES 20
MARTIN 30
ALLEN 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

TURNER 30
JAMES 30
WARD 30
FORD 20
SMITH 20

ENAME DEPTNO
---------- ----------
SCOTT 20
ADAMS 20
MILLER 10

14 rows selected.

SQL> SELECT Job FROM Emp;

JOB
---------
PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

JOB
---------
ANALYST
CLERK
CLERK

14 rows selected.

SQL> SELECT Ename, Job FROM Emp;

ENAME JOB
---------- ---------
KING PRESIDENT
BLAKE MANAGER
CLARK MANAGER
JONES MANAGER
MARTIN SALESMAN
ALLEN SALESMAN
TURNER SALESMAN
JAMES CLERK
WARD SALESMAN
FORD ANALYST
SMITH CLERK

ENAME JOB
---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT ANALYST
ADAMS CLERK
MILLER CLERK

14 rows selected.

SQL> cl scr

SQL> SELECT DISTINCT Deptno FROM Emp;

DEPTNO
----------
10
20
30

SQL> SELECT DISTINCT Job FROM Emp;

JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN

SQL> SELECT MGR FROM Emp;

MGR
----------

7839
7839
7839
7698
7698
7698
7698
7698
7566
7902

MGR
----------
7566
7788
7782

14 rows selected.

SQL> SELECT DISTINCT MGR FROM Emp;

MGR
----------
7566
7698
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7782
7788
7839
7902

7 rows selected.

SQL> SELECT Comm FROM Emp;

COMM
----------

1400
300
0

500

COMM
----------

14 rows selected.

SQL> SELECT DITINCT Comm FROM Emp;


SELECT DITINCT Comm FROM Emp
*
ERROR at line 1:
ORA-00904: "DITINCT": invalid identifier

SQL> SELECT DISTINCT Comm FROM Emp;

COMM
----------
0
300
500
1400

SQL> cl scr

SQL> SELECT Empno FROM Emp;

EMPNO
----------
7369
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7499
7521
7566
7654
7698
7782
7788
7839
7844
7876

EMPNO
----------
7900
7902
7934

14 rows selected.

SQL> SELECT DISTINCT Empno FROM Emp;

EMPNO
----------
7369
7499
7521
7566
7654
7698
7782
7788
7839
7844
7876

EMPNO
----------
7900
7902
7934

14 rows selected.

SQL> cl scr

SQL> SELECT Deptno, Job FROM Emp;

DEPTNO JOB
---------- ---------
10 PRESIDENT
30 MANAGER
10 MANAGER
20 MANAGER
30 SALESMAN
30 SALESMAN
30 SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

30 CLERK
30 SALESMAN
20 ANALYST
20 CLERK

DEPTNO JOB
---------- ---------
20 ANALYST
20 CLERK
10 CLERK

14 rows selected.

SQL> SELECT DISTINCT Deptno, Job FROM Emp;

DEPTNO JOB
---------- ---------
10 CLERK
10 MANAGER
10 PRESIDENT
20 ANALYST
20 CLERK
20 MANAGER
30 CLERK
30 MANAGER
30 SALESMAN

9 rows selected.

SQL> SELECT DISTINCT Deptno, DISTINCT Job FROM Emp;


SELECT DISTINCT Deptno, DISTINCT Job FROM Emp
*
ERROR at line 1:
ORA-00936: missing expression

SQL> SELECT Deptno, DISTINCT Job FROM Emp;


SELECT Deptno, DISTINCT Job FROM Emp
*
ERROR at line 1:
ORA-00936: missing expression

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

TURNER 1500 30 SALESMAN


JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job = 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, Sal


2 FROM Emp;

ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
JAMES 950
WARD 1250
FORD 3000
SMITH 800

ENAME SAL
---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal


2 FROM Emp
3* WHERE Sal >= 3000
SQL> /

ENAME SAL
---------- ----------
KING 5000
FORD 3000
SCOTT 3000

SQL> SELECT Ename, Deptno, Job, HireDate


2 FROM Emp
3 WHERE HireDate = '03-DEC-81';

ENAME DEPTNO JOB HIREDATE


---------- ---------- --------- ---------
JAMES 30 CLERK 03-DEC-81
FORD 20 ANALYST 03-DEC-81

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, HireDate


2 FROM Emp
3* WHERE HireDate = '03-DECEMBER-81'
SQL> /

ENAME DEPTNO JOB HIREDATE


---------- ---------- --------- ---------
JAMES 30 CLERK 03-DEC-81
FORD 20 ANALYST 03-DEC-81

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, HireDate


2 FROM Emp
3* WHERE HireDate = '03-DECEMBER-1981'
SQL> /

ENAME DEPTNO JOB HIREDATE


---------- ---------- --------- ---------
JAMES 30 CLERK 03-DEC-81
FORD 20 ANALYST 03-DEC-81

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, HireDate


2 FROM Emp
3* WHERE HireDate = '03-DECEMBER-2081'
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename||' is Working in Department '||Deptno||' Joined On '||HireDate


Employee
2 FROM Emp
3* WHERE HireDate = '03-DECEMBER-1981'
SQL> /

EMPLOYEE
--------------------------------------------------------------------------------
JAMES is Working in Department 30 Joined On 03-DEC-81
FORD is Working in Department 20 Joined On 03-DEC-81

SQL> cl scr

SQL> SELECT DISTINCT Job


2 FROM Emp;

JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT DISTINCT Job


2 FROM Emp
3* WHERE Job <> 'CLERK'
SQL> /

JOB
---------
ANALYST
MANAGER
PRESIDENT
SALESMAN

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 2975 20 MANAGER


MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job <> 'CLERK'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job = 'CLERK'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
JAMES 950 30 CLERK
SMITH 800 20 CLERK
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Deptno <> 20
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
MILLER 1300 10 CLERK

9 rows selected.

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal, Sal * 12 AnnSal


2 FROM Emp
3 WHERE Sal * 12 > 35000;

ENAME DEPTNO SAL ANNSAL


---------- ---------- ---------- ----------
KING 10 5000 60000
JONES 20 2975 35700
FORD 20 3000 36000
SCOTT 20 3000 36000

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal


2 FROM Emp
3* WHERE Sal * 12 > 35000
SQL> /

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
JONES 20 2975
FORD 20 3000
SCOTT 20 3000

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* WHERE Sal + NVL(Comm, 0) > 2800
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME DEPTNO SAL COMM TOTSAL


---------- ---------- ---------- ---------- ----------
KING 10 5000 5000
BLAKE 30 2850 2850
JONES 20 2975 2975
FORD 20 3000 3000
SCOTT 20 3000 3000

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* WHERE TotSal > 2800
SQL> /
WHERE TotSal > 2800
*
ERROR at line 3:
ORA-00904: "TOTSAL": invalid identifier

SQL> cl scr

SQL> SELECT 'Apple is Fruit' Fruit


2 FROM Emp
3 WHERE Empno = 7566;

FRUIT
--------------
Apple is Fruit

SQL> ED
Wrote file afiedt.buf

1 SELECT 'Apple is Fruit' Fruit


2 FROM Emp
3* WHERE Empno = 1234
SQL> /

no rows selected

SQL> cl scr

SQL> SELECT 125 Value1, 25 Value2, 125 + 25 Result


2 FROM DUAL
3 WHERE 'APPLE' = 'APPLE';

VALUE1 VALUE2 RESULT


---------- ---------- ----------
125 25 150

SQL> ED
Wrote file afiedt.buf

1 SELECT 125 Value1, 25 Value2, 125 + 25 Result


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM DUAL
3* WHERE 'APPLE' = 'APPLe'
SQL> /

no rows selected

SQL> cl scr

SQL> SELECT
2 Ename,
3 Sal,
4 Deptno,
5 Job
6 FROM Emp
7 WHERE
8 Deptno = 20 AND Job = 'MANAGER';

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Deptno,
5 Job
6 FROM Emp
7 WHERE
8* Deptno = 20
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
JONES 2975 20 MANAGER
FORD 3000 20 ANALYST
SMITH 800 20 CLERK
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Deptno,
5 Job
6 FROM Emp
7 WHERE
8* Job = 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- ---------


BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Deptno,
5 Job
6 FROM Emp
7 WHERE
8* Deptno = 20 AND Job = 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
JONES 2975 20 MANAGER

SQL> cl scr

SQL> SELECT
2 Empno,
3 Ename,
4 Job,
5 Sal
6 FROM Emp
7 WHERE Sal >= 1100;

EMPNO ENAME JOB SAL


---------- ---------- --------- ----------
7839 KING PRESIDENT 5000
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7566 JONES MANAGER 2975
7654 MARTIN SALESMAN 1250
7499 ALLEN SALESMAN 1600
7844 TURNER SALESMAN 1500
7521 WARD SALESMAN 1250
7902 FORD ANALYST 3000
7788 SCOTT ANALYST 3000
7876 ADAMS CLERK 1100

EMPNO ENAME JOB SAL


---------- ---------- --------- ----------
7934 MILLER CLERK 1300

12 rows selected.

SQL> SELECT
2 Empno,
3 Ename,
4 Job,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 Sal
6 FROM Emp
7 WHERE Job = 'CLERK';

EMPNO ENAME JOB SAL


---------- ---------- --------- ----------
7900 JAMES CLERK 950
7369 SMITH CLERK 800
7876 ADAMS CLERK 1100
7934 MILLER CLERK 1300

SQL> SELECT
2 Empno,
3 Ename,
4 Job,
5 Sal
6 FROM Emp
7 WHERE Sal >= 1100 AND Job = 'CLERK';

EMPNO ENAME JOB SAL


---------- ---------- --------- ----------
7876 ADAMS CLERK 1100
7934 MILLER CLERK 1300

SQL> cl scr

SQL> SELECT
2 Ename,
3 Sal ,
4 Job
5 FROM Emp
6 WHERE
7 Sal >= 1500 AND Sal >= 2850;

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
JONES 2975 MANAGER
FORD 3000 ANALYST
SCOTT 3000 ANALYST

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal ,
4 Job
5 FROM Emp
6 WHERE
7* Sal >= 2850
SQL> /

ENAME SAL JOB


---------- ---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 5000 PRESIDENT


BLAKE 2850 MANAGER
JONES 2975 MANAGER
FORD 3000 ANALYST
SCOTT 3000 ANALYST

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal ,
4 Job
5 FROM Emp
6 WHERE
7* Sal = 1250 AND Sal = 3000
SQL> /

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal ,
4 Job
5 FROM Emp
6 WHERE
7* Sal = 1250 AND Sal <> 3000
SQL> /

ENAME SAL JOB


---------- ---------- ---------
MARTIN 1250 SALESMAN
WARD 1250 SALESMAN

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal ,
4 Job
5 FROM Emp
6 WHERE
7* Job = 'MANAGER' AND Job = 'ANALYST'
SQL> /

no rows selected

SQL> SELECT
2 Ename,
3 Sal,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 Job
5 FROM Emp
6 WHERE
7 (Sal >= 1500 AND Sal <= 2850) AND
8 Job = 'MANAGER';

ENAME SAL JOB


---------- ---------- ---------
BLAKE 2850 MANAGER
CLARK 2450 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Job
5 FROM Emp
6 WHERE
7 Sal >= 1500 AND Sal <= 2850 AND
8* Job = 'MANAGER'
SQL> /

ENAME SAL JOB


---------- ---------- ---------
BLAKE 2850 MANAGER
CLARK 2450 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Job
5 FROM Emp
6 WHERE
7* Sal >= 1500 AND (Sal <= 2850 AND Job = 'MANAGER')
SQL> /

ENAME SAL JOB


---------- ---------- ---------
BLAKE 2850 MANAGER
CLARK 2450 MANAGER

SQL> cl scr

SQL> SELECT Ename, Deptno, Job


2 FROM Emp
3 WHERE Deptno = 20 OR Job = 'MANAGER';

ENAME DEPTNO JOB


---------- ---------- ---------
BLAKE 30 MANAGER
CLARK 10 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 20 MANAGER
FORD 20 ANALYST
SMITH 20 CLERK
SCOTT 20 ANALYST
ADAMS 20 CLERK

7 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Deptno = 10 OR Deptno = 30;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
MILLER 1300 10 CLERK

9 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Sal = 1250 OR Sal = 3000
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
MARTIN 1250 30 SALESMAN
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Sal >= 1250 AND Sal <= 3000
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
BLAKE 2850 30 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CLARK 2450 10 MANAGER


JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST
MILLER 1300 10 CLERK

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Sal <= 1250 OR Sal >= 3000
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
MARTIN 1250 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK

8 rows selected.

SQL> cl scr

SQL> SELECT
2 Ename,
3 Sal,
4 Job
5 FROM Emp
6 WHERE Sal >= 1500 OR Sal >= 2850;

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
CLARK 2450 MANAGER
JONES 2975 MANAGER
ALLEN 1600 SALESMAN
TURNER 1500 SALESMAN
FORD 3000 ANALYST
SCOTT 3000 ANALYST

8 rows selected.

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Job
5 FROM Emp
6* WHERE Sal >= 1500
SQL> /

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
CLARK 2450 MANAGER
JONES 2975 MANAGER
ALLEN 1600 SALESMAN
TURNER 1500 SALESMAN
FORD 3000 ANALYST
SCOTT 3000 ANALYST

8 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Job <> 'MANAGER';

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

11 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE NOT Job = 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN 1250 30 SALESMAN


ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

11 rows selected.

SQL> cl scr

SQL> SELECT Ename, Deptno, Job


2 FROM Emp
3 WHERE Job = 'SALESMAN';

ENAME DEPTNO JOB


---------- ---------- ---------
MARTIN 30 SALESMAN
ALLEN 30 SALESMAN
TURNER 30 SALESMAN
WARD 30 SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job


2 FROM Emp
3* WHERE Deptno = 30
SQL> /

ENAME DEPTNO JOB


---------- ---------- ---------
BLAKE 30 MANAGER
MARTIN 30 SALESMAN
ALLEN 30 SALESMAN
TURNER 30 SALESMAN
JAMES 30 CLERK
WARD 30 SALESMAN

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job


2 FROM Emp
3* WHERE NOT Job = 'SALESMAN' AND Deptno = 30
SQL> /

ENAME DEPTNO JOB


---------- ---------- ---------
BLAKE 30 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JAMES 30 CLERK

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)


2 VALUES(1234, 'SAMPLE01', 20, 'SALESMAN');

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)


2 VALUES(1235, 'SAMPLE02', 10, 'SALESMAN');

1 row created.

SQL> SELECT Ename, Deptno, Job


2 FROM Emp
3 WHERE Job = 'SALESMAN';

ENAME DEPTNO JOB


---------- ---------- ---------
MARTIN 30 SALESMAN
ALLEN 30 SALESMAN
TURNER 30 SALESMAN
WARD 30 SALESMAN
SAMPLE01 20 SALESMAN
SAMPLE02 10 SALESMAN

6 rows selected.

SQL> SELECT Ename, Deptno, Job


2 FROM Emp
3 WHERE Deptno = 30
4 /

ENAME DEPTNO JOB


---------- ---------- ---------
BLAKE 30 MANAGER
MARTIN 30 SALESMAN
ALLEN 30 SALESMAN
TURNER 30 SALESMAN
JAMES 30 CLERK
WARD 30 SALESMAN

6 rows selected.

SQL> SELECT Ename, Deptno, Job


2 FROM Emp
3 WHERE NOT Job = 'SALESMAN' AND Deptno = 30;

ENAME DEPTNO JOB


---------- ---------- ---------
BLAKE 30 MANAGER
JAMES 30 CLERK

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3* WHERE Job = 'SALESMAN' AND NOT Deptno = 30
SQL> /

ENAME DEPTNO JOB


---------- ---------- ---------
SAMPLE01 20 SALESMAN
SAMPLE02 10 SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job


2 FROM Emp
3* WHERE NOT Job = 'SALESMAN' AND NOT Deptno = 30
SQL> /

ENAME DEPTNO JOB


---------- ---------- ---------
KING 10 PRESIDENT
CLARK 10 MANAGER
JONES 20 MANAGER
FORD 20 ANALYST
SMITH 20 CLERK
SCOTT 20 ANALYST
ADAMS 20 CLERK
MILLER 10 CLERK

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job


2 FROM Emp
3* WHERE Job <> 'SALESMAN' AND Deptno <> 30
SQL> /

ENAME DEPTNO JOB


---------- ---------- ---------
KING 10 PRESIDENT
CLARK 10 MANAGER
JONES 20 MANAGER
FORD 20 ANALYST
SMITH 20 CLERK
SCOTT 20 ANALYST
ADAMS 20 CLERK
MILLER 10 CLERK

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job


2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3* WHERE NOT(Job <> 'SALESMAN' AND Deptno <> 30)


SQL> /

ENAME DEPTNO JOB


---------- ---------- ---------
BLAKE 30 MANAGER
MARTIN 30 SALESMAN
ALLEN 30 SALESMAN
TURNER 30 SALESMAN
JAMES 30 CLERK
WARD 30 SALESMAN
SAMPLE01 20 SALESMAN
SAMPLE02 10 SALESMAN

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job


2 FROM Emp
3* WHERE NOT(Job = 'SALESMAN' AND Deptno = 30)
SQL> /

ENAME DEPTNO JOB


---------- ---------- ---------
KING 10 PRESIDENT
BLAKE 30 MANAGER
CLARK 10 MANAGER
JONES 20 MANAGER
JAMES 30 CLERK
FORD 20 ANALYST
SMITH 20 CLERK
SCOTT 20 ANALYST
ADAMS 20 CLERK
MILLER 10 CLERK
SAMPLE01 20 SALESMAN

ENAME DEPTNO JOB


---------- ---------- ---------
SAMPLE02 10 SALESMAN

12 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Sal = 3000;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Sal > 3000
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job = 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job > 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
WARD 1250 30 SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job < 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
JAMES 950 30 CLERK
FORD 3000 20 ANALYST
SMITH 800 20 CLERK
SCOTT 3000 20 ANALYST
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS 1100 20 CLERK


MILLER 1300 10 CLERK

6 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3 WHERE HireDate = '03-DEC-81'
4 /

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
JAMES 950 30 03-DEC-81
FORD 3000 20 03-DEC-81

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3* WHERE HireDate > '03-DEC-81'
SQL> /

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
SCOTT 3000 20 09-DEC-82
ADAMS 1100 20 12-JAN-83
MILLER 1300 10 23-JAN-82

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3* WHERE HireDate < '03-DEC-81'
SQL> /

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
KING 5000 10 17-NOV-81
BLAKE 2850 30 01-MAY-81
CLARK 2450 10 09-JUN-81
JONES 2975 20 02-APR-81
MARTIN 1250 30 28-SEP-81
ALLEN 1600 30 20-FEB-81
TURNER 1500 30 08-SEP-81
WARD 1250 30 22-FEB-81
SMITH 800 20 17-DEC-80

9 rows selected.

SQL> ED
Wrote file afiedt.buf

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3* WHERE HireDate <> '03-DEC-81'
SQL> /

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
KING 5000 10 17-NOV-81
BLAKE 2850 30 01-MAY-81
CLARK 2450 10 09-JUN-81
JONES 2975 20 02-APR-81
MARTIN 1250 30 28-SEP-81
ALLEN 1600 30 20-FEB-81
TURNER 1500 30 08-SEP-81
WARD 1250 30 22-FEB-81
SMITH 800 20 17-DEC-80
SCOTT 3000 20 09-DEC-82
ADAMS 1100 20 12-JAN-83

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
MILLER 1300 10 23-JAN-82

12 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Comm


2 FROM Emp;

ENAME SAL COMM


---------- ---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250 1400
ALLEN 1600 300
TURNER 1500 0
JAMES 950
WARD 1250 500
FORD 3000
SMITH 800

ENAME SAL COMM


---------- ---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3* WHERE Comm = NULL
SQL> /

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm


2 FROM Emp
3* WHERE Comm <> NULL
SQL> /

no rows selected

SQL> cl scr

SQL> SELECT Ename, Sal, Job, Deptno


2 FROM Emp
3 WHERE Deptno = 10;

ENAME SAL JOB DEPTNO


---------- ---------- --------- ----------
KING 5000 PRESIDENT 10
CLARK 2450 MANAGER 10
MILLER 1300 CLERK 10

SQL> SELECT Ename, Sal, Job, Deptno


2 FROM Emp
3 WHERE 10 = Deptno;

ENAME SAL JOB DEPTNO


---------- ---------- --------- ----------
KING 5000 PRESIDENT 10
CLARK 2450 MANAGER 10
MILLER 1300 CLERK 10

SQL> SELECT Ename, Sal, Job, Deptno


2 FROM Emp
3 WHERE Job = 'MANAGER';

ENAME SAL JOB DEPTNO


---------- ---------- --------- ----------
BLAKE 2850 MANAGER 30
CLARK 2450 MANAGER 10
JONES 2975 MANAGER 20

SQL> SELECT Ename, Sal, Job, Deptno


2 FROM Emp
3 WHERE 'MANAGER' = Job;

ENAME SAL JOB DEPTNO


---------- ---------- --------- ----------
BLAKE 2850 MANAGER 30
CLARK 2450 MANAGER 10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 2975 MANAGER 20

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> SELECT Empno, Ename, Sal FROM Emp;

EMPNO ENAME SAL


---------- ---------- ----------
7839 KING 5000
7698 BLAKE 2850
7782 CLARK 2450
7566 JONES 2975
7654 MARTIN 1250
7499 ALLEN 1600
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
7902 FORD 3000
7369 SMITH 800

EMPNO ENAME SAL


---------- ---------- ----------
7788 SCOTT 3000
7876 ADAMS 1100
7934 MILLER 1300

14 rows selected.

SQL> SELECT Ename Name, Sal Salary FROM Emp;

NAME SALARY
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
JAMES 950
WARD 1250
FORD 3000
SMITH 800

NAME SALARY
---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.

SQL> cl scr

SQL> SELECTEname, Sal, Deptno, job


SP2-0734: unknown command beginning "SELECTEnam..." - rest of line ignored.
SQL> SELECT Ename, Sal, Deptno, job
2 FROM Emp
3 WHERE
4 Job = 'PRESIDENT' OR
5 Job = 'MANAGER' OR
6 Job = 'ANALYST' OR
7 Job = 'SALESMAN';

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, job


2 FROM Emp
3 WHERE
4* Job <> 'CLERK'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST

10 rows selected.

SQL> cl scr

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CONN HR/HR


Connected.
SQL> cl scr

SQL> SELECT
2 Department_ID, Job_ID, SUM(Salary), AVG(Salary)
3 FROM Employees
4 WHERE
5 (
6 (DEPARTMENT_ID = 20 AND (
7 JOB_ID = 'MK_MAN' OR
8 JOB_ID = 'MK_REP' OR
9 JOB_ID = 'PU_MAN' OR
10 JOB_ID = 'PU_CLERK' OR
11 JOB_ID = 'HR_REP' OR
12 JOB_ID = 'SH_CLERK' OR
13 JOB_ID = 'IT_PROG' OR
14 JOB_ID = 'SA_REP'
15 ) AND
16 (
17 SALARY >= 5000 AND SALARY <= 30000
18 )
19 ) OR
20 (DEPARTMENT_ID = 30 AND (
21 JOB_ID = 'MK_MAN' OR
22 JOB_ID = 'MK_REP' OR
23 JOB_ID = 'PU_MAN' OR
24 JOB_ID = 'PU_CLERK' OR
25 JOB_ID = 'HR_REP' OR
26 JOB_ID = 'SH_CLERK' OR
27 JOB_ID = 'IT_PROG' OR
28 JOB_ID = 'SA_REP'
29 ) AND
30 (
31 SALARY >= 5000 AND SALARY <= 30000
32 )
33 ) OR
34 (DEPARTMENT_ID = 40 AND (
35 JOB_ID = 'MK_MAN' OR
36 JOB_ID = 'MK_REP' OR
37 JOB_ID = 'PU_MAN' OR
38 JOB_ID = 'PU_CLERK' OR
39 JOB_ID = 'HR_REP' OR
40 JOB_ID = 'SH_CLERK' OR
41 JOB_ID = 'IT_PROG' OR
42 JOB_ID = 'SA_REP'
43 ) AND
44 (
45 SALARY >= 5000 AND SALARY <= 30000
46 )
47 ) OR
48 (DEPARTMENT_ID = 50 AND (
49 JOB_ID = 'MK_MAN' OR
50 JOB_ID = 'MK_REP' OR
51 JOB_ID = 'PU_MAN' OR
52 JOB_ID = 'PU_CLERK' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

53 JOB_ID = 'HR_REP' OR
54 JOB_ID = 'SH_CLERK' OR
55 JOB_ID = 'IT_PROG' OR
56 JOB_ID = 'SA_REP'
57 ) AND
58 (
59 SALARY >= 5000 AND SALARY <= 30000
60 )
61 ) OR
62 (DEPARTMENT_ID = 60 AND (
63 JOB_ID = 'MK_MAN' OR
64 JOB_ID = 'MK_REP' OR
65 JOB_ID = 'PU_MAN' OR
66 JOB_ID = 'PU_CLERK' OR
67 JOB_ID = 'HR_REP' OR
68 JOB_ID = 'SH_CLERK' OR
69 JOB_ID = 'IT_PROG' OR
70 JOB_ID = 'SA_REP'
71 ) AND
72 (
73 SALARY >= 5000 AND SALARY <= 30000
74 )
75 ) OR
76 (DEPARTMENT_ID = 80 AND (
77 JOB_ID = 'MK_MAN' OR
78 JOB_ID = 'MK_REP' OR
79 JOB_ID = 'PU_MAN' OR
80 JOB_ID = 'PU_CLERK' OR
81 JOB_ID = 'HR_REP' OR
82 JOB_ID = 'SH_CLERK' OR
83 JOB_ID = 'IT_PROG' OR
84 JOB_ID = 'SA_REP'
85 ) AND
86 (
87 SALARY >= 5000 AND SALARY <= 30000
88 )
89 ) OR
90 (DEPARTMENT_ID = 20 AND (
91 JOB_ID = 'MK_MAN' OR
92 JOB_ID = 'MK_REP' OR
93 JOB_ID = 'PU_MAN' OR
94 JOB_ID = 'PU_CLERK' OR
95 JOB_ID = 'HR_REP' OR
96 JOB_ID = 'SH_CLERK' OR
97 JOB_ID = 'IT_PROG' OR
98 JOB_ID = 'SA_REP'
99 ) AND
100 (
101 SALARY >= 5000 AND SALARY <= 30000
102 )
103 ) OR
104 (DEPARTMENT_ID = 20 AND (
105 JOB_ID = 'MK_MAN' OR
106 JOB_ID = 'MK_REP' OR
107 JOB_ID = 'PU_MAN' OR
108 JOB_ID = 'PU_CLERK' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

109 JOB_ID = 'HR_REP' OR


110 JOB_ID = 'SH_CLERK' OR
111 JOB_ID = 'IT_PROG' OR
112 JOB_ID = 'SA_REP'
113 ) AND
114 (
115 SALARY >= 5000 AND SALARY <= 30000
116 )
117 )
118 )
119 GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID JOB_ID SUM(SALARY) AVG(SALARY)


------------- ---------- ----------- -----------
20 MK_MAN 13000 13000
20 MK_REP 6000 6000
30 PU_MAN 11000 11000
40 HR_REP 6500 6500
60 IT_PROG 15000 7500
80 SA_REP 243500 8396.55172

6 rows selected.

SQL> SELECT
2 Department_ID, Job_ID, SUM(Salary), AVG(Salary)
3 FROm Employees
4 WHERE
5 (
6 (DEPARTMENT_ID = 20 OR
7 DEPARTMENT_ID = 30 OR
8 DEPARTMENT_ID = 40 OR
9 DEPARTMENT_ID = 50 OR
10 DEPARTMENT_ID = 60 OR
11 DEPARTMENT_ID = 80
12 ) AND
13 (JOB_ID = 'MK_MAN' OR
14 JOB_ID = 'MK_REP' OR
15 JOB_ID = 'PU_MAN' OR
16 JOB_ID = 'PU_CLERK' OR
17 JOB_ID = 'HR_REP' OR
18 JOB_ID = 'SH_CLERK' OR
19 JOB_ID = 'IT_PROG' OR
20 JOB_ID = 'SA_REP'
21 ) AND
22 (
23 SALARY >= 5000 AND SALARY <= 30000
24 )
25 )
26 GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID JOB_ID SUM(SALARY) AVG(SALARY)


------------- ---------- ----------- -----------
20 MK_MAN 13000 13000
20 MK_REP 6000 6000
30 PU_MAN 11000 11000
40 HR_REP 6500 6500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

60 IT_PROG 15000 7500


80 SA_REP 243500 8396.55172

6 rows selected.

SQL> SET AUTOTRACE ON EXPLAIn


SQL> cl scr

SQL> SELECT
2 Department_ID, Job_ID, SUM(Salary), AVG(Salary)
3 FROm Employees
4 WHERE
5 (
6 (DEPARTMENT_ID = 20 OR
7 DEPARTMENT_ID = 30 OR
8 DEPARTMENT_ID = 40 OR
9 DEPARTMENT_ID = 50 OR
10 DEPARTMENT_ID = 60 OR
11 DEPARTMENT_ID = 80
12 ) AND
13 (JOB_ID = 'MK_MAN' OR
14 JOB_ID = 'MK_REP' OR
15 JOB_ID = 'PU_MAN' OR
16 JOB_ID = 'PU_CLERK' OR
17 JOB_ID = 'HR_REP' OR
18 JOB_ID = 'SH_CLERK' OR
19 JOB_ID = 'IT_PROG' OR
20 JOB_ID = 'SA_REP'
21 ) AND
22 (
23 SALARY >= 5000 AND SALARY <= 30000
24 )
25 )
26 GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID JOB_ID SUM(SALARY) AVG(SALARY)


------------- ---------- ----------- -----------
20 MK_MAN 13000 13000
20 MK_REP 6000 6000
30 PU_MAN 11000 11000
40 HR_REP 6500 6500
60 IT_PROG 15000 7500
80 SA_REP 243500 8396.55172

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=34 Bytes=54
4)

1 0 SORT (GROUP BY) (Cost=4 Card=34 Bytes=544)


2 1 TABLE ACCESS (FULL) OF 'EMPLOYEES' (TABLE) (Cost=3 Card=
47 Bytes=752)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 Department_ID, Job_ID, SUM(Salary), AVG(Salary)
3 FROM Employees
4 WHERE
5 (
6 (DEPARTMENT_ID = 20 AND (
7 JOB_ID = 'MK_MAN' OR
8 JOB_ID = 'MK_REP' OR
9 JOB_ID = 'PU_MAN' OR
10 JOB_ID = 'PU_CLERK' OR
11 JOB_ID = 'HR_REP' OR
12 JOB_ID = 'SH_CLERK' OR
13 JOB_ID = 'IT_PROG' OR
14 JOB_ID = 'SA_REP'
15 ) AND
16 (
17 SALARY >= 5000 AND SALARY <= 30000
18 )
19 ) OR
20 (DEPARTMENT_ID = 30 AND (
21 JOB_ID = 'MK_MAN' OR
22 JOB_ID = 'MK_REP' OR
23 JOB_ID = 'PU_MAN' OR
24 JOB_ID = 'PU_CLERK' OR
25 JOB_ID = 'HR_REP' OR
26 JOB_ID = 'SH_CLERK' OR
27 JOB_ID = 'IT_PROG' OR
28 JOB_ID = 'SA_REP'
29 ) AND
30 (
31 SALARY >= 5000 AND SALARY <= 30000
32 )
33 ) OR
34 (DEPARTMENT_ID = 40 AND (
35 JOB_ID = 'MK_MAN' OR
36 JOB_ID = 'MK_REP' OR
37 JOB_ID = 'PU_MAN' OR
38 JOB_ID = 'PU_CLERK' OR
39 JOB_ID = 'HR_REP' OR
40 JOB_ID = 'SH_CLERK' OR
41 JOB_ID = 'IT_PROG' OR
42 JOB_ID = 'SA_REP'
43 ) AND
44 (
45 SALARY >= 5000 AND SALARY <= 30000
46 )
47 ) OR
48 (DEPARTMENT_ID = 50 AND (
49 JOB_ID = 'MK_MAN' OR
50 JOB_ID = 'MK_REP' OR
51 JOB_ID = 'PU_MAN' OR
52 JOB_ID = 'PU_CLERK' OR
53 JOB_ID = 'HR_REP' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

54 JOB_ID = 'SH_CLERK' OR
55 JOB_ID = 'IT_PROG' OR
56 JOB_ID = 'SA_REP'
57 ) AND
58 (
59 SALARY >= 5000 AND SALARY <= 30000
60 )
61 ) OR
62 (DEPARTMENT_ID = 60 AND (
63 JOB_ID = 'MK_MAN' OR
64 JOB_ID = 'MK_REP' OR
65 JOB_ID = 'PU_MAN' OR
66 JOB_ID = 'PU_CLERK' OR
67 JOB_ID = 'HR_REP' OR
68 JOB_ID = 'SH_CLERK' OR
69 JOB_ID = 'IT_PROG' OR
70 JOB_ID = 'SA_REP'
71 ) AND
72 (
73 SALARY >= 5000 AND SALARY <= 30000
74 )
75 ) OR
76 (DEPARTMENT_ID = 80 AND (
77 JOB_ID = 'MK_MAN' OR
78 JOB_ID = 'MK_REP' OR
79 JOB_ID = 'PU_MAN' OR
80 JOB_ID = 'PU_CLERK' OR
81 JOB_ID = 'HR_REP' OR
82 JOB_ID = 'SH_CLERK' OR
83 JOB_ID = 'IT_PROG' OR
84 JOB_ID = 'SA_REP'
85 ) AND
86 (
87 SALARY >= 5000 AND SALARY <= 30000
88 )
89 ) OR
90 (DEPARTMENT_ID = 20 AND (
91 JOB_ID = 'MK_MAN' OR
92 JOB_ID = 'MK_REP' OR
93 JOB_ID = 'PU_MAN' OR
94 JOB_ID = 'PU_CLERK' OR
95 JOB_ID = 'HR_REP' OR
96 JOB_ID = 'SH_CLERK' OR
97 JOB_ID = 'IT_PROG' OR
98 JOB_ID = 'SA_REP'
99 ) AND
100 (
101 SALARY >= 5000 AND SALARY <= 30000
102 )
103 ) OR
104 (DEPARTMENT_ID = 20 AND (
105 JOB_ID = 'MK_MAN' OR
106 JOB_ID = 'MK_REP' OR
107 JOB_ID = 'PU_MAN' OR
108 JOB_ID = 'PU_CLERK' OR
109 JOB_ID = 'HR_REP' OR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

110 JOB_ID = 'SH_CLERK' OR


111 JOB_ID = 'IT_PROG' OR
112 JOB_ID = 'SA_REP'
113 ) AND
114 (
115 SALARY >= 5000 AND SALARY <= 30000
116 )
117 )
118 )
119 GROUP BY Department_ID, Job_ID;

DEPARTMENT_ID JOB_ID SUM(SALARY) AVG(SALARY)


------------- ---------- ----------- -----------
20 MK_MAN 13000 13000
20 MK_REP 6000 6000
30 PU_MAN 11000 11000
40 HR_REP 6500 6500
60 IT_PROG 15000 7500
80 SA_REP 243500 8396.55172

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=6 Bytes=96)
1 0 SORT (GROUP BY) (Cost=4 Card=6 Bytes=96)
2 1 TABLE ACCESS (FULL) OF 'EMPLOYEES' (TABLE) (Cost=3 Card=
36 Bytes=576)

SQL> cl scr

SQL> SET AUTOTRACE OFF EXPLAIN


SQL> CONN SCOTT/TIGER
Connected.
SQL> cl scr

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp;

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
BLAKE 30 2850
CLARK 10 2450
JONES 20 2975
MARTIN 30 1250
ALLEN 30 1600
TURNER 30 1500
JAMES 30 950
WARD 30 1250
FORD 20 3000
SMITH 20 800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME DEPTNO SAL


---------- ---------- ----------
SCOTT 20 3000
ADAMS 20 1100
MILLER 10 1300

14 rows selected.

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp
3 WHERE Sal BETWEEN 1250 AND 2975;

ENAME DEPTNO SAL


---------- ---------- ----------
BLAKE 30 2850
CLARK 10 2450
JONES 20 2975
MARTIN 30 1250
ALLEN 30 1600
TURNER 30 1500
WARD 30 1250
MILLER 10 1300

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal


2 FROM Emp
3* WHERE Sal NOT BETWEEN 1250 AND 2975
SQL> /

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
JAMES 30 950
FORD 20 3000
SMITH 20 800
SCOTT 20 3000
ADAMS 20 1100

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal, Job


2 FROM Emp
3* WHERE Job BETWEEN 'MANAGER' AND 'PRESIDENT'
SQL> /

ENAME DEPTNO SAL JOB


---------- ---------- ---------- ---------
KING 10 5000 PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE 30 2850 MANAGER


CLARK 10 2450 MANAGER
JONES 20 2975 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal, Job


2 FROM Emp
3* WHERE Job NOT BETWEEN 'MANAGER' AND 'PRESIDENT'
SQL> /

ENAME DEPTNO SAL JOB


---------- ---------- ---------- ---------
MARTIN 30 1250 SALESMAN
ALLEN 30 1600 SALESMAN
TURNER 30 1500 SALESMAN
JAMES 30 950 CLERK
WARD 30 1250 SALESMAN
FORD 20 3000 ANALYST
SMITH 20 800 CLERK
SCOTT 20 3000 ANALYST
ADAMS 20 1100 CLERK
MILLER 10 1300 CLERK

10 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Deptno = 10 OR Deptno = 20 OR Deptno = 30;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

14 rows selected.

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 Ename,
3 Sal,
4 Job
5 FROM Emp
6 WHERE
7 Ename IN('FORD', 'ALLEN');

ENAME SAL JOB


---------- ---------- ---------
ALLEN 1600 SALESMAN
FORD 3000 ANALYST

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Job
5 FROM Emp
6 WHERE
7* Ename NOT IN('FORD', 'ALLEN')
SQL> /

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
CLARK 2450 MANAGER
JONES 2975 MANAGER
MARTIN 1250 SALESMAN
TURNER 1500 SALESMAN
JAMES 950 CLERK
WARD 1250 SALESMAN
SMITH 800 CLERK
SCOTT 3000 ANALYST
ADAMS 1100 CLERK

ENAME SAL JOB


---------- ---------- ---------
MILLER 1300 CLERK

12 rows selected.

SQL> SELECT
2 Ename,
3 Sal,
4 Deptno
5 FROM Emp
6 WHERE
7 Deptno IN(10, 30);

ENAME SAL DEPTNO


---------- ---------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 5000 10
BLAKE 2850 30
CLARK 2450 10
MARTIN 1250 30
ALLEN 1600 30
TURNER 1500 30
JAMES 950 30
WARD 1250 30
MILLER 1300 10

9 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Deptno
5 FROM Emp
6 WHERE
7* Deptno NOT IN(10, 30)
SQL> /

ENAME SAL DEPTNO


---------- ---------- ----------
JONES 2975 20
FORD 3000 20
SMITH 800 20
SCOTT 3000 20
ADAMS 1100 20

SQL> SELECT
2 Ename,
3 Sal,
4 Hiredate
5 FROM Emp
6 WHERE
7 Hiredate IN('20-FEB-1981', '09-JUN-1981');

ENAME SAL HIREDATE


---------- ---------- ---------
CLARK 2450 09-JUN-81
ALLEN 1600 20-FEB-81

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Sal,
4 Hiredate
5 FROM Emp
6 WHERE
7* Hiredate NOT IN('20-FEB-1981', '09-JUN-1981')
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME SAL HIREDATE


---------- ---------- ---------
KING 5000 17-NOV-81
BLAKE 2850 01-MAY-81
JONES 2975 02-APR-81
MARTIN 1250 28-SEP-81
TURNER 1500 08-SEP-81
JAMES 950 03-DEC-81
WARD 1250 22-FEB-81
FORD 3000 03-DEC-81
SMITH 800 17-DEC-80
SCOTT 3000 09-DEC-82
ADAMS 1100 12-JAN-83

ENAME SAL HIREDATE


---------- ---------- ---------
MILLER 1300 23-JAN-82

12 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Comm = NULL;

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm


2 FROM Emp
3* WHERE Comm IS NULL
SQL> /

ENAME SAL COMM


---------- ---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
JAMES 950
FORD 3000
SMITH 800
SCOTT 3000
ADAMS 1100
MILLER 1300

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3* WHERE Comm IS NOT NULL
SQL> /

ENAME SAL COMM


---------- ---------- ----------
MARTIN 1250 1400
ALLEN 1600 300
TURNER 1500 0
WARD 1250 500

SQL> cl scr

SQL> SELECT Ename, Deptno, Job, Sal


2 FROM Emp;

ENAME DEPTNO JOB SAL


---------- ---------- --------- ----------
KING 10 PRESIDENT 5000
BLAKE 30 MANAGER 2850
CLARK 10 MANAGER 2450
JONES 20 MANAGER 2975
MARTIN 30 SALESMAN 1250
ALLEN 30 SALESMAN 1600
TURNER 30 SALESMAN 1500
JAMES 30 CLERK 950
WARD 30 SALESMAN 1250
FORD 20 ANALYST 3000
SMITH 20 CLERK 800

ENAME DEPTNO JOB SAL


---------- ---------- --------- ----------
SCOTT 20 ANALYST 3000
ADAMS 20 CLERK 1100
MILLER 10 CLERK 1300

14 rows selected.

SQL> SELECT Ename, Deptno, Job, Sal


2 FROM Emp
3 WHERE Ename = 'SMITH';

ENAME DEPTNO JOB SAL


---------- ---------- --------- ----------
SMITH 20 CLERK 800

SQL> cl scr

SQL> SELECT Ename, Sal, Job


2 FROM Emp;

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
CLARK 2450 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 2975 MANAGER


MARTIN 1250 SALESMAN
ALLEN 1600 SALESMAN
TURNER 1500 SALESMAN
JAMES 950 CLERK
WARD 1250 SALESMAN
FORD 3000 ANALYST
SMITH 800 CLERK

ENAME SAL JOB


---------- ---------- ---------
SCOTT 3000 ANALYST
ADAMS 1100 CLERK
MILLER 1300 CLERK

14 rows selected.

SQL> SELECT
2 Ename,
3 Job
4 FROM Emp
5 WHERE
6 Ename LIKE 'S%';

ENAME JOB
---------- ---------
SMITH CLERK
SCOTT ANALYST

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Job
4 FROM Emp
5 WHERE
6* Ename NOT LIKE 'S%'
SQL> /

ENAME JOB
---------- ---------
KING PRESIDENT
BLAKE MANAGER
CLARK MANAGER
JONES MANAGER
MARTIN SALESMAN
ALLEN SALESMAN
TURNER SALESMAN
JAMES CLERK
WARD SALESMAN
FORD ANALYST
ADAMS CLERK

ENAME JOB
---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MILLER CLERK

12 rows selected.

SQL> SELECT
2 Ename,
3 Job
4 FROM Emp
5 WHERE
6 Ename LIKE '_A%';

ENAME JOB
---------- ---------
MARTIN SALESMAN
JAMES CLERK
WARD SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Job
4 FROM Emp
5 WHERE
6* Ename LIKE '%A%'
SQL> /

ENAME JOB
---------- ---------
BLAKE MANAGER
CLARK MANAGER
MARTIN SALESMAN
ALLEN SALESMAN
JAMES CLERK
WARD SALESMAN
ADAMS CLERK

7 rows selected.

SQL> SELECT
2 Ename,
3 Sal
4 FROM Emp
5 WHERE
6 Ename = 'SM%';

no rows selected

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Job = 'MANAGER';

ENAME SAL DEPTNO JOB


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- ---------


BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE 'MANAGER' = Job
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job LIKE 'MAN%'
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE 'MAN%' LIKE Job
SQL> /

no rows selected

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3 WHERE HireDate = '03-DEC-81';

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
JAMES 950 30 03-DEC-81
FORD 3000 20 03-DEC-81

SQL> SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 WHERE HireDate = '03-DEC-1981';

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
JAMES 950 30 03-DEC-81
FORD 3000 20 03-DEC-81

SQL> SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3 WHERE HireDate LIKE '03-DEC-81';

ENAME SAL DEPTNO HIREDATE


---------- ---------- ---------- ---------
JAMES 950 30 03-DEC-81
FORD 3000 20 03-DEC-81

SQL> SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3 WHERE HireDate LIKE '03-DEC-1981';

no rows selected

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING_DESK', 'CHENNAI');

1 row created.

SQL> INSERT INTO Dept


2 VALUES(60, 'CARGO_DECK', 'MUMBAI');

1 row created.

SQL> INSERT INTO Dept


2 VALUES(70, 'COURIER%RACK, 'DELHI');
ERROR:
ORA-01756: quoted string not properly terminated

SQL> INSERT INTO Dept


2 VALUES(70, 'COURIER%RACK', 'DELHI');

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.

SQL> cl scr

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING_DESK CHENNAI
60 CARGO_DECK MUMBAI
70 COURIER%RACK DELHI

7 rows selected.

SQL> SELECT Deptno, Dname, Loc


2 FROM Dept
3 WHERE Dname LIKE '%_%';

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING_DESK CHENNAI
60 CARGO_DECK MUMBAI
70 COURIER%RACK DELHI

7 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Dname, Loc


2 FROM Dept
3* WHERE Dname LIKE '%\_%'
SQL> /

no rows selected

SQL> INSERT INTO Dept


2 VALUES(80, INV\STOCK ROOM', 'KOLKATA');
ERROR:
ORA-01756: quoted string not properly terminated

SQL> INSERT INTO Dept


2 VALUES(80, 'INV\STOCK ROOM', 'KOLKATA');

1 row created.

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Deptno, Dname, Loc


2 FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING_DESK CHENNAI
60 CARGO_DECK MUMBAI
70 COURIER%RACK DELHI
80 INV\STOCK ROOM KOLKATA

8 rows selected.

SQL> SELECT Deptno, Dname, Loc


2 FROM Dept
3 WHERE Dname LIKE '%\_%';

DEPTNO DNAME LOC


---------- -------------- -------------
80 INV\STOCK ROOM KOLKATA

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Dname, Loc


2 FROM Dept
3* WHERE Dname LIKE '%\_%' ESCAPE '\'
SQL> /

DEPTNO DNAME LOC


---------- -------------- -------------
50 SHIPPING_DESK CHENNAI
60 CARGO_DECK MUMBAI

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Dname, Loc


2 FROM Dept
3* WHERE Dname LIKE '%@_%' ESCAPE '@'
SQL> /

DEPTNO DNAME LOC


---------- -------------- -------------
50 SHIPPING_DESK CHENNAI
60 CARGO_DECK MUMBAI

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Dname, Loc


2 FROM Dept
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3* WHERE Dname LIKE '%__%' ESCAPE '_'


SQL> /

DEPTNO DNAME LOC


---------- -------------- -------------
50 SHIPPING_DESK CHENNAI
60 CARGO_DECK MUMBAI

SQL> cl scr

SQL> SELECT Ename FROM Emp;

ENAME
----------
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

ENAME
----------
SCOTT
ADAMS
MILLER

14 rows selected.

SQL> SELECT Ename, Sal FROM Emp;

ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
JAMES 950
WARD 1250
FORD 3000
SMITH 800

ENAME SAL
---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, job


2 FROM Emp;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

14 rows selected.

SQL> SELECT Ename, Sal, Deptno, job


2 FROM Emp
3 ORDER BY Ename;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
ADAMS 1100 20 CLERK
ALLEN 1600 30 SALESMAN
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
FORD 3000 20 ANALYST
JAMES 950 30 CLERK
JONES 2975 20 MANAGER
KING 5000 10 PRESIDENT
MARTIN 1250 30 SALESMAN
MILLER 1300 10 CLERK
SCOTT 3000 20 ANALYST

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SMITH 800 20 CLERK
TURNER 1500 30 SALESMAN
WARD 1250 30 SALESMAN

14 rows selected.

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, job


2 FROM Emp
3* ORDER BY Deptno
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
CLARK 2450 10 MANAGER
MILLER 1300 10 CLERK
JONES 2975 20 MANAGER
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
SMITH 800 20 CLERK
FORD 3000 20 ANALYST
BLAKE 2850 30 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, job


2 FROM Emp
3* ORDER BY Deptno, Sal
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
MILLER 1300 10 CLERK
CLARK 2450 10 MANAGER
KING 5000 10 PRESIDENT
SMITH 800 20 CLERK
ADAMS 1100 20 CLERK
JONES 2975 20 MANAGER
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST
JAMES 950 30 CLERK
MARTIN 1250 30 SALESMAN
WARD 1250 30 SALESMAN

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
TURNER 1500 30 SALESMAN
ALLEN 1600 30 SALESMAN
BLAKE 2850 30 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, job


2 FROM Emp
3* ORDER BY Deptno, Sal, Ename DESC
SQL> /

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
MILLER 1300 10 CLERK
CLARK 2450 10 MANAGER
KING 5000 10 PRESIDENT
SMITH 800 20 CLERK
ADAMS 1100 20 CLERK
JONES 2975 20 MANAGER
SCOTT 3000 20 ANALYST
FORD 3000 20 ANALYST
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
MARTIN 1250 30 SALESMAN

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
TURNER 1500 30 SALESMAN
ALLEN 1600 30 SALESMAN
BLAKE 2850 30 MANAGER

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* ORDER BY Comm
SQL> /

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
TURNER 1500 0 1500
ALLEN 1600 300 1900
WARD 1250 500 1750
MARTIN 1250 1400 2650
KING 5000 5000
FORD 3000 3000
SCOTT 3000 3000
MILLER 1300 1300
ADAMS 1100 1100
SMITH 800 800
JAMES 950 950

ENAME SAL COMM TOTSAL


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- ----------


BLAKE 2850 2850
CLARK 2450 2450
JONES 2975 2975

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* ORDER BY Sal + NVL(Comm, 0)
SQL> /

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
SMITH 800 800
JAMES 950 950
ADAMS 1100 1100
MILLER 1300 1300
TURNER 1500 0 1500
WARD 1250 500 1750
ALLEN 1600 300 1900
CLARK 2450 2450
MARTIN 1250 1400 2650
BLAKE 2850 2850
JONES 2975 2975

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
FORD 3000 3000
SCOTT 3000 3000
KING 5000 5000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* ORDER BY TotSal
SQL> /

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
SMITH 800 800
JAMES 950 950
ADAMS 1100 1100
MILLER 1300 1300
TURNER 1500 0 1500
WARD 1250 500 1750
ALLEN 1600 300 1900
CLARK 2450 2450
MARTIN 1250 1400 2650
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE 2850 2850


JONES 2975 2975

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
FORD 3000 3000
SCOTT 3000 3000
KING 5000 5000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* ORDER BY Empno
SQL> /

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
SMITH 800 800
ALLEN 1600 300 1900
WARD 1250 500 1750
JONES 2975 2975
MARTIN 1250 1400 2650
BLAKE 2850 2850
CLARK 2450 2450
SCOTT 3000 3000
KING 5000 5000
TURNER 1500 0 1500
ADAMS 1100 1100

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
JAMES 950 950
FORD 3000 3000
MILLER 1300 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* ORDER BY 4
SQL> /

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
SMITH 800 800
JAMES 950 950
ADAMS 1100 1100
MILLER 1300 1300
TURNER 1500 0 1500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

WARD 1250 500 1750


ALLEN 1600 300 1900
CLARK 2450 2450
MARTIN 1250 1400 2650
BLAKE 2850 2850
JONES 2975 2975

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
FORD 3000 3000
SCOTT 3000 3000
KING 5000 5000
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal
2 FROM Emp
3* ORDER BY 5
SQL> /
ORDER BY 5
*
ERROR at line 3:
ORA-01785: ORDER BY item must be the number of a SELECT-list expression

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* ORDER BY 4, 2 DESC, 1, Comm
SQL> /
ENAME SAL COMM TOTSAL
---------- ---------- ---------- ----------
SMITH 800 800
JAMES 950 950
ADAMS 1100 1100
MILLER 1300 1300
TURNER 1500 0 1500
WARD 1250 500 1750
ALLEN 1600 300 1900
CLARK 2450 2450
MARTIN 1250 1400 2650
BLAKE 2850 2850
JONES 2975 2975

ENAME SAL COMM TOTSAL


---------- ---------- ---------- ----------
FORD 3000 3000
SCOTT 3000 3000
KING 5000 5000

14 rows selected.

SQL> SPOOL OFF


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 'ORACLE' String,
3 LOWER('ORACLE') Lower
4 FROM DUAL;

STRING LOWER
------ ------
ORACLE oracle

SQL> SELECT Ename, Job, Sal, HireDate


2 FROM Emp;

ENAME JOB SAL HIREDATE


---------- --------- ---------- ---------
KING PRESIDENT 5000 17-NOV-81
BLAKE MANAGER 2850 01-MAY-81
CLARK MANAGER 2450 09-JUN-81
JONES MANAGER 2975 02-APR-81
MARTIN SALESMAN 1250 28-SEP-81
ALLEN SALESMAN 1600 20-FEB-81
TURNER SALESMAN 1500 08-SEP-81
JAMES CLERK 950 03-DEC-81
WARD SALESMAN 1250 22-FEB-81
FORD ANALYST 3000 03-DEC-81
SMITH CLERK 800 17-DEC-80

ENAME JOB SAL HIREDATE


---------- --------- ---------- ---------
SCOTT ANALYST 3000 09-DEC-82
ADAMS CLERK 1100 12-JAN-83
MILLER CLERK 1300 23-JAN-82

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT LOWER(Ename) Ename, LOWER(Job) Job, Sal, HireDate


2* FROM Emp
SQL> /

ENAME JOB SAL HIREDATE


---------- --------- ---------- ---------
king president 5000 17-NOV-81
blake manager 2850 01-MAY-81
clark manager 2450 09-JUN-81
jones manager 2975 02-APR-81
martin salesman 1250 28-SEP-81
allen salesman 1600 20-FEB-81
turner salesman 1500 08-SEP-81
james clerk 950 03-DEC-81
ward salesman 1250 22-FEB-81
ford analyst 3000 03-DEC-81
smith clerk 800 17-DEC-80

ENAME JOB SAL HIREDATE


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- --------- ---------- ---------


scott analyst 3000 09-DEC-82
adams clerk 1100 12-JAN-83
miller clerk 1300 23-JAN-82

14 rows selected.

SQL> cl scr

SQL> SELECT
2 LOWER(Ename)||' is Working As '||Job Employee
3 FROM Emp;

EMPLOYEE
----------------------------------
king is Working As PRESIDENT
blake is Working As MANAGER
clark is Working As MANAGER
jones is Working As MANAGER
martin is Working As SALESMAN
allen is Working As SALESMAN
turner is Working As SALESMAN
james is Working As CLERK
ward is Working As SALESMAN
ford is Working As ANALYST
smith is Working As CLERK

EMPLOYEE
----------------------------------
scott is Working As ANALYST
adams is Working As CLERK
miller is Working As CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LOWER(Ename)||' is Working As '||Job Employee
3 FROM Emp
4* WHERE LOWER(Job) = 'manager'
SQL> /

EMPLOYEE
----------------------------------
blake is Working As MANAGER
clark is Working As MANAGER
jones is Working As MANAGER

SQL> cl scr

SQL> SELECT
2 'oracle' String,
3 UPPER('oracle') Upper
4 FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

STRING UPPER
------ ------
oracle ORACLE

SQL> SELECT Ename, UPPER(Ename) Upper


2 FROM Emp;

ENAME UPPER
---------- ----------
KING KING
BLAKE BLAKE
CLARK CLARK
JONES JONES
MARTIN MARTIN
ALLEN ALLEN
TURNER TURNER
JAMES JAMES
WARD WARD
FORD FORD
SMITH SMITH

ENAME UPPER
---------- ----------
SCOTT SCOTT
ADAMS ADAMS
MILLER MILLER

14 rows selected.

SQL> SELECT
2 Ename||' is Designated As '||LOWER(Job)
3 FROM Emp
4 WHERE Job = 'MANAGER';

ENAME||'ISDESIGNATEDAS'||LOWER(JOB)
-------------------------------------
BLAKE is Designated As manager
CLARK is Designated As manager
JONES is Designated As manager

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||' is Designated As '||LOWER(Job) Ename
3 FROM Emp
4* WHERE Job = UPPER('manager')
SQL> /

ENAME
-------------------------------------
BLAKE is Designated As manager
CLARK is Designated As manager
JONES is Designated As manager

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT
2 'oracle corporation' String,
3 INITCAP('oracle corporation') InitCap
4 FROM DUAl;

STRING INITCAP
------------------ ------------------
oracle corporation Oracle Corporation

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'sample text for demonstration purpose' String,
3 INITCAP('sample text for demonstration purpose') InitCap
4* FROM DUAL
SQL> /

STRING INITCAP
------------------------------------- -------------------------------------
sample text for demonstration purpose Sample Text For Demonstration Purpose

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'sample1text@for4demonstration%purpose' String,
3 INITCAP('sample1text@for4demonstration%purpose') InitCap
4* FROM DUAL
SQL> /

STRING INITCAP
------------------------------------- -------------------------------------
sample1text@for4demonstration%purpose Sample1text@For4demonstration%Purpose

SQL> cl scr

SQL> SELECT
2 Ename, INITCAP(Ename) InitCap
3 FROM Emp;

ENAME INITCAP
---------- ----------
KING King
BLAKE Blake
CLARK Clark
JONES Jones
MARTIN Martin
ALLEN Allen
TURNER Turner
JAMES James
WARD Ward
FORD Ford
SMITH Smith
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME INITCAP
---------- ----------
SCOTT Scott
ADAMS Adams
MILLER Miller

14 rows selected.

SQL> cl scr

SQL> SELECT
2 Ename||' is Designated As '||INITCAP(Job) Employee
3 FROM Emp
4 WHERE LOWER(Job) = 'manager';

EMPLOYEE
-------------------------------------
BLAKE is Designated As Manager
CLARK is Designated As Manager
JONES is Designated As Manager

SQL> cl scr

SQL> SELECT
2 'Oracle' Strimg1,
3 'Corporation' String2,
4 CONCAT('Oracle', 'Corporation') Concat
5 FROM DUAL;

STRIMG STRING2 CONCAT


------ ----------- -----------------
Oracle Corporation OracleCorporation

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Oracle' Strimg1,
3 'Corporation' String2,
4 CONCAT('Oracle', CONCAT(' ', 'Corporation')) Concat
5* FROM DUAL
SQL> /

STRIMG STRING2 CONCAT


------ ----------- ------------------
Oracle Corporation Oracle Corporation

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Oracle' Strimg1,
3 'Corporation' String2,
4 CONCAT('Oracle', CONCAT(' ', LOWER('Corporation'))) Concat
5* FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

STRIMG STRING2 CONCAT


------ ----------- ------------------
Oracle Corporation Oracle corporation

SQL> SPOOL OFF


SQL> SET VERIFY OFF
SQL> cl scr

SQL> SELECT
2 CONCAT(CONCAT(INITCAP(Ename),' is a '), Job) Job
3 FROM Emp
4 WHERE Deptno IN(10, 20);

JOB
-------------------------
King is a PRESIDENT
Clark is a MANAGER
Jones is a MANAGER
Ford is a ANALYST
Smith is a CLERK
Scott is a ANALYST
Adams is a CLERK
Miller is a CLERK

8 rows selected.

SQL> cl scr

SQL> SELECT
2 'ABCDEFGHIJ' String,
3 SUBSTR('ABCDEFGHIJ', 0, 5) SubStr
4 FROM DUAL;

STRING SUBST
---------- -----
ABCDEFGHIJ ABCDE

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'ABCDEFGHIJ' String,
3 SUBSTR('ABCDEFGHIJ', 4) SubStr
4* FROM DUAL
SQL> /

STRING SUBSTR
---------- -------
ABCDEFGHIJ DEFGHIJ

SQL> ED
Wrote file afiedt.buf

1 SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 'ABCDEFGHIJ' String,
3 SUBSTR('ABCDEFGHIJ', 4, 4) SubStr
4* FROM DUAL
SQL> /

STRING SUBS
---------- ----
ABCDEFGHIJ DEFG

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'ABCDEFGHIJ' String,
3 SUBSTR('ABCDEFGHIJ', -5, 4) SubStr
4* FROM DUAL
SQL> /

STRING SUBS
---------- ----
ABCDEFGHIJ FGHI

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'ABCDEFGHIJ' String,
3 SUBSTR('ABCDEFGHIJ', 5.25, 4.65) SubStr
4* FROM DUAL
SQL> /

STRING SUBS
---------- ----
ABCDEFGHIJ EFGH

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'ABCDEFGHIJ' String,
3 SUBSTR('ABCDEFGHIJ', 5, -4) SubStr
4* FROM DUAL
SQL> /

STRING S
---------- -
ABCDEFGHIJ

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'ABCDEFGHIJ' String,
3 NVL(SUBSTR('ABCDEFGHIJ', 5, &GNChars), 'Fatal Error! The Character Picker
is -VE OR 0...') SubStr
4* FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for gnchars: 3

STRING SUB
---------- ---
ABCDEFGHIJ EFG

SQL> /
Enter value for gnchars: 0

STRING SUBSTR
---------- ------------------------------------------------
ABCDEFGHIJ Fatal Error! The Character Picker is -VE OR 0...

SQL> /
Enter value for gnchars: -4

STRING SUBSTR
---------- ------------------------------------------------
ABCDEFGHIJ Fatal Error! The Character Picker is -VE OR 0...

SQL> cl scr

SQL> SELECT Ename, Job, Deptno


2 FROM Emp
3 WHERE
4 SUBSTR(Job, 4, 3) = 'AGE';

ENAME JOB DEPTNO


---------- --------- ----------
BLAKE MANAGER 30
CLARK MANAGER 10
JONES MANAGER 20

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, SUBSTR(Job, 4, 3) SubStr, Deptno


2* FROM Emp
SQL> /

ENAME JOB SUB DEPTNO


---------- --------- --- ----------
KING PRESIDENT SID 10
BLAKE MANAGER AGE 30
CLARK MANAGER AGE 10
JONES MANAGER AGE 20
MARTIN SALESMAN ESM 30
ALLEN SALESMAN ESM 30
TURNER SALESMAN ESM 30
JAMES CLERK RK 30
WARD SALESMAN ESM 30
FORD ANALYST LYS 20
SMITH CLERK RK 20

ENAME JOB SUB DEPTNO


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- --------- --- ----------


SCOTT ANALYST LYS 20
ADAMS CLERK RK 20
MILLER CLERK RK 10

14 rows selected.

SQL> cl scr

SQL> SELECT
2 CONCAT(
3 CONCAT(
4 CONCAT(
5 CONCAT(INITCAP(Ename), '''s Designation is '), INITCAP(Job)),
' But He is a '),
6 CONCAT(
7 INITCAP( SUBSTR(Job, 1, 3)),' Eater.'))
8 FROM Emp
9 WHERE SUBSTR(Job, 4, 3) = UPPER('Age');

CONCAT(CONCAT(CONCAT(CONCAT(INITCAP(ENAME),'''SDESIGNATIONIS
------------------------------------------------------------
Blake's Designation is Manager But He is a Man Eater.
Clark's Designation is Manager But He is a Man Eater.
Jones's Designation is Manager But He is a Man Eater.

SQL> cl scr

SQL> SELECT
2 'ORACLE' String,
3 LENGTH('ORACLE') Length
4 FROM DUAL;

STRING LENGTH
------ ----------
ORACLE 6

SQL> SELECT
2 Ename||' Your Name is A Collection of '||LENGTH(Ename)||' Characters.'
EnameLength
3 FROM Emp;

ENAMELENGTH
--------------------------------------------------------------------------------
KING Your Name is A Collection of 4 Characters.
BLAKE Your Name is A Collection of 5 Characters.
CLARK Your Name is A Collection of 5 Characters.
JONES Your Name is A Collection of 5 Characters.
MARTIN Your Name is A Collection of 6 Characters.
ALLEN Your Name is A Collection of 5 Characters.
TURNER Your Name is A Collection of 6 Characters.
JAMES Your Name is A Collection of 5 Characters.
WARD Your Name is A Collection of 4 Characters.
FORD Your Name is A Collection of 4 Characters.
SMITH Your Name is A Collection of 5 Characters.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAMELENGTH
--------------------------------------------------------------------------------
SCOTT Your Name is A Collection of 5 Characters.
ADAMS Your Name is A Collection of 5 Characters.
MILLER Your Name is A Collection of 6 Characters.

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||' Your Name is A Collection of '||LENGTH(Ename)||' Characters.'
EnameLength
3 FROM Emp
4* WHERE LENGTH(Ename) = &GLength
SQL> /
Enter value for glength: 4

ENAMELENGTH
--------------------------------------------------------------------------------
KING Your Name is A Collection of 4 Characters.
WARD Your Name is A Collection of 4 Characters.
FORD Your Name is A Collection of 4 Characters.

SQL> /
Enter value for glength: 5

ENAMELENGTH
--------------------------------------------------------------------------------
BLAKE Your Name is A Collection of 5 Characters.
CLARK Your Name is A Collection of 5 Characters.
JONES Your Name is A Collection of 5 Characters.
ALLEN Your Name is A Collection of 5 Characters.
JAMES Your Name is A Collection of 5 Characters.
SMITH Your Name is A Collection of 5 Characters.
SCOTT Your Name is A Collection of 5 Characters.
ADAMS Your Name is A Collection of 5 Characters.

8 rows selected.

SQL> Ed
Wrote file afiedt.buf

1 SELECT
2 Ename||' Your Name is A Collection of '||LENGTH(Ename)||' Characters.'
EnameLength
3 FROM Emp
4* WHERE LENGTH(Ename) = &GLength AND Ename LIKE '%A%'
SQL> /
Enter value for glength: 5

ENAMELENGTH
--------------------------------------------------------------------------------
BLAKE Your Name is A Collection of 5 Characters.
CLARK Your Name is A Collection of 5 Characters.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN Your Name is A Collection of 5 Characters.


JAMES Your Name is A Collection of 5 Characters.
ADAMS Your Name is A Collection of 5 Characters.

SQL> cl scr

SQL> SELECT
2 INITCAP(Ename) Name,
3 Job
4 FROM Emp
5 WHERE LENGTH(Job) = 7;

NAME JOB
---------- ---------
Blake MANAGER
Clark MANAGER
Jones MANAGER
Ford ANALYST
Scott ANALYST

SQL> cl scr

SQL> SELECT
2 INTICAP(Ename),
3 Job
4 FROM Emp
5 WHERE SUBSTR(Job, 4, LENGTH(SUBSTR(Job, 4, 3))) = 'AGE';
INTICAP(Ename),
*
ERROR at line 2:
ORA-00904: "INTICAP": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 INITCAP(Ename),
3 Job
4 FROM Emp
5* WHERE SUBSTR(Job, 4, LENGTH(SUBSTR(Job, 4, 3))) = 'AGE'
SQL> /

INITCAP(EN JOB
---------- ---------
Blake MANAGER
Clark MANAGER
Jones MANAGER

SQL> cl scr

SQL> SELECT
2 'STRING' Original,
3 INSTR('STRING' , 'R') InString
4 FROM DUAL;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORIGIN INSTRING
------ ----------
STRING 3

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'STRING' Original,
3 INSTR('STRING' , 'RIN', 2) InString
4* FROM DUAL
SQL> /

ORIGIN INSTRING
------ ----------
STRING 3

SQL> fsfx/
SP2-0042: unknown command "fsfx/" - rest of line ignored.
SQL> /

ORIGIN INSTRING
------ ----------
STRING 3

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'STRING' Original,
3 INSTR('STRING' , 'RN', 2) InString
4* FROM DUAL
SQL> /

ORIGIN INSTRING
------ ----------
STRING 0

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'CORPORATE FLOOR' Original,
3 INSTR('CORPORATE FLOOR', 'OR', 3, 2) InString
4* FROM DUAL
SQL> /

ORIGINAL INSTRING
--------------- ----------
CORPORATE FLOOR 14

SQL> ED
Wrote file afiedt.buf

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT
2 'CORPORATE FLOOR' Original,
3 INSTR('CORPORATE FLOOR', 'OR', 3, 1) InString
4* FROM DUAL
SQL> /

ORIGINAL INSTRING
--------------- ----------
CORPORATE FLOOR 5

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'CORPORATE FLOOR' Original,
3 INSTR('CORPORATE FLOOR', 'OR', 2, 1) InString
4* FROM DUAL
SQL> /

ORIGINAL INSTRING
--------------- ----------
CORPORATE FLOOR 2

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'CORPORATE FLOOR' Original,
3 INSTR('CORPORATE FLOOR', 'OR', 2, 2) InString
4* FROM DUAL
SQL> /

ORIGINAL INSTRING
--------------- ----------
CORPORATE FLOOR 5

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'CORPORATE FLOOR' Original,
3 INSTR('CORPORATE FLOOR', 'OR', 2, 3) InString
4* FROM DUAL
SQL> /

ORIGINAL INSTRING
--------------- ----------
CORPORATE FLOOR 14

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'CORPORATE FLOOR' Original,
3 INSTR('CORPORATE FLOOR', 'OR', 5, 3) InString
4* FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

ORIGINAL INSTRING
--------------- ----------
CORPORATE FLOOR 0

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'CORPORATE FLOOR' Original,
3 INSTR('CORPORATE FLOOR', 'OR', -7, 1) InString
4* FROM DUAL
SQL> /

ORIGINAL INSTRING
--------------- ----------
CORPORATE FLOOR 5

SQL> cl scr

SQL> SELECT
2 Ename, Job, INSTR(Job, 'A', 1, 2) InString
3 FROM Emp
4 WHERE Job = 'MANAGER';

ENAME JOB INSTRING


---------- --------- ----------
BLAKE MANAGER 4
CLARK MANAGER 4
JONES MANAGER 4

SQL> cl scr

SQL> SELECT
2 Ename,
3 Job Original,
4 SUBSTR(Job,INSTR(Job, 'A', 1, 2), 3) SubString
5 FROM Emp
6 WHERE Job = 'MANAGER';

ENAME ORIGINAL SUB


---------- --------- ---
BLAKE MANAGER AGE
CLARK MANAGER AGE
JONES MANAGER AGE

SQL> SELECT
2 Ename,
3 Job Original,
4 SUBSTR(Job,INSTR(Job, 'A', 1, 2), 3) SubString
5 FROM Emp
6 WHERE SUBSTR(Job, INSTR(Job, 'A', 1, 2), 1) = 'A';

ENAME ORIGINAL SUB


---------- --------- ---
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE MANAGER AGE


CLARK MANAGER AGE
JONES MANAGER AGE
MARTIN SALESMAN AN
ALLEN SALESMAN AN
TURNER SALESMAN AN
WARD SALESMAN AN
FORD ANALYST ALY
SCOTT ANALYST ALY

9 rows selected.

SQL> cl scr

SQL> SELECT
2 'Sample_Text' String,
3 'String',
4 'Text'
5 FROM DUAL;

STRING 'STRIN 'TEX


----------- ------ ----
Sample_Text String Text

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Sample_Text' String,
3 SUBSTR('Sample_Text', 1, 6) Sample,
4 SUBSTR('Sample_Text', 8) Text
5* FROM DUAL
SQL> /

STRING SAMPLE TEXT


----------- ------ ----
Sample_Text Sample Text

SQL> cl scr

SQL> SELECT
2 'Sample_Text' OrgString,
3 SUBSTR('Sample_Text', 1, INSTR('Sample_Text', '_', 1, 1) - 1) Sample,
4 SUBSTR('Sample_Text', INSTR('Sample_Text', '_', 1, 1) + 1) Text
5 FROM DUAL;

ORGSTRING SAMPLE TEXT


----------- ------ ----
Sample_Text Sample Text

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '&GString1' OrgString,
3 SUBSTR('&GString2', 1, INSTR('&GString3', '_', 1, 1) - 1) Sample,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 SUBSTR('&GString4', INSTR('&GString5', '_', 1, 1) + 1) Text


5* FROM DUAL
SQL> /
Enter value for gstring1: CARGO_BASE
Enter value for gstring2: CARGO_BASE
Enter value for gstring3: CARGO_BASE
Enter value for gstring4: CARGO_BASE
Enter value for gstring5: CARGO_BASE

ORGSTRING SAMPL TEXT


---------- ----- ----
CARGO_BASE CARGO BASE

SQL> /
Enter value for gstring1: ATTITUDE_BEHAVIOUR
Enter value for gstring2: ATTITUDE_BEHAVIOUR
Enter value for gstring3: ATTITUDE_BEHAVIOUR
Enter value for gstring4: ATTITUDE_BEHAVIOUR
Enter value for gstring5: ATTITUDE_BEHAVIOUR

ORGSTRING SAMPLE TEXT


------------------ -------- ---------
ATTITUDE_BEHAVIOUR ATTITUDE BEHAVIOUR

SQL> COLUMN String1 FORMAT A7


SQL> COLUMN String2 FORMAT A7
SQL> COLUMN String3 FORMAT A7
SQL> SELECT
2 'APPLE_IS_FRUIT' OrgString,
3 SUBSTR('APPLE_IS_FRUIT', 1, INSTR('APPLE_IS_FRUIT', '_', 1, 1) - 1) String1,
4 SUBSTR('APPLE_IS_FRUIT',
5 (INSTR('APPLE_IS_FRUIT', '_', 1, 1) + 1),
6 (INSTR('APPLE_IS_FRUIT', '_', 1, 2) - 1) - ((INSTR('APPLE_IS_FRUIT', '_',
1, 1)))) String2,
7 SUBSTR('APPLE_IS_FRUIT', (INSTR('APPLE_IS_FRUIT', '_', 1, 2) + 1)) String3
8 FROM DUAL;

ORGSTRING STRING1 STRING2 STRING3


-------------- ------- ------- -------
APPLE_IS_FRUIT APPLE IS FRUIT

SQL> COLUMN Area FORMAT A4


SQL> COLUMN Street FORMAT A6
SQL> COLUMN Lane FORMAT A4
SQL> COLUMN Sector FORMAT A6
SQL> COLUMN Building FORMAT A8
SQL> COLUMN Floor FORMAT A8
SQL> COLUMN Flat FORMAT A4
SQL> COLUMN Door FORMAT A4
SQL> SELECT
2 '125-23-46-235/A/C-12/B' HouseNo,
3 SUBSTR('125-23-46-235/A/C-12/B', 1, INSTR('125-23-46-235/A/C-12/B', '-', 1,
1) - 1) Area,
4 SUBSTR('125-23-46-235/A/C-12/B',
5 (INSTR('125-23-46-235/A/C-12/B', '-', 1, 1) + 1),

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6 (INSTR('125-23-46-235/A/C-12/B', '-', 1, 2) - 1) - ((INSTR('125-23-46-


235/A/C-12/B', '-', 1, 1)))) Street,
7 SUBSTR('125-23-46-235/A/C-12/B',
8 (INSTR('125-23-46-235/A/C-12/B', '-', 1, 2) + 1),
9 (INSTR('125-23-46-235/A/C-12/B', '-', 1, 3) - 1) - ((INSTR('125-23-46-
235/A/C-12/B', '-', 1, 2)))) Lane,
10 SUBSTR('125-23-46-235/A/C-12/B',
11 (INSTR('125-23-46-235/A/C-12/B', '-', 1, 3) + 1),
12 (INSTR('125-23-46-235/A/C-12/B', '/', 1, 1) - 1) - ((INSTR('125-23-46-
235/A/C-12/B', '-', 1, 3)))) Sector,
13 SUBSTR('125-23-46-235/A/C-12/B',
14 (INSTR('125-23-46-235/A/C-12/B', '/', 1, 1) + 1),
15 (INSTR('125-23-46-235/A/C-12/B', '/', 1, 2) - 1) - ((INSTR('125-23-46-
235/A/C-12/B', '/', 1, 1)))) Building,
16 SUBSTR('125-23-46-235/A/C-12/B',
17 (INSTR('125-23-46-235/A/C-12/B', '/', 1, 2) + 1),
18 (INSTR('125-23-46-235/A/C-12/B', '-', 1, 4) - 1) - ((INSTR('125-23-46-
235/A/C-12/B', '/', 1, 2)))) Floor,
19 SUBSTR('125-23-46-235/A/C-12/B',
20 (INSTR('125-23-46-235/A/C-12/B', '-', 1, 4) + 1),
21 (INSTR('125-23-46-235/A/C-12/B', '/', 1, 3) - 1) - ((INSTR('125-23-46-
235/A/C-12/B', '-', 1, 4)))) Flat,
22 SUBSTR('125-23-46-235/A/C-12/B',
23 (INSTR('125-23-46-235/A/C-12/B', '/', 1, 3) + 1)) Door
24 FROM DUAL
25 /

HOUSENO AREA STREET LANE SECTOR BUILDING FLOOR FLAT DOOR


---------------------- ---- ------ ---- ------ -------- -------- ---- ----
125-23-46-235/A/C-12/B 125 23 46 235 A C 12 B

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT
2 'Page 1' MyString,
3 LPAD('Page 1', 15, '*.') LPadded
4 FROM DUAL;

MYSTRI LPADDED
------ ---------------
Page 1 *.*.*.*.*Page 1

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Page 1' MyString,
3 LPAD('Page 1', 15) LPadded
4* FROM DUAL
SQL> /

MYSTRI LPADDED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

------ ---------------
Page 1 Page 1

SQL> SELECT
2 Ename,
3 LPAD(Ename, 10, '-') LPad
4 FROM Emp WHERE Sal >= 2500;

ENAME LPAD
---------- ----------
KING ------KING
BLAKE -----BLAKE
JONES -----JONES
FORD ------FORD
SCOTT -----SCOTT

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 LPAD(Ename, 10) LPad
4* FROM Emp WHERE Sal >= 2500
SQL> /

ENAME LPAD
---------- ----------
KING KING
BLAKE BLAKE
JONES JONES
FORD FORD
SCOTT SCOTT

SQL> SELECT
2 'Page 1' String1,
3 RPAD('Page 1' , 15, '*.') RPad
4 FROM DUAL;

STRING RPAD
------ ---------------
Page 1 Page 1*.*.*.*.*

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Page 1' String1,
3 RPAD('Page 1' , 15) RPad
4* FROM DUAL
SQL> /

STRING RPAD
------ ---------------
Page 1 Page 1

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 Ename,
3 LPAD(RPAD(Ename, 10, '-'), 15, '-') Center
4 FROM Emp;

ENAME CENTER
---------- ---------------
KING -----KING------
BLAKE -----BLAKE-----
CLARK -----CLARK-----
JONES -----JONES-----
MARTIN -----MARTIN----
ALLEN -----ALLEN-----
TURNER -----TURNER----
JAMES -----JAMES-----
WARD -----WARD------
FORD -----FORD------
SMITH -----SMITH-----

ENAME CENTER
---------- ---------------
SCOTT -----SCOTT-----
ADAMS -----ADAMS-----
MILLER -----MILLER----

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 LPAD(RPAD(Ename, 10), 15) Center
4* FROM Emp
SQL> /

ENAME CENTER
---------- ---------------
KING KING
BLAKE BLAKE
CLARK CLARK
JONES JONES
MARTIN MARTIN
ALLEN ALLEN
TURNER TURNER
JAMES JAMES
WARD WARD
FORD FORD
SMITH SMITH

ENAME CENTER
---------- ---------------
SCOTT SCOTT
ADAMS ADAMS
MILLER MILLER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.

SQL> cl scr

SQL> SELECT
2 'xyzXxyLAST WORD' OrgStr,
3 LTRIM('xyzXxyLAST WORD', 'xy') Ltrim
4 FROM DUAL;

ORGSTR LTRIM
--------------- -------------
xyzXxyLAST WORD zXxyLAST WORD

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'xyzXxyLAST WORD' OrgStr,
3 LTRIM('xyzXxyLAST WORD', 'xzy') Ltrim
4* FROM DUAL
SQL> /

ORGSTR LTRIM
--------------- ------------
xyzXxyLAST WORD XxyLAST WORD

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'xyzXxyLAST WORD' OrgStr,
3 LTRIM('xyzXxyLAST WORD', 'xzyX') Ltrim
4* FROM DUAL
SQL> /

ORGSTR LTRIM
--------------- ---------
xyzXxyLAST WORD LAST WORD

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 ' LAST WORD' OrgStr,
3 LTRIM(' LAST WORD') Ltrim
4* FROM DUAL
SQL> /

ORGSTR LTRIM
------------------ ---------
LAST WORD LAST WORD

SQL> cl scr

SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 'BROWNINGyxXxy' String
3 RTRIM('BROWNINGyxXxy', 'xy') Rtrim
4 FROM DUAL;
RTRIM('BROWNINGyxXxy', 'xy') Rtrim
*
ERROR at line 3:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'BROWNINGyxXxy' String,
3 RTRIM('BROWNINGyxXxy', 'xy') Rtrim
4* FROM DUAL
SQL> /

STRING RTRIM
------------- -----------
BROWNINGyxXxy BROWNINGyxX

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'BROWNINGyxXxy' String,
3 RTRIM('BROWNINGyxXxy', 'xyX') Rtrim
4* FROM DUAL
SQL> /

STRING RTRIM
------------- --------
BROWNINGyxXxy BROWNING

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'BROWNING ' String,
3 RTRIM('BROWNING ') Rtrim
4* FROM DUAL
SQL> /

STRING RTRIM
----------------- --------
BROWNING BROWNING

SQL> cl scr

SQL> SELECT
2 Ename, Job, Sal
3 FROM Emp
4 WHERE
5 LTRIM(Job, 'MAN') LIKE 'GER';

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME JOB SAL


---------- --------- ----------
BLAKE MANAGER 2850
CLARK MANAGER 2450
JONES MANAGER 2975

SQL> cl scr

SQL> SELECT
2 'MITHSS' String,
3 TRIM('S' FROM 'MITHSS') Trimmed
4 FROM DUAL;

STRING TRIM
------ ----
MITHSS MITH

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'SSMITH' String,
3 TRIM('S' FROM 'SSMITH') Trimmed
4* FROM DUAL
SQL> /

STRING TRIM
------ ----
SSMITH MITH

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'SSMITHSS' String,
3 TRIM('S' FROM 'SSMITHSS') Trimmed
4* FROM DUAL
SQL> /

STRING TRIM
-------- ----
SSMITHSS MITH

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'SSMITHSS' String,
3 TRIM(LEADING 'S' FROM 'SSMITHSS') Trimmed
4* FROM DUAL
SQL> /

STRING TRIMME
-------- ------
SSMITHSS MITHSS

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'SSMITHSS' String,
3 TRIM(TRAILING 'S' FROM 'SSMITHSS') Trimmed
4* FROM DUAL
SQL> /

STRING TRIMME
-------- ------
SSMITHSS SSMITH

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'SSMITHSS' String,
3 TRIM(BOTH 'S' FROM 'SSMITHSS') Trimmed
4* FROM DUAL
SQL> /

STRING TRIM
-------- ----
SSMITHSS MITH

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'SSMITHSS' String,
3 TRIM(BOTH 'SO' FROM 'SOSMITHSOS') Trimmed
4* FROM DUAL
SQL> /
TRIM(BOTH 'SO' FROM 'SOSMITHSOS') Trimmed
*
ERROR at line 3:
ORA-30001: trim set should have only one character

SQL> cl scr

SQL> SELECT
2 'JACK AND JUE' OrgStr,
3 REPLACE('JACK AND JUE' , 'J', 'BL') Replace
4 FROM DUAL;

ORGSTR REPLACE
------------ --------------
JACK AND JUE BLACK AND BLUE

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'JACK AND JUE' OrgStr,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 REPLACE('JACK AND JUE' , 'J') Replace


4* FROM DUAL
SQL> /

ORGSTR REPLACE
------------ ----------
JACK AND JUE ACK AND UE

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'JACK AND JUE' OrgStr,
3 LENGTH('JACK AND JUE') - LENGTH(REPLACE('JACK AND JUE' , 'J')) "N J's
Found"
4* FROM DUAL
SQL> /

ORGSTR N J's Found


------------ -----------
JACK AND JUE 2

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 REPLACE(JOB, 'MAN', 'DAM') Replace
3 FROM Emp
4* WHERE Job = 'MANAGER'
SQL> /

ENAME REPLACE
---------- ---------------------------
BLAKE DAMAGER
CLARK DAMAGER
JONES DAMAGER

SQL> SELECT Ename, Job,


2 REPLACE (Job, 'P') Replace
3 FROM Emp
4 WHERE Job = 'PRESIDENT';

ENAME JOB REPLACE


---------- --------- ---------
KING PRESIDENT RESIDENT

SQL> cl scr

SQL> SELECT Job,


2 REPLACE (Job, 'MAN', 'EXECUTIVE') Replace
3 FROM Emp
4 WHERE Job = 'SALESMAN';

JOB
---------
REPLACE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

--------------------------------------------------------------------------------
SALESMAN
SALESEXECUTIVE

SALESMAN
SALESEXECUTIVE

SALESMAN
SALESEXECUTIVE

JOB
---------
REPLACE
--------------------------------------------------------------------------------
SALESMAN
SALESEXECUTIVE

SQL> cl scr

SQL> SELECT Ename, Job,


2 TRANSLATE(Job, 'P', ' ') Translate
3 FROM Emp
4 WHERE Job = 'PRESIDENT';

ENAME JOB TRANSLATE


---------- --------- ---------
KING PRESIDENT RESIDENT

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job,


2 TRANSLATE(Job, 'P') Translate
3 FROM Emp
4* WHERE Job = 'PRESIDENT'
SQL> /
TRANSLATE(Job, 'P') Translate
*
ERROR at line 2:
ORA-00909: invalid number of arguments

SQL> SELECT Job,


2 TRANSLATE(Job, 'MN', 'DM') Translate
3 FROM Emp
4 WHERE Job = 'MANAGER';

JOB TRANSLATE
--------- ---------
MANAGER DAMAGER
MANAGER DAMAGER
MANAGER DAMAGER

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 'The Data is : '||CHR(67)||CHR(65)||CHR(84) Sample
3 FROM DUAL;

SAMPLE
-----------------
The Data is : CAT

SQL> cl scr

SQL> SELECT
2 'The Character of ASCII '||&GVal1||' is '||CHR(&GVal2) "ASCII 2 CHAR"
3 FROM DUAL;
Enter value for gval1: 1
Enter value for gval2: 1

ASCII 2 CHAR
-----------------------------
The Character of ASCII 1 is

SQL> /
Enter value for gval1: 2
Enter value for gval2: 2

ASCII 2 CHAR
-----------------------------
The Character of ASCII 2 is

SQL> /
Enter value for gval1: 3
Enter value for gval2: 3

ASCII 2 CHAR
-----------------------------
The Character of ASCII 3 is

SQL> /
Enter value for gval1: 4
Enter value for gval2: 4

ASCII 2 CHAR
-----------------------------
The Character of ASCII 4 is

SQL> /
Enter value for gval1: 5
Enter value for gval2: 5

ASCII 2 CHAR
-----------------------------
The Character of ASCII 5 is

SQL> cl scr

SQL> COLUMN Empno FORMAT 9999


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> COLUMN Sal FORMAT 9999


SQL> COLUMN Comm FORMAT 9999
SQL> COLUMN Deptno FORMAT 99
SQL> COLUMN MGR FORMAT 9999
SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> SELECT
2 'Employee Number : '||Empno||CHR(10)||
3 'Employee Name : '||Ename||CHR(10)||
4 'Employee Job : '||Job||CHR(10)||
5 'Employee Salary : '||Sal||CHR(10)||
6 'Employee Comm : '||Comm||CHR(10)||
7 'Employee HireDT : '||HireDate||CHR(10)||
8 'Employee Deptno : '||Deptno||CHR(10)||
9 'Employee MGR : '||MGR||CHR(10) "Employees Report"
10 FROM Emp
11 WHERE Empno = &GEmpno;
Enter value for gempno: 7839

Employees Report
--------------------------------------------------------------------------------
Employee Number : 7839
Employee Name : KING
Employee Job : PRESIDENT
Employee Salary : 5000
Employee Comm :
Employee HireDT : 17-NOV-81
Employee Deptno : 10
Employee MGR :

SQL> /
Enter value for gempno: 7654

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Employees Report
--------------------------------------------------------------------------------
Employee Number : 7654
Employee Name : MARTIN
Employee Job : SALESMAN
Employee Salary : 1250
Employee Comm : 1400
Employee HireDT : 28-SEP-81
Employee Deptno : 30
Employee MGR : 7698

SQL> /
Enter value for gempno: 7566

Employees Report
--------------------------------------------------------------------------------
Employee Number : 7566
Employee Name : JONES
Employee Job : MANAGER
Employee Salary : 2975
Employee Comm :
Employee HireDT : 02-APR-81
Employee Deptno : 20
Employee MGR : 7839

SQL> cl scr

SQL> SELECT
2 'The ASCII Value of Character '||'&GVal1'||' is ||ASCII('&GVal2') "CHAR 2
ASCII"
3 FROM DUAL;
Enter value for gval1: A
Enter value for gval2: A
ERROR:
ORA-01756: quoted string not properly terminated

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The ASCII Value of Character '||'&GVal1'||' is '||ASCII('&GVal2') "CHAR 2
ASCII"
3* FROM DUAL
SQL> /
Enter value for gval1: A
Enter value for gval2: A

CHAR 2 ASCII
------------------------------------
The ASCII Value of Character A is 65

SQL> /
Enter value for gval1: Z
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for gval2: Z

CHAR 2 ASCII
------------------------------------
The ASCII Value of Character Z is 90

SQL> /
Enter value for gval1: APPLE
Enter value for gval2: APPLE

CHAR 2 ASCII
----------------------------------------
The ASCII Value of Character APPLE is 65

SQL> /
Enter value for gval1: SAMPLE
Enter value for gval2: SAMPLE

CHAR 2 ASCII
-----------------------------------------
The ASCII Value of Character SAMPLE is 83

SQL> cl scr

SQL> CREATE TABLE SampleT


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(15)
5 );

Table created.

SQL> INSERT INTO SampleT(SampID, SampName)


2 VALUES(&GSampID, '&GSampName');
Enter value for gsampid: 1
Enter value for gsampname: Sample Name

1 row created.

SQL> /
Enter value for gsampid: 2
Enter value for gsampname: Sample&Name

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO SampleT(SampID, SampName)


2* VALUES(3, 'Sample&Name')
SQL> /
Enter value for name: &Name

1 row created.

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 INSERT INTO SampleT(SampID, SampName)


2* VALUES(4, 'Sample'||'&'||'Name')
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO SampleT(SampID, SampName)


2* VALUES(5, CONCAT('Sample', CONCAT('&', 'Name')))
SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO SampleT(SampID, SampName)


2* VALUES(6, 'Sample'||CHR(ASCII('&'))||'Name')
SQL> /

1 row created.

SQL> SELECT * FROM SampINS;


SELECT * FROM SampINS
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> SELECT * FROM SampT;


SELECT * FROM SampT
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> SELECT * FROM SampleT;

SAMPID SAMPNAME
---------- ---------------
1 Sample Name
2 Sample&Name
3 Sample&Name
4 Sample&Name
5 Sample&Name
6 Sample&Name

6 rows selected.

SQL> SPOOL OFF


SQL> SET VERIFY OFF
SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Sal < Comm;

ENAME SAL COMM


---------- ---------- ----------
MARTIN 1250 1400

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm


2 FROM Emp
3* WHERE SIGN(Sal - Comm) = -1
SQL> /

ENAME SAL COMM


---------- ---------- ----------
MARTIN 1250 1400

SQL> cl scr

SQL> SELECT 'The Current calender in Server is : '||SYSDATE Today FROM DUAL;

TODAY
---------------------------------------------
The Current calender in Server is : 07-JUL-10

SQL> cl scr

SQL> SELECT SYSDATE Today, SYSDATE + 3 "3 Days"


2 FROM DUAL;

TODAY 3 Days
--------- ---------
07-JUL-10 10-JUL-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 SYSDATE + 45 "45 Days"
4* FROM DUAL
SQL> /

TODAY 45 Days
--------- ---------
07-JUL-10 21-AUG-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 SYSDATE + 450 "450 Days"


4* FROM DUAL
SQL> /

TODAY 450 Days


--------- ---------
07-JUL-10 30-SEP-11

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 SYSDATE - 450 "450 Days"
4* FROM DUAL
SQL> /

TODAY 450 Days


--------- ---------
07-JUL-10 13-APR-09

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 SYSDATE - 45 "45 Days"
4* FROM DUAL
SQL> /

TODAY 45 Days
--------- ---------
07-JUL-10 23-MAY-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 SYSDATE - 5500 "5500 Days"
4* FROM DUAL
SQL> /

TODAY 5500 Days


--------- ---------
07-JUL-10 16-JUN-95

SQL> cl scr

SQL> SELECT Ename, SYSDATE Today, HireDate, SYSDATE - HireDate DateDiff


2 FROM Emp;

ENAME TODAY HIREDATE DATEDIFF


---------- --------- --------- ----------
KING 07-JUL-10 17-NOV-81 10459.4756
BLAKE 07-JUL-10 01-MAY-81 10659.4756
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CLARK 07-JUL-10 09-JUN-81 10620.4756


JONES 07-JUL-10 02-APR-81 10688.4756
MARTIN 07-JUL-10 28-SEP-81 10509.4756
ALLEN 07-JUL-10 20-FEB-81 10729.4756
TURNER 07-JUL-10 08-SEP-81 10529.4756
JAMES 07-JUL-10 03-DEC-81 10443.4756
WARD 07-JUL-10 22-FEB-81 10727.4756
FORD 07-JUL-10 03-DEC-81 10443.4756
SMITH 07-JUL-10 17-DEC-80 10794.4756

ENAME TODAY HIREDATE DATEDIFF


---------- --------- --------- ----------
SCOTT 07-JUL-10 09-DEC-82 10072.4756
ADAMS 07-JUL-10 12-JAN-83 10038.4756
MILLER 07-JUL-10 23-JAN-82 10392.4756

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, SYSDATE Today, HireDate,


2 TRUNC(SYSDATE - HireDate) DateDiff
3* FROM Emp
SQL> /

ENAME TODAY HIREDATE DATEDIFF


---------- --------- --------- ----------
KING 07-JUL-10 17-NOV-81 10459
BLAKE 07-JUL-10 01-MAY-81 10659
CLARK 07-JUL-10 09-JUN-81 10620
JONES 07-JUL-10 02-APR-81 10688
MARTIN 07-JUL-10 28-SEP-81 10509
ALLEN 07-JUL-10 20-FEB-81 10729
TURNER 07-JUL-10 08-SEP-81 10529
JAMES 07-JUL-10 03-DEC-81 10443
WARD 07-JUL-10 22-FEB-81 10727
FORD 07-JUL-10 03-DEC-81 10443
SMITH 07-JUL-10 17-DEC-80 10794

ENAME TODAY HIREDATE DATEDIFF


---------- --------- --------- ----------
SCOTT 07-JUL-10 09-DEC-82 10072
ADAMS 07-JUL-10 12-JAN-83 10038
MILLER 07-JUL-10 23-JAN-82 10392

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, SYSDATE Today, HireDate,


2 TRUNC(SYSDATE - HireDate) Days,
3 TRUNC((SYSDATE - HireDate) / 365) Years
4 FROM Emp
5 WHERE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6* TRUNC((SYSDATE - HireDate) / 365) > 28


SQL> /

ENAME TODAY HIREDATE DAYS YEARS


---------- --------- --------- ---------- ----------
BLAKE 07-JUL-10 01-MAY-81 10659 29
CLARK 07-JUL-10 09-JUN-81 10620 29
JONES 07-JUL-10 02-APR-81 10688 29
ALLEN 07-JUL-10 20-FEB-81 10729 29
WARD 07-JUL-10 22-FEB-81 10727 29
SMITH 07-JUL-10 17-DEC-80 10794 29

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, SYSDATE Today, HireDate,


2 TRUNC(HireDate - SYSDATE) Days,
3 TRUNC((SYSDATE - HireDate) / 365) Years
4 FROM Emp
5 WHERE
6* TRUNC((SYSDATE - HireDate) / 365) > 28
SQL> /

ENAME TODAY HIREDATE DAYS YEARS


---------- --------- --------- ---------- ----------
BLAKE 07-JUL-10 01-MAY-81 -10659 29
CLARK 07-JUL-10 09-JUN-81 -10620 29
JONES 07-JUL-10 02-APR-81 -10688 29
ALLEN 07-JUL-10 20-FEB-81 -10729 29
WARD 07-JUL-10 22-FEB-81 -10727 29
SMITH 07-JUL-10 17-DEC-80 -10794 29

6 rows selected.

SQL> cl scr

SQL> SELECT Ename, HireDate, SYSDATE, SYSDATE + HireDate Added


2 FROM Emp;
SELECT Ename, HireDate, SYSDATE, SYSDATE + HireDate Added
*
ERROR at line 1:
ORA-00975: date + date not allowed

SQL> cl scr

SQL> SELECT
2 '07-JUL-10' Today,
3 '07-JUL-10' + 3 "3 Days"
4 FROM DUAL;
'07-JUL-10' + 3 "3 Days"
*
ERROR at line 3:
ORA-01722: invalid number
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 SYSDATE Today,
3 SYSDATE - '01-MAY-10' Diff
4 FROM DUAL;
SYSDATE - '01-MAY-10' Diff
*
ERROR at line 3:
ORA-01722: invalid number

SQL> cl scr

SQL> SELECT
2 SYSDATE Today,
3 SYSDATE + 90 "3 Months"
4 FROM DUAL;

TODAY 3 Months
--------- ---------
07-JUL-10 05-OCT-10

SQL> SELECT
2 SYSDATE ToDay,
3 ADD_MONTHS(SYSDATE, 3) "3 Months"
4 FROM DUAL;

TODAY 3 Months
--------- ---------
07-JUL-10 07-OCT-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE ToDay,
3 ADD_MONTHS(SYSDATE, -3) "3 Months"
4* FROM DUAL
SQL> /

TODAY 3 Months
--------- ---------
07-JUL-10 07-APR-10

SQL> cl scr

SQL> SELECT
2 Ename, Sal, SYSDATE Today, HireDate,
3 MONTHS_BETWEEN(SYSDATE, HireDate) "Months"
4 FROM Emp;

ENAME SAL TODAY HIREDATE Months


---------- ---------- --------- --------- ----------
KING 5000 07-JUL-10 17-NOV-81 343.693194
BLAKE 2850 07-JUL-10 01-MAY-81 350.209323
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CLARK 2450 07-JUL-10 09-JUN-81 348.951258


JONES 2975 07-JUL-10 02-APR-81 351.177065
MARTIN 1250 07-JUL-10 28-SEP-81 345.338355
ALLEN 1600 07-JUL-10 20-FEB-81 352.59642
TURNER 1500 07-JUL-10 08-SEP-81 345.983516
JAMES 950 07-JUL-10 03-DEC-81 343.144807
WARD 1250 07-JUL-10 22-FEB-81 352.531903
FORD 3000 07-JUL-10 03-DEC-81 343.144807
SMITH 800 07-JUL-10 17-DEC-80 354.693194

ENAME SAL TODAY HIREDATE Months


---------- ---------- --------- --------- ----------
SCOTT 3000 07-JUL-10 09-DEC-82 330.951258
ADAMS 1100 07-JUL-10 12-JAN-83 329.854484
MILLER 1300 07-JUL-10 23-JAN-82 341.499645

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, Sal, SYSDATE Today, HireDate,
3 TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) "Months"
4* FROM Emp
SQL> /

ENAME SAL TODAY HIREDATE Months


---------- ---------- --------- --------- ----------
KING 5000 07-JUL-10 17-NOV-81 343
BLAKE 2850 07-JUL-10 01-MAY-81 350
CLARK 2450 07-JUL-10 09-JUN-81 348
JONES 2975 07-JUL-10 02-APR-81 351
MARTIN 1250 07-JUL-10 28-SEP-81 345
ALLEN 1600 07-JUL-10 20-FEB-81 352
TURNER 1500 07-JUL-10 08-SEP-81 345
JAMES 950 07-JUL-10 03-DEC-81 343
WARD 1250 07-JUL-10 22-FEB-81 352
FORD 3000 07-JUL-10 03-DEC-81 343
SMITH 800 07-JUL-10 17-DEC-80 354

ENAME SAL TODAY HIREDATE Months


---------- ---------- --------- --------- ----------
SCOTT 3000 07-JUL-10 09-DEC-82 330
ADAMS 1100 07-JUL-10 12-JAN-83 329
MILLER 1300 07-JUL-10 23-JAN-82 341

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, Sal, SYSDATE Today, HireDate,
3 TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) "Months"
4 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 WHERE
6* TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) > 343
SQL> /

ENAME SAL TODAY HIREDATE Months


---------- ---------- --------- --------- ----------
BLAKE 2850 07-JUL-10 01-MAY-81 350
CLARK 2450 07-JUL-10 09-JUN-81 348
JONES 2975 07-JUL-10 02-APR-81 351
MARTIN 1250 07-JUL-10 28-SEP-81 345
ALLEN 1600 07-JUL-10 20-FEB-81 352
TURNER 1500 07-JUL-10 08-SEP-81 345
WARD 1250 07-JUL-10 22-FEB-81 352
SMITH 800 07-JUL-10 17-DEC-80 354

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, Sal, SYSDATE Today, HireDate,
3 TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate)) "Months",
4 TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12) "Years"
5 FROM Emp
6 WHERE
7* TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12) > 28
SQL> /

ENAME SAL TODAY HIREDATE Months Years


---------- ---------- --------- --------- ---------- ----------
BLAKE 2850 07-JUL-10 01-MAY-81 350 29
CLARK 2450 07-JUL-10 09-JUN-81 348 29
JONES 2975 07-JUL-10 02-APR-81 351 29
ALLEN 1600 07-JUL-10 20-FEB-81 352 29
WARD 1250 07-JUL-10 22-FEB-81 352 29
SMITH 800 07-JUL-10 17-DEC-80 354 29

6 rows selected.

SQL> cl scr

SQL> SELECT
2 '07-JUL-10' Today,
3 ADD_MONTHS('07-JUL-10', 3) Months
4 FROM DUAL;

TODAY MONTHS
--------- ---------
07-JUL-10 07-OCT-10

SQL> SELECT
2 '07-JUL-10' Today,
3 '07-FEB-10' Past,
4 MONTHS_BETWEEN('07-JUL-10', +
5
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '07-JUL-10' Today,
3 '07-FEB-10' Past,
4 MONTHS_BETWEEN('07-JUL-10', '07-JUL-10') Months
5* FROM DUAL
SQL> /

TODAY PAST MONTHS


--------- --------- ----------
07-JUL-10 07-FEB-10 0

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '07-JUL-10' Today,
3 '07-FEB-10' Past,
4 MONTHS_BETWEEN('07-JUL-10', '07-FEB-10') Months
5* FROM DUAL
SQL> /

TODAY PAST MONTHS


--------- --------- ----------
07-JUL-10 07-FEB-10 5

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '07-JUL-10' Today,
3 '07-FEB-10' Past,
4 MONTHS_BETWEEN('07-JUL-10', '10-FEB-10') Months
5* FROM DUAL
SQL> /

TODAY PAST MONTHS


--------- --------- ----------
07-JUL-10 07-FEB-10 4.90322581

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '07-JUL-10' Today,
3 '07-FEB-10' Past,
4 MONTHS_BETWEEN('07-FEB-10', '07-JUL-10') Months
5* FROM DUAL
SQL> /

TODAY PAST MONTHS


--------- --------- ----------
07-JUL-10 07-FEB-10 -5

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT
2 SYSDATE Today,
3 NEXT_DAY(SYSDATE, 'FRI') "Friday"
4 FROM DUAL;

TODAY Friday
--------- ---------
07-JUL-10 09-JUL-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 NEXT_DAY(SYSDATE, 6) "Friday"
4* FROM DUAL
SQL> /

TODAY Friday
--------- ---------
07-JUL-10 09-JUL-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 NEXT_DAY(SYSDATE, 'FRIDAY') "Friday"
4* FROM DUAL
SQL> /

TODAY Friday
--------- ---------
07-JUL-10 09-JUL-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 NEXT_DAY(SYSDATE, 'WED') "Wednesday"
4* FROM DUAL
SQL> /

TODAY Wednesday
--------- ---------
07-JUL-10 14-JUL-10

SQL> cl scr

SQL> SELECT
2 SYSDATE Today,
3 LAST_DAY(SYSDATE) LastDay
4 FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

TODAY LASTDAY
--------- ---------
07-JUL-10 31-JUL-10

SQL> SELECT
2 'The Days Left in The Current Month Are : '||
3 (
4 LAST_DAY(SYSDATE) - SYSDATE
5 ) "Days Left"
6 FROM DUAL;

Days Left
--------------------------------------------------------------------------------
The Days Left in The Current Month Are : 24

SQL> cl scr

SQL> SELECT
2 SYSDATE Today,
3 ROUND(SYSDATE) Round,
4 TRUNC(SYSDATE) Trunc
5 FROM DUAL;

TODAY ROUND TRUNC


--------- --------- ---------
07-JUL-10 08-JUL-10 07-JUL-10

SQL> R
1 SELECT
2 SYSDATE Today,
3 ROUND(SYSDATE) Round,
4 TRUNC(SYSDATE) Trunc
5* FROM DUAL

TODAY ROUND TRUNC


--------- --------- ---------
07-JUL-10 07-JUL-10 07-JUL-10

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 ROUND(SYSDATE, 'DAY') Round,
4 TRUNC(SYSDATE, 'DAY') Trunc
5* FROM DUAL
SQL> /

TODAY ROUND TRUNC


--------- --------- ---------
07-JUL-10 11-JUL-10 04-JUL-10

SQL> R
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT
2 SYSDATE Today,
3 ROUND(SYSDATE, 'DAY') Round,
4 TRUNC(SYSDATE, 'DAY') Trunc
5* FROM DUAL

TODAY ROUND TRUNC


--------- --------- ---------
07-JUL-10 04-JUL-10 04-JUL-10

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 ROUND(SYSDATE, 'MONTH') Round,
4 TRUNC(SYSDATE, 'MONTH') Trunc
5* FROM DUAL
SQL> /

TODAY ROUND TRUNC


--------- --------- ---------
07-JUL-10 01-JUL-10 01-JUL-10

SQL> /

TODAY ROUND TRUNC


--------- --------- ---------
16-JUL-10 01-AUG-10 01-JUL-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE Today,
3 ROUND(SYSDATE, 'YEAR') Round,
4 TRUNC(SYSDATE, 'YEAR') Trunc
5* FROM DUAL
SQL> cl scr

SQL> R
1 SELECT
2 SYSDATE Today,
3 ROUND(SYSDATE, 'YEAR') Round,
4 TRUNC(SYSDATE, 'YEAR') Trunc
5* FROM DUAL

TODAY ROUND TRUNC


--------- --------- ---------
07-JUL-10 01-JAN-11 01-JAN-10

SQL> R
1 SELECT
2 SYSDATE Today,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 ROUND(SYSDATE, 'YEAR') Round,


4 TRUNC(SYSDATE, 'YEAR') Trunc
5* FROM DUAL

TODAY ROUND TRUNC


--------- --------- ---------
07-JUN-10 01-JAN-10 01-JAN-10

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT Ename, Sal, Comm, Sal - Comm Diff


2 FROM Emp
3 WHERE Comm IS NOT NULL;

ENAME SAL COMM DIFF


---------- ---------- ---------- ----------
MARTIN 1250 1400 -150
ALLEN 1600 300 1300
TURNER 1500 0 1500
WARD 1250 500 750

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm,


2 TO_CHAR(Sal - Comm, '9999MI') Diff
3 FROM Emp
4* WHERE Comm IS NOT NULL
SQL> /

ENAME SAL COMM DIFF


---------- ---------- ---------- -----
MARTIN 1250 1400 150-
ALLEN 1600 300 1300
TURNER 1500 0 1500
WARD 1250 500 750

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm,


2 TO_CHAR(Sal - Comm, '9999PR') Diff
3 FROM Emp
4* WHERE Comm IS NOT NULL
SQL> /

ENAME SAL COMM DIFF


---------- ---------- ---------- ------
MARTIN 1250 1400 <150>
ALLEN 1600 300 1300
TURNER 1500 0 1500
WARD 1250 500 750
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm,


2 TO_CHAR(Sal - Comm, '9999PT') Diff
3 FROM Emp
4* WHERE Comm IS NOT NULL
SQL> /

ENAME SAL COMM DIFF


---------- ---------- ---------- ------
MARTIN 1250 1400 (150)
ALLEN 1600 300 1300
TURNER 1500 0 1500
WARD 1250 500 750

SQL> cl scr

SQL> SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'RN') "Deci 2 Roman"
4 FROM DUAL;
Enter value for gval1: 1
Enter value for gval2: 1

Deci 2 Roman
------------------------------------------------
The Roman Number of Decimal 1 is I

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 LTRIM(TO_CHAR(&GVal2, 'RN')) "Deci 2 Roman"
4* FROM DUAL
SQL> /
Enter value for gval1: 8
Enter value for gval2: 8

Deci 2 Roman
------------------------------------------------
The Roman Number of Decimal 8 is VIII

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 LTRIM(TO_CHAR(&GVal2, 'rn')) "Deci 2 Roman"
4* FROM DUAL
SQL> /
Enter value for gval1: 8
Enter value for gval2: 8

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Deci 2 Roman
------------------------------------------------
The Roman Number of Decimal 8 is viii

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Roman Number of Decimal '||&GVal1||' is '||
3 LTRIM(TO_CHAR(&GVal2, 'RN')) "Deci 2 Roman"
4* FROM DUAL
SQL> /
Enter value for gval1: 2456
Enter value for gval2: 2456

Deci 2 Roman
---------------------------------------------------
The Roman Number of Decimal 2456 is MMCDLVI

SQL> /
Enter value for gval1: 3999
Enter value for gval2: 3999

Deci 2 Roman
---------------------------------------------------
The Roman Number of Decimal 3999 is MMMCMXCIX

SQL> /
Enter value for gval1: 4000
Enter value for gval2: 4000

Deci 2 Roman
---------------------------------------------------
The Roman Number of Decimal 4000 is ###############

SQL> cl scr

SQL> SELECT
2 Ename, Sal, Comm, TO_CHAR(Sal - Comm, '9G999D99S') Diff
3 FROM Emp
4 WHERE Comm IS NOT NULL;

ENAME SAL COMM DIFF


---------- ---------- ---------- ---------
MARTIN 1250 1400 150.00-
ALLEN 1600 300 1,300.00+
TURNER 1500 0 1,500.00+
WARD 1250 500 750.00+

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, Sal, Comm, TO_CHAR(Sal - Comm, 'S9G999D99') Diff
3 FROM Emp
4* WHERE Comm IS NOT NULL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

ENAME SAL COMM DIFF


---------- ---------- ---------- ---------
MARTIN 1250 1400 -150.00
ALLEN 1600 300 +1,300.00
TURNER 1500 0 +1,500.00
WARD 1250 500 +750.00

SQL> cl scr

SQL> SELECT
2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'X') "Deci 2 Hexa"
4 FROM DUAL;
Enter value for gval1: 10
Enter value for gval2: 10

Deci 2 Hexa
-----------------------------------------
The Hexadecimal Value of Decimal 10 is A

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'x') "Deci 2 Hexa"
4* FROM DUAL
SQL> /
Enter value for gval1: 10
Enter value for gval2: 10

Deci 2 Hexa
-----------------------------------------
The Hexadecimal Value of Decimal 10 is a

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||
3 TO_CHAR(&GVal2, 'X') "Deci 2 Hexa"
4* FROM DUAL
SQL> /
Enter value for gval1: 25
Enter value for gval2: 25

Deci 2 Hexa
-----------------------------------------
The Hexadecimal Value of Decimal 25 is ##

SQL> ED
Wrote file afiedt.buf

1 SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 'The Hexadecimal Value of Decimal '||&GVal1||' is '||


3 LTRIM(TO_CHAR(&GVal2, 'XXXXXXXXX')) "Deci 2 Hexa"
4* FROM DUAL
SQL> /
Enter value for gval1: 25
Enter value for gval2: 25

Deci 2 Hexa
-------------------------------------------------
The Hexadecimal Value of Decimal 25 is 19

SQL> /
Enter value for gval1: 2345
Enter value for gval2: 2345

Deci 2 Hexa
---------------------------------------------------
The Hexadecimal Value of Decimal 2345 is 929

SQL> /
Enter value for gval1: 45634
Enter value for gval2: 45634

Deci 2 Hexa
----------------------------------------------------
The Hexadecimal Value of Decimal 45634 is B242

SQL> cl scr

SQL> SELECT Ename, Sal, Comm


2 FROM Emp;

ENAME SAL COMM


---------- ---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250 1400
ALLEN 1600 300
TURNER 1500 0
JAMES 950
WARD 1250 500
FORD 3000
SMITH 800

ENAME SAL COMM


---------- ---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT Ename,
2 TO_CHAR(Sal, '0999') Sal,
3 TO_CHAR(Comm, '0999') Comm
4* FROM Emp
SQL> /

ENAME SAL COMM


---------- ----- -----
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250 1400
ALLEN 1600 0300
TURNER 1500 0000
JAMES 0950
WARD 1250 0500
FORD 3000
SMITH 0800

ENAME SAL COMM


---------- ----- -----
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 TO_CHAR(Sal, '0G999D99') Sal,
3 TO_CHAR(Comm, '0G999D99') Comm
4* FROM Emp
SQL> /

ENAME SAL COMM


---------- --------- ---------
KING 5,000.00
BLAKE 2,850.00
CLARK 2,450.00
JONES 2,975.00
MARTIN 1,250.00 1,400.00
ALLEN 1,600.00 0,300.00
TURNER 1,500.00 0,000.00
JAMES 0,950.00
WARD 1,250.00 0,500.00
FORD 3,000.00
SMITH 0,800.00

ENAME SAL COMM


---------- --------- ---------
SCOTT 3,000.00
ADAMS 1,100.00
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MILLER 1,300.00

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 TO_CHAR(Sal, '0G999D99') Sal,
3 TO_CHAR(NVL(Comm, 0), '0G999D99') Comm,
4 TO_CHAR(Sal + NVL(Comm, 0), '0G999D99') TotSal
5* FROM Emp
SQL> /

ENAME SAL COMM TOTSAL


---------- --------- --------- ---------
KING 5,000.00 0,000.00 5,000.00
BLAKE 2,850.00 0,000.00 2,850.00
CLARK 2,450.00 0,000.00 2,450.00
JONES 2,975.00 0,000.00 2,975.00
MARTIN 1,250.00 1,400.00 2,650.00
ALLEN 1,600.00 0,300.00 1,900.00
TURNER 1,500.00 0,000.00 1,500.00
JAMES 0,950.00 0,000.00 0,950.00
WARD 1,250.00 0,500.00 1,750.00
FORD 3,000.00 0,000.00 3,000.00
SMITH 0,800.00 0,000.00 0,800.00

ENAME SAL COMM TOTSAL


---------- --------- --------- ---------
SCOTT 3,000.00 0,000.00 3,000.00
ADAMS 1,100.00 0,000.00 1,100.00
MILLER 1,300.00 0,000.00 1,300.00

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 TO_CHAR(Sal, '0G000D00') Sal,
3 TO_CHAR(NVL(Comm, 0), '0G999D99') Comm,
4 TO_CHAR(Sal + NVL(Comm, 0), '0G999D99') TotSal
5* FROM Emp
SQL> /

ENAME SAL COMM TOTSAL


---------- --------- --------- ---------
KING 5,000.00 0,000.00 5,000.00
BLAKE 2,850.00 0,000.00 2,850.00
CLARK 2,450.00 0,000.00 2,450.00
JONES 2,975.00 0,000.00 2,975.00
MARTIN 1,250.00 1,400.00 2,650.00
ALLEN 1,600.00 0,300.00 1,900.00
TURNER 1,500.00 0,000.00 1,500.00
JAMES 0,950.00 0,000.00 0,950.00
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

WARD 1,250.00 0,500.00 1,750.00


FORD 3,000.00 0,000.00 3,000.00
SMITH 0,800.00 0,000.00 0,800.00

ENAME SAL COMM TOTSAL


---------- --------- --------- ---------
SCOTT 3,000.00 0,000.00 3,000.00
ADAMS 1,100.00 0,000.00 1,100.00
MILLER 1,300.00 0,000.00 1,300.00

14 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 TO_CHAR(Sal, '0G999D99C') Sal,
3 TO_CHAR(NVL(Comm, 0), '0G999D99C') Comm,
4 TO_CHAR(Sal + NVL(Comm, 0), '0G999D99C') TotSal
5* FROM Emp
SQL> /

ENAME SAL COMM TOTSAL


---------- ---------------- ---------------- ----------------
KING 5,000.00USD 0,000.00USD 5,000.00USD
BLAKE 2,850.00USD 0,000.00USD 2,850.00USD
CLARK 2,450.00USD 0,000.00USD 2,450.00USD
JONES 2,975.00USD 0,000.00USD 2,975.00USD
MARTIN 1,250.00USD 1,400.00USD 2,650.00USD
ALLEN 1,600.00USD 0,300.00USD 1,900.00USD
TURNER 1,500.00USD 0,000.00USD 1,500.00USD
JAMES 0,950.00USD 0,000.00USD 0,950.00USD
WARD 1,250.00USD 0,500.00USD 1,750.00USD
FORD 3,000.00USD 0,000.00USD 3,000.00USD
SMITH 0,800.00USD 0,000.00USD 0,800.00USD

ENAME SAL COMM TOTSAL


---------- ---------------- ---------------- ----------------
SCOTT 3,000.00USD 0,000.00USD 3,000.00USD
ADAMS 1,100.00USD 0,000.00USD 1,100.00USD
MILLER 1,300.00USD 0,000.00USD 1,300.00USD

14 rows selected.

SQL> cl scr

SQL> SELECT
2 'Today is : '||SYSDATE||TO_CHAR(SYSDATE, 'B.C.') Today
3 FROM DUAL;

TODAY
------------------------
Today is : 09-JUL-10A.D.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Today is : '||SYSDATE||TO_CHAR(SYSDATE, ' B.C.') Today
3* FROM DUAL
SQL> /

TODAY
-------------------------
Today is : 09-JUL-10 A.D.

SQL> SELECT Ename, Sal, HireDate||TO_CHAR(HireDate, ' B.C.') HireDate


2 FROM Emp;

ENAME SAL HIREDATE


---------- ---------- --------------
KING 5000 17-NOV-81 A.D.
BLAKE 2850 01-MAY-81 A.D.
CLARK 2450 09-JUN-81 A.D.
JONES 2975 02-APR-81 A.D.
MARTIN 1250 28-SEP-81 A.D.
ALLEN 1600 20-FEB-81 A.D.
TURNER 1500 08-SEP-81 A.D.
JAMES 950 03-DEC-81 A.D.
WARD 1250 22-FEB-81 A.D.
FORD 3000 03-DEC-81 A.D.
SMITH 800 17-DEC-80 A.D.

ENAME SAL HIREDATE


---------- ---------- --------------
SCOTT 3000 09-DEC-82 A.D.
ADAMS 1100 12-JAN-83 A.D.
MILLER 1300 23-JAN-82 A.D.

14 rows selected.

SQL> cl cr
SP2-0158: unknown CLEAR option "cr"
SQL> cl scr

SQL> SELECT
2 'The Meridian in My Clock is : '||
3 TO_CHAR(SYSDATE, 'P.M.') Meridian
4 FROM DUAL;

MERIDIAN
----------------------------------
The Meridian in My Clock is : A.M.

SQL> cl scr

SQL> SELECT
2 'The Current Date is '||
3 SYSDATE||' '||TO_CHAR(SYSDATE, 'CC, B.C.') Calendar
4 FROM DUAL;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CALENDAR
--------------------------------------
The Current Date is 09-JUL-10 21, A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Date is '||
3 SYSDATE||' '||TO_CHAR(SYSDATE, 'SCC, B.C.') Calendar
4* FROM DUAL
SQL> /

CALENDAR
---------------------------------------
The Current Date is 09-JUL-10 21, A.D.

SQL> cl scr

SQL> SELECT
2 Ename,
3 HireDate||' '||TO_CHAR(HireDate, 'CC, B.C.') HireDate
4 FROM Emp;

ENAME HIREDATE
---------- ------------------
KING 17-NOV-81 20, A.D.
BLAKE 01-MAY-81 20, A.D.
CLARK 09-JUN-81 20, A.D.
JONES 02-APR-81 20, A.D.
MARTIN 28-SEP-81 20, A.D.
ALLEN 20-FEB-81 20, A.D.
TURNER 08-SEP-81 20, A.D.
JAMES 03-DEC-81 20, A.D.
WARD 22-FEB-81 20, A.D.
FORD 03-DEC-81 20, A.D.
SMITH 17-DEC-80 20, A.D.

ENAME HIREDATE
---------- ------------------
SCOTT 09-DEC-82 20, A.D.
ADAMS 12-JAN-83 20, A.D.
MILLER 23-JAN-82 20, A.D.

14 rows selected.

SQL> cl scr

SQL> SELECT
2 'The Weekday Number of Today : '||
3 TO_CHAR(SYSDATE, 'D') WeekDay
4 FROM DUAL;

WEEKDAY
-------------------------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

The Weekday Number of Today : 6

SQL> SELECT
2 Ename||' You Joined on The Weekday of '||
3 TO_CHAR(HireDate, 'D') WeekDay
4 FROM Emp;

WEEKDAY
-----------------------------------------
KING You Joined on The Weekday of 3
BLAKE You Joined on The Weekday of 6
CLARK You Joined on The Weekday of 3
JONES You Joined on The Weekday of 5
MARTIN You Joined on The Weekday of 2
ALLEN You Joined on The Weekday of 6
TURNER You Joined on The Weekday of 3
JAMES You Joined on The Weekday of 5
WARD You Joined on The Weekday of 1
FORD You Joined on The Weekday of 5
SMITH You Joined on The Weekday of 4

WEEKDAY
-----------------------------------------
SCOTT You Joined on The Weekday of 5
ADAMS You Joined on The Weekday of 4
MILLER You Joined on The Weekday of 7

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||' You Joined on The Weekday of '||
3 TO_CHAR(HireDate, 'D') WeekDay
4 FROM Emp
5* WHERE TO_CHAR(HireDate, 'D') = &GWeekday
SQL> /
Enter value for gweekday: 1

WEEKDAY
-----------------------------------------
WARD You Joined on The Weekday of 1

SQL> /
Enter value for gweekday: 7

WEEKDAY
-----------------------------------------
MILLER You Joined on The Weekday of 7

SQL> /
Enter value for gweekday: 3

WEEKDAY
-----------------------------------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING You Joined on The Weekday of 3


CLARK You Joined on The Weekday of 3
TURNER You Joined on The Weekday of 3

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Today is '||SYSDATE||TO_CHAR(SYSDATE, ' Day') Today
3* FROM DUAL
SQL> /

TODAY
----------------------------
Today is 09-JUL-10 Friday

SQL> cl scr

SQL> SELECT
2 Ename||' You Are Recruited on '||HireDate||
3 TO_CHAR(HireDate, ' Day') Hiredate
4 FROM Emp;

HIREDATE
---------------------------------------------------
KING You Are Recruited on 17-NOV-81 Tuesday
BLAKE You Are Recruited on 01-MAY-81 Friday
CLARK You Are Recruited on 09-JUN-81 Tuesday
JONES You Are Recruited on 02-APR-81 Thursday
MARTIN You Are Recruited on 28-SEP-81 Monday
ALLEN You Are Recruited on 20-FEB-81 Friday
TURNER You Are Recruited on 08-SEP-81 Tuesday
JAMES You Are Recruited on 03-DEC-81 Thursday
WARD You Are Recruited on 22-FEB-81 Sunday
FORD You Are Recruited on 03-DEC-81 Thursday
SMITH You Are Recruited on 17-DEC-80 Wednesday

HIREDATE
---------------------------------------------------
SCOTT You Are Recruited on 09-DEC-82 Thursday
ADAMS You Are Recruited on 12-JAN-83 Wednesday
MILLER You Are Recruited on 23-JAN-82 Saturday

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||' You Are Recruited on '||HireDate||
3 TO_CHAR(HireDate, ' Day') Hiredate
4 FROM Emp
5* WHERE TO_CHAR(HireDate, ' Day') = 'Friday'
SQL> /

no rows selected
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||' You Are Recruited on '||HireDate||
3 TO_CHAR(HireDate, ' Day') Hiredate
4 FROM Emp
5* WHERE RTRIM(TO_CHAR(HireDate, 'Day')) = 'Friday'
SQL> /

HIREDATE
---------------------------------------------------
BLAKE You Are Recruited on 01-MAY-81 Friday
ALLEN You Are Recruited on 20-FEB-81 Friday

SQL> SELECT
2 'We Are on the Day '||TO_CHAR(SYSDATE, 'DD')||
3 ' of This Month.' MonthDay
4 FROM DUAL;

MONTHDAY
-----------------------------------
We Are on the Day 09 of This Month.

SQL> SELECT Ename, HireDate, Sal


2 FROM Emp
3 WHERE TO_CHAR(HireDate, 'DD') = 3;

ENAME HIREDATE SAL


---------- --------- ----------
JAMES 03-DEC-81 950
FORD 03-DEC-81 3000

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current day Running in This Year : '||
3 TO_CHAR(SYSDATE, 'DDD') Yearday
4* FROM DUAL
SQL> /

YEARDAY
------------------------------------------
The Current day Running in This Year : 190

SQL> SELECT Ename, Sal, HireDate


2 FROM Emp
3 WHERE
4 TO_CHAR(HireDate, 'DDD') > 245;

ENAME SAL HIREDATE


---------- ---------- ---------
KING 5000 17-NOV-81
MARTIN 1250 28-SEP-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

TURNER 1500 08-SEP-81


JAMES 950 03-DEC-81
FORD 3000 03-DEC-81
SMITH 800 17-DEC-80
SCOTT 3000 09-DEC-82

7 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, HireDate


2 FROM Emp
3 WHERE
4* TO_CHAR(HireDate, 'DDD') BETWEEN 245 AND 300
SQL> /

ENAME SAL HIREDATE


---------- ---------- ---------
MARTIN 1250 28-SEP-81
TURNER 1500 08-SEP-81

SQL> cl scr

SQL> SELECT
2 'Today is : '||TO_CHAr(SYSDATE, 'DY') Today
3 FROM DUAL;

TODAY
--------------
Today is : FRI

SQL> cl scr

SQL> SELECT
2 'The Current Week of This Year is : '
3 ||TO_CHAR(SYSDATE, 'IW') YearWeek
4 FROM DUAL;

YEARWEEK
-------------------------------------
The Current Week of This Year is : 27

SQL> cl scr

SQL> SELECT
2 Ename, Sal, HireDate, TO_CHAR(HireDate, 'IW') YearWeek
3 FROM Emp
4 WHERE TO_CHAR(HireDate, 'IW') > 25;

ENAME SAL HIREDATE YE


---------- ---------- --------- --
KING 5000 17-NOV-81 47
MARTIN 1250 28-SEP-81 40
TURNER 1500 08-SEP-81 37
JAMES 950 03-DEC-81 49
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

FORD 3000 03-DEC-81 49


SMITH 800 17-DEC-80 51
SCOTT 3000 09-DEC-82 49

7 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT
2 'The Current Year is : '||TO_CHAR(SYSDATE, 'IYYY, B.C.') ThisYear
3 FROM DUAL;

THISYEAR
--------------------------------
The Current Year is : 2010, A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Year is : '||TO_CHAR(SYSDATE, 'IYYY, B.C. "Century : "CC')
ThisYear
3* FROM DUAL
SQL> /

THISYEAR
---------------------------------------------
The Current Year is : 2010, A.D. Century : 21

SQL> SELECT
2 Ename||'''s Recruited Year is '||TO_CHAR(HireDate, 'IYYY, B.C.') EmpHire
3 FROM Emp;

EMPHIRE
-----------------------------------------
KING's Recruited Year is 1981, A.D.
BLAKE's Recruited Year is 1981, A.D.
CLARK's Recruited Year is 1981, A.D.
JONES's Recruited Year is 1981, A.D.
MARTIN's Recruited Year is 1981, A.D.
ALLEN's Recruited Year is 1981, A.D.
TURNER's Recruited Year is 1981, A.D.
JAMES's Recruited Year is 1981, A.D.
WARD's Recruited Year is 1981, A.D.
FORD's Recruited Year is 1981, A.D.
SMITH's Recruited Year is 1980, A.D.

EMPHIRE
-----------------------------------------
SCOTT's Recruited Year is 1982, A.D.
ADAMS's Recruited Year is 1983, A.D.
MILLER's Recruited Year is 1982, A.D.

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||'''s Recruited Year is '||
3 TO_CHAR(HireDate, 'YYYY "=>" Year, B.C.') EmpHire
4* FROM Emp
SQL> /

EMPHIRE
--------------------------------------------------------------------------------
KING's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
BLAKE's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
CLARK's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
JONES's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
MARTIN's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
ALLEN's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
TURNER's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
JAMES's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
WARD's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
FORD's Recruited Year is 1981 => Nineteen Eighty-One, A.D.
SMITH's Recruited Year is 1980 => Nineteen Eighty, A.D.

EMPHIRE
--------------------------------------------------------------------------------
SCOTT's Recruited Year is 1982 => Nineteen Eighty-Two, A.D.
ADAMS's Recruited Year is 1983 => Nineteen Eighty-Three, A.D.
MILLER's Recruited Year is 1982 => Nineteen Eighty-Two, A.D.

14 rows selected.

SQL> SELECT
2 'The Current Year is : '||
3 TO_CHAR(SYSDATE, 'YYYY "=>" Year, B.C.') Year
4 FROM DUAl;

YEAR
------------------------------------------------------------------------------
The Current Year is : 2010 => Twenty Ten, A.D.

SQL> cl scr

SQL> SELECT
2 'The Current Week in This Month is : '||
3 TO_CHAR(SYSDATE, 'W') MonthWeek
4 FROM DUAl;

MONTHWEEK
-------------------------------------
The Current Week in This Month is : 2

SQL> SELECT
2 Ename, Sal, HireDate, Job
3 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 WHERE TO_CHAR(HireDate, 'W') = 3;

ENAME SAL HIREDATE JOB


---------- ---------- --------- ---------
KING 5000 17-NOV-81 PRESIDENT
ALLEN 1600 20-FEB-81 SALESMAN
SMITH 800 17-DEC-80 CLERK

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, Sal, HireDate, Job
3 FROM Emp
4 WHERE
5 TO_CHAR(HireDate, 'YYYY') = 1981 AND
6* TO_CHAR(HireDate, 'W') = 3
SQL> /

ENAME SAL HIREDATE JOB


---------- ---------- --------- ---------
KING 5000 17-NOV-81 PRESIDENT
ALLEN 1600 20-FEB-81 SALESMAN

SQL> cl scr

SQL> SELECT
2 'The Current Quarter of This Year : '||
3 TO_CHAR(SYSDATE, 'Q') MyDate
4 FROM DUAL;

MYDATE
------------------------------------
The Current Quarter of This Year : 3

SQL> SELECT
2 Ename, HireDate, Deptno, Job, Sal
3 FROM Emp
4 WHERE
5 TO_CHAR(HireDate, 'YYYY') = 1981;

ENAME HIREDATE DEPTNO JOB SAL


---------- --------- ---------- --------- ----------
KING 17-NOV-81 10 PRESIDENT 5000
BLAKE 01-MAY-81 30 MANAGER 2850
CLARK 09-JUN-81 10 MANAGER 2450
JONES 02-APR-81 20 MANAGER 2975
MARTIN 28-SEP-81 30 SALESMAN 1250
ALLEN 20-FEB-81 30 SALESMAN 1600
TURNER 08-SEP-81 30 SALESMAN 1500
JAMES 03-DEC-81 30 CLERK 950
WARD 22-FEB-81 30 SALESMAN 1250
FORD 03-DEC-81 20 ANALYST 3000

10 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, HireDate, Deptno, Job, Sal
3 FROM Emp
4 WHERE
5 TO_CHAR(HireDate, 'YYYY') = 1981 AND
6* TO_CHAR(hireDate, 'Q') = 3
SQL> /

ENAME HIREDATE DEPTNO JOB SAL


---------- --------- ---------- --------- ----------
MARTIN 28-SEP-81 30 SALESMAN 1250
TURNER 08-SEP-81 30 SALESMAN 1500

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, HireDate, Deptno, Job, Sal
3 FROM Emp
4 WHERE
5 TO_CHAR(HireDate, 'YYYY') = 1981 AND
6 TO_CHAR(HireDate, 'Q') = 3 AND
7* TO_CHAR(HireDate, 'W') = 4
SQL> /

ENAME HIREDATE DEPTNO JOB SAL


---------- --------- ---------- --------- ----------
MARTIN 28-SEP-81 30 SALESMAN 1250

SQL> cl scr

SQL> SELECT
2 'The Number of Days Completed '||CHR(10)||
3 'Since January 1ST 4712 B.C To '||CHR(10)||
4 'July 12TH 2010 A.C. Are : '||(TO_CHAR(SYSDATE, J') - 1) "Julian Days"
5 FROm DUAL;
ERROR:
ORA-01756: quoted string not properly terminated

SQL> Ed
Wrote file afiedt.buf

1 SELECT
2 'The Number of Days Completed '||CHR(10)||
3 'Since January 1ST 4712 B.C To '||CHR(10)||
4 'July 12TH 2010 A.C. Are : '||(TO_CHAR(SYSDATE, 'J') - 1) "Julian Days"
5* FROm DUAL
SQL> /

Julian Days
--------------------------------------------------------------------------------
The Number of Days Completed
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Since January 1ST 4712 B.C To


July 12TH 2010 A.C. Are : 2455389

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Number of Days Completed '||CHR(10)||
3 'Since January 1ST 4712 B.C To '||CHR(10)||
4 'July 12TH 2010 A.D. Are : '||(TO_CHAR(SYSDATE, 'J') - 1)||' Days.'
"Julian Days"
5* FROm DUAL
SQL> /

Julian Days
--------------------------------------------------------------------------------
The Number of Days Completed
Since January 1ST 4712 B.C To
July 12TH 2010 A.D. Are : 2455389 Days.

SQL> SELECT 'The Julian Day of Today is : '||TO_CHAR(SYSDATE, 'J') Julian


2 FROM DUAL;

JULIAN
------------------------------------
The Julian Day of Today is : 2455390

SQL> cl scr

SQL> SELECT
2 'The Different Days Are : '||
3 TO_CHAR(SYSDATE, 'J, DDD, DD, D') Days
4 FROM DUAL;

DAYS
--------------------------------------------
The Different Days Are : 2455390, 193, 12, 2

SQL> cl scr

SQL> SELECT 'The Current Month is '||TO_CHAR(SYSDATE, 'MM') Month


2 FROM DUAL;

MONTH
-----------------------
The Current Month is 07

SQL> SELECT Ename, HireDate, Sal, Job


2 FROM Emp
3 WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
4 TO_CHAR(HireDate, 'MM') = 9;

ENAME HIREDATE SAL JOB


---------- --------- ---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN 28-SEP-81 1250 SALESMAN


TURNER 08-SEP-81 1500 SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, TO_CHAR(HireDate, 'DD-MM-YYYY') HireDate, Sal, Job


2 FROM Emp
3 WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
4* TO_CHAR(HireDate, 'MM') = 9
SQL> /

ENAME HIREDATE SAL JOB


---------- ---------- ---------- ---------
MARTIN 28-09-1981 1250 SALESMAN
TURNER 08-09-1981 1500 SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, TO_CHAR(HireDate, 'Day, DD-MM-YYYY B.C.') HireDate, Sal, Job


2 FROM Emp
3 WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
4* TO_CHAR(HireDate, 'MM') = 9
SQL> /

ENAME HIREDATE SAL JOB


---------- -------------------------- ---------- ---------
MARTIN Monday , 28-09-1981 A.D. 1250 SALESMAN
TURNER Tuesday , 08-09-1981 A.D. 1500 SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 TO_CHAR(HireDate, 'Day, DD-MM, Year B.C.') HireDate
3 FROM Emp
4 WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
5* TO_CHAR(HireDate, 'MM') = 9
SQL> /

ENAME HIREDATE
---------- -----------------------------------------------------------------
MARTIN Monday , 28-09, Nineteen Eighty-One A.D.
TURNER Tuesday , 08-09, Nineteen Eighty-One A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 TO_CHAR(HireDate, 'Day, DD, Month, Year B.C.') HireDate
3 FROM Emp
4 WHERE TO_CHAR(HireDate, 'YYYY') = 1981 AND
5* TO_CHAR(HireDate, 'MM') = 9
SQL> /

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
----------
HIREDATE
-------------------------------------------------------------------------
MARTIN
Monday , 28, September, Nineteen Eighty-One A.D.

TURNER
Tuesday , 08, September, Nineteen Eighty-One A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 TO_CHAR(HireDate, 'Day, DD, Month, Year B.C.') HireDate
3* FROM Emp
4 /

ENAME
----------
HIREDATE
-------------------------------------------------------------------------
KING
Tuesday , 17, November , Nineteen Eighty-One A.D.

BLAKE
Friday , 01, May , Nineteen Eighty-One A.D.

CLARK
Tuesday , 09, June , Nineteen Eighty-One A.D.

ENAME
----------
HIREDATE
-------------------------------------------------------------------------
JONES
Thursday , 02, April , Nineteen Eighty-One A.D.

MARTIN
Monday , 28, September, Nineteen Eighty-One A.D.

ALLEN
Friday , 20, February , Nineteen Eighty-One A.D.

ENAME
----------
HIREDATE
-------------------------------------------------------------------------
TURNER
Tuesday , 08, September, Nineteen Eighty-One A.D.

JAMES
Thursday , 03, December , Nineteen Eighty-One A.D.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

WARD
Sunday , 22, February , Nineteen Eighty-One A.D.

ENAME
----------
HIREDATE
-------------------------------------------------------------------------
FORD
Thursday , 03, December , Nineteen Eighty-One A.D.

SMITH
Wednesday, 17, December , Nineteen Eighty A.D.

SCOTT
Thursday , 09, December , Nineteen Eighty-Two A.D.

ENAME
----------
HIREDATE
-------------------------------------------------------------------------
ADAMS
Wednesday, 12, January , Nineteen Eighty-Three A.D.

MILLER
Saturday , 23, January , Nineteen Eighty-Two A.D.

14 rows selected.

SQL> cl scr

SQL> SELECT
2 'The Current Hour in My Server is : '||
3 TO_CHAR(SYSDATE, 'HH') Hour
4 FROM DUAL;

HOUR
-------------------------------------
The Current Hour in My Server is : 11

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Hour in My Server is : '||
3 TO_CHAR(SYSDATE, 'HH, P.M.') Hour
4* FROM DUAL
SQL> /

HOUR
-------------------------------------------
The Current Hour in My Server is : 11, A.M.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Time in My Server is : '||
3 TO_CHAR(SYSDATE, 'HH:MI:SS P.M.') MyTime
4* FROM DUAL
SQL> /

MYTIME
------------------------------------------------
The Current Time in My Server is : 11:44:25 A.M.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Time in My Server is : '||
3 TO_CHAR(SYSDATE, 'HH" Hours" MI" Minutes" SS" Seconds" P.M.') MyTime
4* FROM DUAL
SQL> /

MYTIME
----------------------------------------------------------------------
The Current Time in My Server is : 11 Hours 45 Minutes 23 Seconds A.M.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Calender : '||
3 TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C., HH" Hours" MI" Minutes" SS"
Seconds" P.M.') MyCalender
4* FROM DUAL
SQL> /
TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C., HH" Hours" MI" Minutes" SS"
Seconds" P.M.') MyCalender
*
ERROR at line 3:
ORA-01801: date format is too long for internal buffer

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Calender : '||
3 TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C.')||
4 TO_CHAR(SYSDATE, ", HH" Hours" MI" Minutes" SS" Seconds" P.M.') MyCalender
5* FROM DUAL
SQL> /
ERROR:
ORA-01740: missing double quote in identifier

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT
2 'The Current Calender : '||
3 TO_CHAR(SYSDATE, 'Day, DD, Month, Year B.C.')||
4 TO_CHAR(SYSDATE, ', HH" Hours" MI" Minutes" SS" Seconds" P.M.') MyCalender
5* FROM DUAL
SQL> /

MYCALENDER
--------------------------------------------------------------------------------
The Current Calender : Monday , 12, July , Twenty Ten A.D., 11 Hours 48 Mi
nutes 03 Seconds A.M.

SQL> cl scr

SQL> SELECT
2 SYSDATE, TO_CHAR(SYSDATE, 'DD-RM-YYYY') Today
3 FROM DUAL;

SYSDATE TODAY
--------- ------------
12-JUL-10 12-VII -2010

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SYSDATE, TO_CHAR(SYSDATE, 'DD-rm-YYYY') Today
3* FROM DUAL
SQL> /

SYSDATE TODAY
--------- ------------
12-JUL-10 12-vii -2010

SQL> cl scr

SQL> SELECT
2 'The Seconds Since 12.00 A.M. : '||
3 TO_CHAR(SYSDATE, 'SSSSS') Seconds
4 FROM DUAL;

SECONDS
------------------------------------
The Seconds Since 12.00 A.M. : 42702

SQL> /

SECONDS
------------------------------------
The Seconds Since 12.00 A.M. : 42710

SQL> /

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SECONDS
------------------------------------
The Seconds Since 12.00 A.M. : 42713

SQL> /

SECONDS
------------------------------------
The Seconds Since 12.00 A.M. : 42716

SQL> cl scr

SQL> SELECT
2 'The Current Date is : '||
3 TO_CHAR(SYSDATE, 'DDTH, Month Year B.C.') MyDate
4 FROM DUAL;

MYDATE
--------------------------------------------------------------------------------
The Current Date is : 12TH, July Twenty Ten A.D.

SQL> /

MYDATE
--------------------------------------------------------------------------------
The Current Date is : 01ST, July Twenty Ten A.D.

SQL> /

MYDATE
--------------------------------------------------------------------------------
The Current Date is : 02ND, July Twenty Ten A.D.

SQL> /

MYDATE
--------------------------------------------------------------------------------
The Current Date is : 03RD, July Twenty Ten A.D.

SQL> /

MYDATE
--------------------------------------------------------------------------------
The Current Date is : 12TH, July Twenty Ten A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Date is : '||
3 TO_CHAR(SYSDATE, 'DDSP, Month Year B.C.') MyDate
4* FROM DUAL
SQL> /

MYDATE
--------------------------------------------------------------------------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

The Current Date is : TWELVE, July Twenty Ten A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Date is : '||
3 TO_CHAR(SYSDATE, 'DDSPTH, Month Year B.C.') MyDate
4* FROM DUAL
SQL> /

MYDATE
--------------------------------------------------------------------------------
The Current Date is : TWELFTH, July Twenty Ten A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'The Current Date is : '||
3 TO_CHAR(SYSDATE, '"Day "DDSPTH "of" MMSPTH" Month" " Year "YYYYSP B.C.')
MyDate
4* FROM DUAL
SQL> /

MYDATE
--------------------------------------------------------------------------------
The Current Date is : Day TWELFTH of SEVENTH Month Year TWO THOUSAND TEN A.D.

SQL> cl scr

SQL> SELECT
2 Ename||
3 ' You Are Hired on : '||
4 TO_CHAR(HireDate, 'Day, "Day "DDSPTH "of" Month "Month" "in The Year"
YYYYSP B.C.') EmpHire
5 FROM Emp;

EMPHIRE
--------------------------------------------------------------------------------
KING You Are Hired on : Tuesday , Day SEVENTEENTH of November Month in The Yea
r ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

BLAKE You Are Hired on : Friday , Day FIRST of May Month in The Year ONE
THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

CLARK You Are Hired on : Tuesday , Day NINTH of June Month in The Year ONE
THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

JONES You Are Hired on : Thursday , Day SECOND of April Month in The Year ON
E THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

EMPHIRE
--------------------------------------------------------------------------------

MARTIN You Are Hired on : Monday , Day TWENTY-EIGHTH of September Month in The
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Year ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

ALLEN You Are Hired on : Friday , Day TWENTIETH of February Month in The Year
ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

TURNER You Are Hired on : Tuesday , Day EIGHTH of September Month in The Year O
NE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

JAMES You Are Hired on : Thursday , Day THIRD of December Month in The Year ONE

EMPHIRE
--------------------------------------------------------------------------------
THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

WARD You Are Hired on : Sunday , Day TWENTY-SECOND of February Month in The Y
ear ONE THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

FORD You Are Hired on : Thursday , Day THIRD of December Month in The Year ONE
THOUSAND NINE HUNDRED EIGHTY-ONE A.D.

SMITH You Are Hired on : Wednesday, Day SEVENTEENTH of December Month in The Ye
ar ONE THOUSAND NINE HUNDRED EIGHTY A.D.

EMPHIRE
--------------------------------------------------------------------------------
SCOTT You Are Hired on : Thursday , Day NINTH of December Month in The Year ONE
THOUSAND NINE HUNDRED EIGHTY-TWO A.D.

ADAMS You Are Hired on : Wednesday, Day TWELFTH of January Month in The Year O
NE THOUSAND NINE HUNDRED EIGHTY-THREE A.D.

MILLER You Are Hired on : Saturday , Day TWENTY-THIRD of January Month in The
Year ONE THOUSAND NINE HUNDRED EIGHTY-TWO A.D.

14 rows selected.

SQL> cl scr

SQL> SELECT
2 'Today is : '||
3 TO_CHAR(SYSDATE, 'Day, DD, Month YYYY') MyDate
4 FROM DUAL;

MYDATE
----------------------------------------
Today is : Monday , 12, July 2010

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Today is : '||
3 TO_CHAR(SYSDATE, 'FMDay, DD, Month YYYY') MyDate
4* FROM DUAL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

MYDATE
----------------------------------------
Today is : Monday, 12, July 2010

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Today is : '||
3 TO_CHAR(SYSDATE, 'Day, DD, FMMonth YYYY') MyDate
4* FROM DUAL
SQL> /

MYDATE
----------------------------------------
Today is : Monday , 12, July 2010

SQL> cl scr

SQL> SELECT
2 '1,234.00' Num1,
3 '2,345.00' Num2,
4 '1,234.00' + '2,345.00' Result
5 FROM DUAL;
'1,234.00' + '2,345.00' Result
*
ERROR at line 4:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '1,234.00' Num1,
3 '2,345.00' Num2,
4 TO_CHAR(1234 + 2345, '9G999D99') Result
5* FROM DUAL
SQL> /

NUM1 NUM2 RESULT


-------- -------- ---------
1,234.00 2,345.00 3,579.00

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '1,234.00' Num1,
3 '2,345.00' Num2,
4 TO_NUMBER('1,234.00', '9G999D99') +
5 TO_NUMBER('2,345.00', '9G999D99') Result
6* FROM DUAL
SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

NUM1 NUM2 RESULT


-------- -------- ----------
1,234.00 2,345.00 3579

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '1,234.00' Num1,
3 '2,345.00' Num2,
4 TO_CHAR((TO_NUMBER('1,234.00', '9G999D99') +
5 TO_NUMBER('2,345.00', '9G999D99')), '9G999D99') Result
6* FROM DUAL
SQL> /

NUM1 NUM2 RESULT


-------- -------- ---------
1,234.00 2,345.00 3,579.00

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '1,234.00INR' Num1,
3 '2,345.00INR' Num2,
4 TO_NUMBER('1,234.00INR', '9G999D99L', 'NLS_CURRENCY = INR') +
5 TO_NUMBER('2,345.00INR', '9G999D99L', 'NLS_CURRENCY = INR') Result
6* FROM DUAL
SQL> /

NUM1 NUM2 RESULT


----------- ----------- ----------
1,234.00INR 2,345.00INR 3579

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '1,234.00INR' Num1,
3 '2,345.00INR' Num2,
4 TO_CHAR(
5 (TO_NUMBER('1,234.00INR', '9G999D99L', 'NLS_CURRENCY = INR') +
6 TO_NUMBER('2,345.00INR', '9G999D99L', 'NLS_CURRENCY = INR')), '9G999D99L',
'NLS_CURRENCY = INR') Result
7* FROM DUAL
SQL> /

NUM1 NUM2 RESULT


----------- ----------- -------------------
1,234.00INR 2,345.00INR 3,579.00INR

SQL> ED
Wrote file afiedt.buf

1 SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 '12-JUL-10' Today,
3 '12-JUL-10' + 3 "3 Days"
4* FROM DUAL
SQL> /
'12-JUL-10' + 3 "3 Days"
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '12-JUL-10' Today,
3 TO_DATE('12-JUL-10', 'DD-MON-YY') + 3 "3 Days"
4* FROM DUAL
SQL> /

TODAY 3 Days
--------- ---------
12-JUL-10 15-JUL-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Monday, July 12, 2010 A.D.' Today,
3 'Monday, July 12, 2010 A.D.' + 3 "3 Days"
4* FROM DUAL
SQL> /
'Monday, July 12, 2010 A.D.' + 3 "3 Days"
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Monday, July 12, 2010 A.D.' Today,
3 TO_DATE('Monday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.') + 3 "3
Days"
4* FROM DUAL
SQL> /

TODAY 3 Days
-------------------------- ---------
Monday, July 12, 2010 A.D. 15-JUL-10

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Monday, July 12, 2010 A.D.' Today,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 TO_CHAR((TO_DATE('Monday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.')
+ 3), 'Day, Month DD, YYYY B.C.') "3 Days"
4* FROM DUAL
SQL> /

TODAY 3 Days
-------------------------- ----------------------------------
Monday, July 12, 2010 A.D. Thursday , July 15, 2010 A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Monday, July 12, 2010 A.D.' Today,
3 TO_CHAR((TO_DATE('Monday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.')
+ 3), 'FMDay, Month DD, YYYY B.C.') "3 Days"
4* FROM DUAL
SQL> /

TODAY 3 Days
-------------------------- ----------------------------
Monday, July 12, 2010 A.D. Thursday, July 15, 2010 A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 'Tuesday, July 12, 2010 A.D.' Today,
3 TO_CHAR((TO_DATE('Tuesday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.')
+ 3), 'FMDay, Month DD, YYYY B.C.') "3 Days"
4* FROM DUAL
SQL> /
TO_CHAR((TO_DATE('Tuesday, July 12, 2010 A.D.', 'Day, Month DD, YYYY B.C.') + 3),
'FMDay, Month DD, YYYY B.C.') "3 Days"
*
ERROR at line 3:
ORA-01835: day of week conflicts with Julian date

SQL> SPOOL OFF


SQL> cl scr

SQL> CREATE TABLE SampTab


2 (
3 SampID NUMBER(6),
4 SampDate DATE
5 );

Table created.

SQL> INSERT INTO SampTab


2 VALUES(100000, SYSDATE);

1 row created.

SQL> INSERT INTO SampTab


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 VALUES('100001', SYSDATE);

1 row created.

SQL> INSERT INTO SampTab


2 VALUES('-100002', SYSDATE);

1 row created.

SQL> INSERT INTO SampTab


2 VALUES('100003.25', SYSDATE);

1 row created.

SQL> INSERT INTO SampTab


2 VALUES('100004-', SYSDATE);
VALUES('100004-', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('100004-', '999999MI'), SYSDATE);

1 row created.

SQL> SELECT * FROM SampTab;

SAMPID SAMPDATE
---------- ---------
100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10

SQL> INSERT INTO SampTab


2 VALUES('1,00,005', SYSDATE);
VALUES('1,00,005', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('1,00,005', '9G99G999'), SYSDATE);

1 row created.

SQL> INSERT INTO SampTab


2 VALUES('<1,00,006>', SYSDATE);
VALUES('<1,00,006>', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('<1,00,006>', '9G99G999PR'), SYSDATE);

1 row created.

SQL> SELECT * FROm SampTab;

SAMPID SAMPDATE
---------- ---------
100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10
100005 13-JUL-10
-100006 13-JUL-10

7 rows selected.

SQL> INSERT INTO SampTab


2 VALUES('1,00,007INR', SYSDATE);
VALUES('1,00,007INR', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('1,00,007INR', '9G99G999L', 'NLS_CURRENCY = INR'),
SYSDATE);

1 row created.

SQL> SELECT TO_CHAR(100008, 'XXXXXX') Hexa FROM DUAL;

HEXA
-------
186A8

SQL> INSERT INTO SampTab


2 VALUES('186A8', SYSDATE);
VALUES('186A8', SYSDATE)
*
ERROR at line 2:
ORA-01722: invalid number

SQL> INSERT INTO SampTab


2 VALUES(TO_NUMBER('186A8', 'XXXXXXXX'), SYSDATE);

1 row created.

SQL> SELECT * FROm SampTab;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID SAMPDATE
---------- ---------
100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10
100005 13-JUL-10
-100006 13-JUL-10
100007 13-JUL-10
100008 13-JUL-10

9 rows selected.

SQL> INSERT INTO SampTab


2 VALUES(100009, '13-JUL-10');

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100010, '13-JULY-10');

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100011, '13-JULY-2010');

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100012, '13JULY2010');

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100013, '13072010');
VALUES(100013, '13072010')
*
ERROR at line 2:
ORA-01861: literal does not match format string

SQL> INSERT INTO SampTab


2 VALUES(100013, '13-07-2010');
VALUES(100013, '13-07-2010')
*
ERROR at line 2:
ORA-01843: not a valid month

SQL> cl scr

SQL> SELECT * FROM SampTab;

SAMPID SAMPDATE
---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10
100005 13-JUL-10
-100006 13-JUL-10
100007 13-JUL-10
100008 13-JUL-10
100009 13-JUL-10
100010 13-JUL-10

SAMPID SAMPDATE
---------- ---------
100011 13-JUL-10
100012 13-JUL-10

13 rows selected.

SQL> SELECT * FROM SampTab


2 WHERE SampDate = SYSDATE;

no rows selected

SQL> SELECT * FROM SampTab


2 WHERE TO_CHAR(SampDate, 'DD-MON-YY') = TO_CHAR(SYSDATE, 'DD-MON-YY');

SAMPID SAMPDATE
---------- ---------
100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10
100005 13-JUL-10
-100006 13-JUL-10
100007 13-JUL-10
100008 13-JUL-10
100009 13-JUL-10
100010 13-JUL-10

SAMPID SAMPDATE
---------- ---------
100011 13-JUL-10
100012 13-JUL-10

13 rows selected.

SQL> SELECT * FROM SampTab


2 WHERE SampDate = '13-JUL-10';

SAMPID SAMPDATE
---------- ---------
100009 13-JUL-10
100010 13-JUL-10
100011 13-JUL-10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

100012 13-JUL-10

SQL> SELECT * FROM SampTab


2 WHERE TO_CHAR(SampDate, 'DD-MON-YY') = '13-JUL-10';

SAMPID SAMPDATE
---------- ---------
100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10
100005 13-JUL-10
-100006 13-JUL-10
100007 13-JUL-10
100008 13-JUL-10
100009 13-JUL-10
100010 13-JUL-10

SAMPID SAMPDATE
---------- ---------
100011 13-JUL-10
100012 13-JUL-10

13 rows selected.

SQL> cl scr

SQL> SELECT * FROM SampTab;

SAMPID SAMPDATE
---------- ---------
100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10
100005 13-JUL-10
-100006 13-JUL-10
100007 13-JUL-10
100008 13-JUL-10
100009 13-JUL-10
100010 13-JUL-10

SAMPID SAMPDATE
---------- ---------
100011 13-JUL-10
100012 13-JUL-10

13 rows selected.

SQL> INSERT INTO SampTab


2 VALUES(100013, '13-JUL-2010, 11:59:45 A.M.');
VALUES(100013, '13-JUL-2010, 11:59:45 A.M.')
*
ERROR at line 2:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORA-01830: date format picture ends before converting entire input string

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO SampTab


2 VALUES(
3 100013,
4* TO_DATE('13-JUL-2010, 11:59:45 A.M.', 'DD-MON-YYYY, HH:MI:SS P.M.'))
SQL> /

1 row created.

SQL> SELECT * FROm SampTab;

SAMPID SAMPDATE
---------- ---------
100000 13-JUL-10
100001 13-JUL-10
-100002 13-JUL-10
100003 13-JUL-10
-100004 13-JUL-10
100005 13-JUL-10
-100006 13-JUL-10
100007 13-JUL-10
100008 13-JUL-10
100009 13-JUL-10
100010 13-JUL-10

SAMPID SAMPDATE
---------- ---------
100011 13-JUL-10
100012 13-JUL-10
100013 13-JUL-10

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT SampID, TO_CHAR(SampDate, 'DD-FMMonth-YYYY, HH:MI:SS P.M.') SampDate


2* FROM SampTab
SQL> /

SAMPID SAMPDATE
---------- --------------------------------
100000 13-July-2010, 11:13:45 A.M.
100001 13-July-2010, 11:14:19 A.M.
-100002 13-July-2010, 11:14:46 A.M.
100003 13-July-2010, 11:15:23 A.M.
-100004 13-July-2010, 11:17:20 A.M.
100005 13-July-2010, 11:21:5 A.M.
-100006 13-July-2010, 11:22:42 A.M.
100007 13-July-2010, 11:25:0 A.M.
100008 13-July-2010, 11:29:15 A.M.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

100009 13-July-2010, 12:0:0 A.M.


100010 13-July-2010, 12:0:0 A.M.

SAMPID SAMPDATE
---------- --------------------------------
100011 13-July-2010, 12:0:0 A.M.
100012 13-July-2010, 12:0:0 A.M.
100013 13-July-2010, 11:59:45 A.M.

14 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO SampTab


2* VALUES(100014, '12:04:45 P.M.')
SQL> /
VALUES(100014, '12:04:45 P.M.')
*
ERROR at line 2:
ORA-01843: not a valid month

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO SampTab


2* VALUES(100014, TO_DATE('12:04:45 P.M.', 'HH:MI:SS A.M.'))
SQL> /

1 row created.

SQL> SELECT
2 SampID, TO_CHAR(SampDate, 'DD-MON-YYYY, HH:MI:SS A.M.') SampDate
3 FROM SampTab;

SAMPID SAMPDATE
---------- --------------------------
100000 13-JUL-2010, 11:13:45 A.M.
100001 13-JUL-2010, 11:14:19 A.M.
-100002 13-JUL-2010, 11:14:46 A.M.
100003 13-JUL-2010, 11:15:23 A.M.
-100004 13-JUL-2010, 11:17:20 A.M.
100005 13-JUL-2010, 11:21:05 A.M.
-100006 13-JUL-2010, 11:22:42 A.M.
100007 13-JUL-2010, 11:25:00 A.M.
100008 13-JUL-2010, 11:29:15 A.M.
100009 13-JUL-2010, 12:00:00 A.M.
100010 13-JUL-2010, 12:00:00 A.M.

SAMPID SAMPDATE
---------- --------------------------
100011 13-JUL-2010, 12:00:00 A.M.
100012 13-JUL-2010, 12:00:00 A.M.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

100013 13-JUL-2010, 11:59:45 A.M.


100014 01-JUL-2010, 12:04:45 P.M.

15 rows selected.

SQL> cl scr

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT * FROM SampTAB;

no rows selected

SQL> INSERT INTO SampTab


2 VALUES(100000, SYSDATE);

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100001, '13-JUL-2010');

1 row created.

SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate


2 FROM SampTab;

SAMPID SAMPDATE
---------- ---------------------
100000 13-JUL-2010, 21, A.D.
100001 13-JUL-2010, 21, A.D.

SQL> INSERT INTO SampTab


2 VALUES(100002, '13-JUL-2010, B.C.');
VALUES(100002, '13-JUL-2010, B.C.')
*
ERROR at line 2:
ORA-01830: date format picture ends before converting entire input string

SQL> INSERT INTO SampTab


2 VALUES(100002, TO_DATE('13-JUL-2010, B.C.', 'DD-MON-YYYY, A.D'));
VALUES(100002, TO_DATE('13-JUL-2010, B.C.', 'DD-MON-YYYY, A.D'))
*
ERROR at line 2:
ORA-01821: date format not recognized

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO SampTab


2* VALUES(100002, TO_DATE('13-JUL-2010, B.C.', 'DD-MON-YYYY, A.D.'))
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

1 row created.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate
4* FROM SampTab
SQL> /

SAMPID SAMPDATE
---------- ---------------------
100000 13-JUL-2010, 21, A.D.
100001 13-JUL-2010, 21, A.D.
100002 13-JUL-2010, 21, B.C.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate,
4 TO_CHAR(SampDate, 'J') Julian
5* FROM SampTab
SQL> /

SAMPID SAMPDATE JULIAN


---------- --------------------- -------
100000 13-JUL-2010, 21, A.D. 2455391
100001 13-JUL-2010, 21, A.D. 2455391
100002 13-JUL-2010, 21, B.C. 0987099

SQL> INSERT INTO SampTab


2 VALUES(100003, '2455391');
VALUES(100003, '2455391')
*
ERROR at line 2:
ORA-01861: literal does not match format string

SQL> INSERT INTO SampTab


2 VALUES(100003, TO_DATE('2455391', 'J'));

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100004, TO_DATE('0987099', 'J'));

1 row created.

SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 TO_CHAR(SampDate, 'J') Julian


5 FROM SampTab;

SAMPID SAMPDATE JULIAN


---------- --------------------- -------
100000 13-JUL-2010, 21, A.D. 2455391
100001 13-JUL-2010, 21, A.D. 2455391
100002 13-JUL-2010, 21, B.C. 0987099
100003 13-JUL-2010, 21, A.D. 2455391
100004 13-JUL-2010, 21, B.C. 0987099

SQL> INSERT INTO SampTab


2 VALUES(100005, TO_DATE('1', 'J'));

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100005, TO_DATE('0', 'J'));
VALUES(100005, TO_DATE('0', 'J'))
*
ERROR at line 2:
ORA-01854: julian date must be between 1 and 5373484

SQL> INSERT INTO SampTab


2 VALUES(100005, TO_DATE('5373484', 'J'));

1 row created.

SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate,
4 TO_CHAR(SampDate, 'J') Julian
5 FROM SampTab;
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected

SQL> DELETE FROM SampTab


2 WHERE SampID = 100000;

1 row deleted.

SQL> DELETE FROM SampTab


2 WHERE SampID = 100001;

1 row deleted.

SQL> DELETE FROM SampTab


2 WHERE SampID = 100002;

1 row deleted.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate
4 FROM SampTab;
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected

SQL> DELETE FROM SampTab


2 WHERE SampID = 100003;

1 row deleted.

SQL> DELETE FROM SampTab


2 WHERE SampID = 100004;

1 row deleted.

SQL> SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY, CC, B.C.') SampDate
4 FROM SampTab;
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM SampTAB;

no rows selected

SQL> INSERT INTO SampTab


2 VALUES(100005, TO_DATE('1', 'J'));

1 row created.

SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY A.D.') SampDate


2 FROM SampTab;

SAMPID SAMPDATE
---------- ----------------
100005 01-JAN-4712 B.C.

SQL> INSERT INTO SampTab


2 VALUES(100005, TO_DATE('5373484', 'J'));

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY A.D.') SampDate


2 FROM SampTab;

SAMPID SAMPDATE
---------- ----------------
100005 01-JAN-4712 B.C.
100005 31-DEC-9999 A.D.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SampID,
3 TO_CHAR(SampDate, 'DD-MON-YYYY A.D. ') SampDate,
4 TO_CHAR(SampDate, 'SCC') CurrentCentury
5* FROM SampTab
SQL> /
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 SampID,
3 TO_CHAR(SampDate, 'SCC') CurrentCentury
4* FROM SampTab
SQL> /
ERROR:
ORA-01801: date format is too long for internal buffer

no rows selected

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> DESC SampTAB;


Name Null? Type
----------------------------------------- -------- ----------------------------
SAMPID NUMBER(6)
SAMPDATE DATE

SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

EMP_SUM TABLE
SUBTOTALS TABLE
SAMPTAB TABLE
MYAUDIT TABLE
TRAPPEDMESSAGES TABLE
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
DUMMY TABLE
CUSTOMER TABLE

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
ORD TABLE
ITEM TABLE
PRODUCT TABLE
PRICE TABLE
CUMSUM VIEW
INSERTDEPT VIEW
EMPSALINFO VIEW
ORGDESIGNATIONS VIEW
DEPTSALSUMMARY VIEW
EMPJOBINFO VIEW
EMPTOTSALINFO VIEW

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
EMPLOYEES VIEW
EMPMANAGERS VIEW
EMPGRADES VIEW
EMP_SUMV VIEW
EMPDATA VIEW
EMPACCOUNTS VIEW
EDEPT30 VIEW
SALES VIEW
EMPINFO VIEW
EMPLOYEE SYNONYM

32 rows selected.

SQL> SELECT * FROM SampTAB;

no rows selected

SQL> cl scr

SQL> INSERT INTO SampTab


2 VALUES(100000, '14-JUL-10');

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100001, '14-JUL-98');

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO SampTab


2 VALUES(100002, '14-JUL-10');

1 row created.

SQL> INSERT INTO SampTab


2 VALUES(100003, '14-JUL-98');

1 row created.

SQL> SELECT * FROM SampTab;

SAMPID SAMPDATE
---------- ---------
100000 14-JUL-10
100001 14-JUL-98
100002 14-JUL-10
100003 14-JUL-98

SQL> SELECT SampID, TO_CHAR(SampDate, 'DD-MON-YYYY') SampDate


2 FROM SampTab;

SAMPID SAMPDATE
---------- -----------
100000 14-JUL-2010
100001 14-JUL-1998
100002 14-JUL-2110
100003 14-JUL-2098

SQL> cl scr

SQL> SELECT Ename, HireDate


2 FROM Emp
3 WHERE Ename = 'SMITH';

ENAME HIREDATE
---------- ---------
SMITH 17-DEC-80

SQL> SELECT
2 Ename,
3 Hiredate,
4 TO_CHAR(ADD_MONTHS(Hiredate, 1),
5 'DD-MON-YYYY') "NEXT MONTH"
6 FROM Emp
7 WHERE Ename = 'SMITH';

ENAME HIREDATE NEXT MONTH


---------- --------- -----------
SMITH 17-DEC-80 17-JAN-1981

SQL> SELECT
2 CONCAT(CONCAT(Ename, ' is a '), Job) Designation
3 FROM Emp
4 WHERE Empno = 7900;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DESIGNATION
-------------------------
JAMES is a CLERK

SQL> cl scr

SQL> SELECT
2 '27-OCT-92' SampDate,
3 TRUNC(TO_DATE('27-OCT-92' , 'DD-MON-YY'),
4 'YEAR') "NEW YEAR"
5 FROM DUAL;

SAMPDATE NEW YEAR


--------- ---------
27-OCT-92 01-JAN-92

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '27-OCT-92' SampDate,
3 ADD_MONTHS('27-OCT-92', -10) "NEW YEAR"
4* FROM DUAL
SQL> /

SAMPDATE NEW YEAR


--------- ---------
27-OCT-92 27-DEC-91

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '27-OCT-92' SampDate,
3 ADD_MONTHS('27-OCT-92', -10) + 5 "NEW YEAR"
4* FROM DUAL
SQL> /

SAMPDATE NEW YEAR


--------- ---------
27-OCT-92 01-JAN-92

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '27-OCT-92' SampDate,
3 ADD_MONTHS('27-OCT-92', -9) "NEW YEAR"
4* FROM DUAL
SQL> /

SAMPDATE NEW YEAR


--------- ---------
27-OCT-92 27-JAN-92

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '27-OCT-92' SampDate,
3 ADD_MONTHS('27-OCT-92', -9) - 26 "NEW YEAR"
4* FROM DUAL
SQL> /

SAMPDATE NEW YEAR


--------- ---------
27-OCT-92 01-JAN-92

SQL> cl scr

SQL> SELECT Ename, HireDate


2 FROM Emp
3 WHERE Ename = 'MARTIN';

ENAME HIREDATE
---------- ---------
MARTIN 28-SEP-81

SQL> cl scr

SQL> SELECT
2 Ename,
3 Hiredate,
4 TO_CHAR(ADD_MONTHS(LAST_DAY(Hiredate) , 5), 'DD-MON-YYYY') "FIVE MONTHS"
5 FROM Emp
6 WHERE Ename = 'MARTIN';

ENAME HIREDATE FIVE MONTHS


---------- --------- -----------
MARTIN 28-SEP-81 28-FEB-1982

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 Hiredate,
4 TO_CHAR(ADD_MONTHS(LAST_DAY(Hiredate) , 6), 'DD-MON-YYYY') "FIVE MONTHS"
5 FROM Emp
6* WHERE Ename = 'MARTIN'
SQL> /

ENAME HIREDATE FIVE MONTHS


---------- --------- -----------
MARTIN 28-SEP-81 31-MAR-1982

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 Hiredate,
4 TO_CHAR(ADD_MONTHS(Hiredate , 6), 'DD-MON-YYYY') "FIVE MONTHS"
5 FROM Emp
6* WHERE Ename = 'MARTIN'
SQL> /

ENAME HIREDATE FIVE MONTHS


---------- --------- -----------
MARTIN 28-SEP-81 28-MAR-1982

SQL> cl scr

SQL> SELECT
2 Ename,
3 Hiredate,
4 TO_CHAR(ADD_MONTHS(LAST_DAY(Hiredate) + 1 , 5), 'DD-MON-YYYY') "FIVE
MONTHS"
5 FROM Emp
6 WHERE Ename = 'MARTIN';

ENAME HIREDATE FIVE MONTHS


---------- --------- -----------
MARTIN 28-SEP-81 01-MAR-1982

SQL> cl scr

SQL> SELECT
2 '02-02-1995' Date1,
3 '01-01-1995' Date2,
4 MONTHS_BETWEEN(
5 TO_DATE('02-02-1995' , 'MM-DD-YYYY'),
6 TO_DATE('01-01-1995', 'MM-DD-YYYY')) MONTHS
7 FROM Dual;

DATE1 DATE2 MONTHS


---------- ---------- ----------
02-02-1995 01-01-1995 1.03225806

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '02-02-1995' Date1,
3 '01-01-1995' Date2,
4 MONTHS_BETWEEN(
5 TO_DATE('02-02-1995' , 'DD-MM-YYYY'),
6 TO_DATE('01-01-1995', 'DD-MM-YYYY')) MONTHS
7* FROM Dual
SQL> /

DATE1 DATE2 MONTHS


---------- ---------- ----------
02-02-1995 01-01-1995 1.03225806

SQL> cl scr

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 '15-MAR-98' Date1,
3 NEXT_DAY('15-MAR-98', 'TUESDAY') "Next Day"
4 FROM DUAL;

DATE1 Next Day


--------- ---------
15-MAR-98 17-MAR-98

SQL> cl scr

SQL> SELECT
2 Ename,
3 NVL(TO_CHAR(Comm), 'Not Applicable') "Commission"
4 FROM Emp
5 WHERE Deptno = 30;

ENAME Commission
---------- ----------------------------------------
BLAKE Not Applicable
MARTIN 1400
ALLEN 300
TURNER 0
JAMES Not Applicable
WARD 500

6 rows selected.

SQL> cl scr

SQL> SELECT
2 '27-OCT-92' MyDate,
3 ROUND(TO_DATE('27-OCT-92', 'DD-MON-YY'),
4 'YEAR') "New Year"
5 FROM DUAL;

MYDATE New Year


--------- ---------
27-OCT-92 01-JAN-93

SQL> cl scr

SQL> SELECT
2 Ename,
3 HireDate,
4 TO_CHAR(HireDate, 'MONTH DD, YYYY')
5 FROM Emp
6 WHERE Ename = 'BLAKE';

ENAME HIREDATE TO_CHAR(HIREDATE,'


---------- --------- ------------------
BLAKE 01-MAY-81 MAY 01, 1981

SQL> ED
Wrote file afiedt.buf

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT
2 Ename,
3 HireDate,
4 TO_CHAR(HireDate, 'FMMONTH DD, YYYY')
5 FROM Emp
6* WHERE Ename = 'BLAKE'
SQL> /

ENAME HIREDATE TO_CHAR(HIREDATE,'


---------- --------- ------------------
BLAKE 01-MAY-81 MAY 1, 1981

SQL> cl scr

SQL> SELECT
2 '27-OCT-98' Date1,
3 TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-RR'), 'YYYY') YEAR
4 FROM DUAL;

DATE1 YEAR
--------- ----
27-OCT-98 1998

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '27-OCT-98' Date1,
3 TO_CHAR('27-OCT-98', 'DD-MON-RRRR') YEAR
4* FROM DUAL
SQL> /
TO_CHAR('27-OCT-98', 'DD-MON-RRRR') YEAR
*
ERROR at line 3:
ORA-01722: invalid number

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '27-OCT-98' Date1,
3 TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-YY'), 'DD-MON-RRRR') YEAR
4* FROM DUAL
SQL> /

DATE1 YEAR
--------- -----------
27-OCT-98 27-OCT-2098

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '27-OCT-98' Date1,
3 TO_CHAR(TO_DATE('27-OCT-98', 'DD-MON-RR'), 'DD-MON-RRRR') YEAR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4* FROM DUAL
SQL> /

DATE1 YEAR
--------- -----------
27-OCT-98 27-OCT-1998

SQL> cl scr

SQL> SELECT
2 TO_CHAR(SYSDATE, 'FMDDTH')||' of '||TO_CHAR( SYSDATE, 'Month')||' ,
'||TO_CHAR (SYSDATE, 'YYYY') Idea
3 FROM DUAL;

IDEA
------------------------
14TH of July , 2010

SQL> cl scr

SQL> SELECT
2 TO_CHAR(SYSDATE, 'FMDAY' )||'''s Special' "MENU"
3 FROM DUAL;

MENU
-------------------
WEDNESDAY's Special

SQL> cl scr

SQL> SELECT
2 TO_CHAR(TO_DATE('&GiveNumber', 'J'), 'JSP') "Spelled Number"
3 FROM DUAL;
Enter value for givenumber: 1

Spe
---
ONE

SQL> /
Enter value for givenumber: 1234

Spelled Number
------------------------------------
ONE THOUSAND TWO HUNDRED THIRTY-FOUR

SQL> /
Enter value for givenumber: 256546

Spelled Number
-----------------------------------------------------
TWO HUNDRED FIFTY-SIX THOUSAND FIVE HUNDRED FORTY-SIX

SQL> cl scr

SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 'SATISH KUMAR YELLANKI' OrgName,


3 TRANSLATE('SATISH KUMAR YELLANKI',
4 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
5 '1234567890!@#$%^&*()-=_+;,.') EncryptedName
6 FROM DUAL;

ORGNAME ENCRYPTEDNAME
--------------------- ---------------------
SATISH KUMAR YELLANKI (1)9(8 !-#1* ;5@@1$!9

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 '(1)9(8 !-#1* ;5@@1$!9' EncryptName,
3 TRANSLATE('(1)9(8 !-#1* ;5@@1$!9',
4 '1234567890!@#$%^&*()-=_+;,.',
5 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') DecryptedName
6* FROM DUAL
SQL> /

ENCRYPTNAME DECRYPTEDNAME
--------------------- ---------------------
(1)9(8 !-#1* ;5@@1$!9 SATISH KUMAR YELLANKI

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT AVG(Sal) FROM Emp;

AVG(SAL)
----------
2073.21429

SQL> ED
Wrote file afiedt.buf

1* SELECT TRUNC(AVG(Sal), 2) AvgSal FROM Emp


SQL> /

AVGSAL
----------
2073.21

SQL> SELECT AVG(Sal), AVG(DISTINCT Sal) FROM Emp;

AVG(SAL) AVG(DISTINCTSAL)
---------- ----------------
2073.21429 2064.58333

SQL> cl scr

SQL> SELECT Ename, AVG(Sal) FROM Emp;


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SELECT Ename, AVG(Sal) FROM Emp


*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> cl scr

SQL> SELECT AVG(Comm), AVG(Sal)


2 FROM EMp;

AVG(COMM) AVG(SAL)
---------- ----------
550 2073.21429

SQL> ED
Wrote file afiedt.buf

1 SELECT AVG(Comm), AVG(NVL(Comm, 0))


2* FROM EMp
SQL> /

AVG(COMM) AVG(NVL(COMM,0))
---------- ----------------
550 157.142857

SQL> cl scr

SQL> SELECT SUM(Sal) FROM Emp;

SUM(SAL)
----------
29025

SQL> SELECT SUM(Sal), SUM(Comm) FROM Emp;

SUM(SAL) SUM(COMM)
---------- ----------
29025 2200

SQL> SELECT SUM(Sal), AVG(Sal) FROM Emp;

SUM(SAL) AVG(SAL)
---------- ----------
29025 2073.21429

SQL> cl scr

SQL> SELECT SUM(Sal)


2 FROM Emp
3 WHERE Deptno = &GDeptno;
Enter value for gdeptno: 10

SUM(SAL)
----------
8750
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT SUM(Sal), AVG(Sal)


2 FROM Emp
3* WHERE Deptno = &GDeptno
SQL> /
Enter value for gdeptno: 10

SUM(SAL) AVG(SAL)
---------- ----------
8750 2916.66667

SQL> cl scr

SQL> SELECT MAX(Sal), MIN(Sal)


2 FROM Emp;

MAX(SAL) MIN(SAL)
---------- ----------
5000 800

SQL> SELECT Ename, MAX(Sal)


2 FROM Emp;
SELECT Ename, MAX(Sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> SELECT MAX(Ename), MIN(Ename) FROM Emp;

MAX(ENAME) MIN(ENAME)
---------- ----------
WARD ADAMS

SQL> SELECT MAX(HireDate), MIN(HireDate) FROM Emp;

MAX(HIRED MIN(HIRED
--------- ---------
12-JAN-83 17-DEC-80

SQL> cl scr

SQL> SELECT MAX(Comm), MIN(Comm) FROM Emp;

MAX(COMM) MIN(COMM)
---------- ----------
1400 0

SQL> cl scr

SQL> SELECT COUNT(*) FROM Emp;

COUNT(*)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------
14

SQL> SELECT COUNT(Empno) FROM Emp;

COUNT(EMPNO)
------------
14

SQL> SELECT COUNT(MGR) FROM Emp;

COUNT(MGR)
----------
13

SQL> SELECT COUNT(Comm) FROM Emp;

COUNT(COMM)
-----------
4

SQL> cl scr

SQL> SELECT Deptno


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO
----------
10
20
30

SQL> SELECT DISTINCT Deptno FROM Emp;

DEPTNO
----------
10
20
30

SQL> cl scr

SQL> SELECT Job FROM Emp


2 GROUP BY Job;

JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN

SQL> ed
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT SUM(Sal)
2* FROM Emp
3 /

SUM(SAL)
----------
29025

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUM(Sal)


2* FROM Emp
SQL> /
SELECT Deptno, SUM(Sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUM(Sal)


2 FROM Emp
3* GROUP BY Deptno
SQL> /

DEPTNO SUM(SAL)
---------- ----------
10 8750
20 10875
30 9400

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUM(Sal)


2 FROM Emp
3 WHERE Deptno <> 10
4* GROUP BY Deptno
SQL> /

DEPTNO SUM(SAL)
---------- ----------
20 10875
30 9400

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT SUM(Sal)
2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3* GROUP BY Deptno
SQL> /

SUM(SAL)
----------
8750
10875
9400

SQL> cl scr

SQL> SELECT TO_CHAR(HireDate, 'YYYY') Year


2 FROM Emp;

YEAR
----
1981
1981
1981
1981
1981
1981
1981
1981
1981
1981
1980

YEAR
----
1982
1983
1982

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT TO_CHAR(HireDate, 'YYYY') Year


2 FROM Emp
3* GROUP BY TO_CHAR(HireDate, 'YYYY')
SQL> /

YEAR
----
1980
1981
1982
1983

SQL> ED
Wrote file afiedt.buf

1 SELECT TO_CHAR(HireDate, 'Month') Year


2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3* GROUP BY TO_CHAR(HireDate, 'Month')


SQL> /

YEAR
---------
April
December
February
January
June
May
November
September

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT TO_CHAR(HireDate, 'Month') Year


2 FROM Emp
3 GROUP BY TO_CHAR(HireDate, 'Month')
4* ORDER BY TO_CHAR(HireDate, 'Month')
SQL> /

YEAR
---------
April
December
February
January
June
May
November
September

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT TO_CHAR(HireDate, 'Month') Year


2 FROM Emp
3 GROUP BY TO_CHAR(HireDate, 'Month')
4* ORDER BY TO_CHAR(HireDate, 'MM')
SQL> /
ORDER BY TO_CHAR(HireDate, 'MM')
*
ERROR at line 4:
ORA-00979: not a GROUP BY expression

SQL> SELECT Deptno FROM Emp


2 GROUP BY Deptno;

DEPTNO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------
10
20
30

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno FROM Emp


2* GROUP BY Deptno DESC
SQL> /
GROUP BY Deptno DESC
*
ERROR at line 2:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno FROM Emp


2 GROUP BY Deptno
3* ORDER BY Deptno DESC
SQL> /

DEPTNO
----------
30
20
10

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno FROM Emp


2 GROUP BY Deptno
3* ORDER BY Job DESC
SQL> /
ORDER BY Job DESC
*
ERROR at line 3:
ORA-00979: not a GROUP BY expression

SQL> cl scr

SQL> SELECT TO_CHAR(HireDate, 'Month') Month


2 FROM Emp
3 GROUP BY TO_CHAR(HireDate, 'Month');

MONTH
---------
April
December
February
January
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

June
May
November
September

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 TO_CHAR(HireDate, 'MM') "S.No",
3 TO_CHAR(HireDate, 'Month') Month
4 FROM Emp
5 GROUP BY
6 TO_CHAR(HireDate, 'MM'),
7* TO_CHAR(HireDate, 'Month')
SQL> /

S. MONTH
-- ---------
01 January
02 February
04 April
05 May
06 June
09 September
11 November
12 December

8 rows selected.

SQL> cl scr

SQL> SELECT Deptno, Job


2 FROM Emp
3 GROUP BY Deptno;
SELECT Deptno, Job
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job


2 FROM Emp
3* GROUP BY Deptno, Job
SQL> /

DEPTNO JOB
---------- ---------
10 CLERK
10 MANAGER
10 PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

20 CLERK
20 ANALYST
20 MANAGER
30 CLERK
30 MANAGER
30 SALESMAN

9 rows selected.

SQL> SELECT DISTINCT Deptno, Job FROM Emp;

DEPTNO JOB
---------- ---------
10 CLERK
10 MANAGER
10 PRESIDENT
20 ANALYST
20 CLERK
20 MANAGER
30 CLERK
30 MANAGER
30 SALESMAN

9 rows selected.

SQL> SELECT Deptno, AVG(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO AVG(SAL)
---------- ----------
10 2916.66667
20 2175
30 1566.66667

SQL> SELECT DISTINCT Deptno, AVG(Sal)


2 FROM Emp;
SELECT DISTINCT Deptno, AVG(Sal)
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> cl scr

SQL> SELECT Deptno, AVG(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO AVG(SAL)
---------- ----------
10 2916.66667
20 2175
30 1566.66667

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT Deptno, AVG(Sal)


2 FROM Emp
3 GROUP BY Deptno
4* ORDER BY AVG(Sal)
SQL> /

DEPTNO AVG(SAL)
---------- ----------
30 1566.66667
20 2175
10 2916.66667

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, AVG(Sal) SalAvg


2 FROM Emp
3 GROUP BY Deptno
4* ORDER BY SalAvg
SQL> ./
SP2-0042: unknown command "./" - rest of line ignored.
SQL> /

DEPTNO SALAVG
---------- ----------
30 1566.66667
20 2175
10 2916.66667

SQL> cl scr

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> cl scr

SQL> SELECT SUM(Sal) FROM Emp;

SUM(SAL)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------
29025

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
---------- ----------
10 8750
20 10875
30 9400

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 TO_CHAR(HireDate, 'YYYY') Year,
3 Deptno, Job, SUM(Sal)
4 FROM Emp
5 GROUP BY
6 Deptno,
7 Job,
8* TO_CHAR(HireDate, 'YYYY')
SQL> /

YEAR DEPTNO JOB SUM(SAL)


---- ---------- --------- ----------
1982 10 CLERK 1300
1981 10 MANAGER 2450
1981 10 PRESIDENT 5000
1980 20 CLERK 800
1983 20 CLERK 1100
1981 20 ANALYST 3000
1982 20 ANALYST 3000
1981 20 MANAGER 2975
1981 30 CLERK 950
1981 30 MANAGER 2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1981 30 SALESMAN 5600

11 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 TO_CHAR(HireDate, 'YYYY') Year,
3 TO_CHAR(HireDate, 'Q') Quarter,
4 Deptno, Job, SUM(Sal)
5 FROM Emp
6 GROUP BY
7 Deptno,
8 Job,
9 TO_CHAR(HireDate, 'YYYY'),
10* TO_CHAR(HireDate, 'Q')
SQL> /

YEAR Q DEPTNO JOB SUM(SAL)


---- - ---------- --------- ----------
1982 1 10 CLERK 1300
1981 2 10 MANAGER 2450
1981 4 10 PRESIDENT 5000
1980 4 20 CLERK 800
1983 1 20 CLERK 1100
1981 4 20 ANALYST 3000
1982 4 20 ANALYST 3000
1981 2 20 MANAGER 2975
1981 4 30 CLERK 950
1981 2 30 MANAGER 2850
1981 1 30 SALESMAN 2850

YEAR Q DEPTNO JOB SUM(SAL)


---- - ---------- --------- ----------
1981 3 30 SALESMAN 2750

12 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 TO_CHAR(HireDate, 'YYYY') Year,
3 TO_CHAR(HireDate, 'Q') Quarter,
4 TO_CHAR(HireDate, 'FMMonth') Month,
5 Deptno, Job, SUM(Sal)
6 FROM Emp
7 GROUP BY
8 Deptno,
9 Job,
10 TO_CHAR(HireDate, 'YYYY'),
11 TO_CHAR(HireDate, 'Q'),
12* TO_CHAR(HireDate, 'FMMonth')
SQL> /

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

YEAR Q MONTH DEPTNO JOB SUM(SAL)


---- - --------- ---------- --------- ----------
1982 1 January 10 CLERK 1300
1981 2 June 10 MANAGER 2450
1981 4 November 10 PRESIDENT 5000
1980 4 December 20 CLERK 800
1983 1 January 20 CLERK 1100
1981 4 December 20 ANALYST 3000
1982 4 December 20 ANALYST 3000
1981 2 April 20 MANAGER 2975
1981 4 December 30 CLERK 950
1981 2 May 30 MANAGER 2850
1981 1 February 30 SALESMAN 2850

YEAR Q MONTH DEPTNO JOB SUM(SAL)


---- - --------- ---------- --------- ----------
1981 3 September 30 SALESMAN 2750

12 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 TO_CHAR(HireDate, 'YYYY') Year,
3 TO_CHAR(HireDate, 'Q') Quarter,
4 TO_CHAR(HireDate, 'FMMonth') Month,
5 TO_CHAR(HireDate, 'W') Week,
6 Deptno, Job, SUM(Sal)
7 FROM Emp
8 GROUP BY
9 Deptno,
10 Job,
11 TO_CHAR(HireDate, 'YYYY'),
12 TO_CHAR(HireDate, 'Q'),
13 TO_CHAR(HireDate, 'FMMonth'),
14* TO_CHAR(HireDate, 'W')
SQL> /

YEAR Q MONTH W DEPTNO JOB SUM(SAL)


---- - --------- - ---------- --------- ----------
1982 1 January 4 10 CLERK 1300
1981 2 June 2 10 MANAGER 2450
1981 4 November 3 10 PRESIDENT 5000
1980 4 December 3 20 CLERK 800
1983 1 January 2 20 CLERK 1100
1981 4 December 1 20 ANALYST 3000
1982 4 December 2 20 ANALYST 3000
1981 2 April 1 20 MANAGER 2975
1981 4 December 1 30 CLERK 950
1981 2 May 1 30 MANAGER 2850
1981 1 February 3 30 SALESMAN 1600

YEAR Q MONTH W DEPTNO JOB SUM(SAL)


---- - --------- - ---------- --------- ----------
1981 1 February 4 30 SALESMAN 1250
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1981 3 September 2 30 SALESMAN 1500


1981 3 September 4 30 SALESMAN 1250

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 TO_CHAR(HireDate, 'YYYY') Year,
3 TO_CHAR(HireDate, 'Q') Quarter,
4 TO_CHAR(HireDate, 'FMMonth') Month,
5 TO_CHAR(HireDate, 'W') Week,
6 TO_CHAR(HireDate, 'FMDay') Day,
7 Deptno, Job, SUM(Sal)
8 FROM Emp
9 GROUP BY
10 Deptno,
11 Job,
12 TO_CHAR(HireDate, 'YYYY'),
13 TO_CHAR(HireDate, 'Q'),
14 TO_CHAR(HireDate, 'FMMonth'),
15 TO_CHAR(HireDate, 'W'),
16* TO_CHAR(HireDate, 'FMDay')
SQL> /

YEAR Q MONTH W DAY DEPTNO JOB SUM(SAL)


---- - --------- - --------- ---------- --------- ----------
1982 1 January 4 Saturday 10 CLERK 1300
1981 2 June 2 Tuesday 10 MANAGER 2450
1981 4 November 3 Tuesday 10 PRESIDENT 5000
1980 4 December 3 Wednesday 20 CLERK 800
1983 1 January 2 Wednesday 20 CLERK 1100
1981 4 December 1 Thursday 20 ANALYST 3000
1982 4 December 2 Thursday 20 ANALYST 3000
1981 2 April 1 Thursday 20 MANAGER 2975
1981 4 December 1 Thursday 30 CLERK 950
1981 2 May 1 Friday 30 MANAGER 2850
1981 1 February 3 Friday 30 SALESMAN 1600

YEAR Q MONTH W DAY DEPTNO JOB SUM(SAL)


---- - --------- - --------- ---------- --------- ----------
1981 1 February 4 Sunday 30 SALESMAN 1250
1981 3 September 2 Tuesday 30 SALESMAN 1500
1981 3 September 4 Monday 30 SALESMAN 1250

14 rows selected.

SQL> cl scr

SQL> SELECT
2 Deptno,
3 AVG(Sal)
4 FROM Emp
5 GROUP BY Deptno
6 HAVING MAX(Sal) > 2900;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DEPTNO AVG(SAL)
---------- ----------
10 2916.66667
20 2175

SQL> SELECT
2 Deptno
3 FROM Emp
4 /

DEPTNO
----------
10
30
10
20
30
30
30
30
30
20
20

DEPTNO
----------
20
20
10

14 rows selected.

SQL> SELECT
2 Deptno
3 FROM Emp
4 GROUP BY Deptno
5 /

DEPTNO
----------
10
20
30

SQL> SELECT
2 Deptno,
3 AVG(Sal)
4 FROM Emp
5 GROUP BY Deptno
6 /

DEPTNO AVG(SAL)
---------- ----------
10 2916.66667
20 2175
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

30 1566.66667

SQL> SELECT Deptno, MAX(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO MAX(SAL)
---------- ----------
10 5000
20 3000
30 2850

SQL> SPOOL OFF

SQL> cl scr

SQL> SELECT
2 Deptno,
3 AVG(Sal)
4 FROM Emp
5 GROUP BY Deptno
6 HAVING MAX(Sal) > 2900;

DEPTNO AVG(SAL)
---------- ----------
10 2916.66667
20 2175

SQL> cl scr

SQL> SELECT
2 Job,
3 SUM(Sal) Payroll
4 FROM Emp
5 WHERE Job NOT LIKE 'SALES%'
6 GROUP BY Job
7 HAVING SUM(Sal) > 5000
8 ORDER BY SUM(Sal);

JOB PAYROLL
--------- ----------
ANALYST 6000
MANAGER 8275

SQL> SELECT
2 Job
3 FROM Emp
4 /

JOB
---------
PRESIDENT
MANAGER
MANAGER
MANAGER
SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SALESMAN
SALESMAN
CLERK
SALESMAN
ANALYST
CLERK

JOB
---------
ANALYST
CLERK
CLERK

14 rows selected.

SQL> SELECT
2 Job
3 FROM Emp
4 WHERE Job NOT LIKE 'SALES%'
5 /

JOB
---------
PRESIDENT
MANAGER
MANAGER
MANAGER
CLERK
ANALYST
CLERK
ANALYST
CLERK
CLERK

10 rows selected.

SQL> SELECT
2 Job
3 FROM Emp
4 WHERE Job NOT LIKE 'SALES%'
5 GROUP BY Job
6 /

JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT

SQL> SELECT
2 Job,
3 SUM(Sal) Payroll
4 FROM Emp
5 WHERE Job NOT LIKE 'SALES%'
6 GROUP BY Job
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 /

JOB PAYROLL
--------- ----------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000

SQL> cl scr

SQL> SELECT
2 Deptno,
3 MIN(Sal),
4 MAX(Sal)
5 FROM Emp
6 WHERE Job = 'CLERK'
7 GROUP BY Deptno
8 HAVING MIN(Sal) < 1000;

DEPTNO MIN(SAL) MAX(SAL)


---------- ---------- ----------
20 800 1100
30 950 950

SQL> cl scr

SQL> SELECT
2 Deptno,
3 SUM(Sal)
4 FROM Emp
5 GROUP BY Deptno
6 HAVING COUNT(Deptno) > 3;

DEPTNO SUM(SAL)
---------- ----------
20 10875
30 9400

SQL> cl scr

SQL> SELECT
2 Deptno,
3 AVG(Sal),
4 SUM(Sal)
5 FROM Emp
6 GROUP BY Deptno
7 HAVING AVG (Sal) > 2500;

DEPTNO AVG(SAL) SUM(SAL)


---------- ---------- ----------
10 2916.66667 8750

SQL> cl scr

SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 Deptno,
3 Job,
4 SUM(Sal),
5 AVG(Sal)
6 FROM Emp
7 GROUP BY Deptno, Job
8 HAVING AVG(Sal) > 2500;

DEPTNO JOB SUM(SAL) AVG(SAL)


---------- --------- ---------- ----------
10 PRESIDENT 5000 5000
20 ANALYST 6000 3000
20 MANAGER 2975 2975
30 MANAGER 2850 2850

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 SUM(Sal),
5 AVG(Sal)
6 FROM Emp
7 GROUP BY Deptno, Job
8* HAVING AVG(Sal) > 2500 AND AVG(Sal) < 3000
SQL> /

DEPTNO JOB SUM(SAL) AVG(SAL)


---------- --------- ---------- ----------
20 MANAGER 2975 2975
30 MANAGER 2850 2850

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 SUM(Sal),
5 AVG(Sal)
6 FROM Emp
7 GROUP BY Deptno, Job
8* HAVING AVG(Sal) BETWEEN 2500 AND 3000
SQL> /

DEPTNO JOB SUM(SAL) AVG(SAL)


---------- --------- ---------- ----------
20 ANALYST 6000 3000
20 MANAGER 2975 2975
30 MANAGER 2850 2850

SQL> ED
Wrote file afiedt.buf

1 SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 Deptno,
3 Job,
4 SUM(Sal),
5 AVG(Sal)
6 FROM Emp
7 GROUP BY Deptno, Job
8* HAVING AVG(Sal) IN(2850, 3000)
SQL> /

DEPTNO JOB SUM(SAL) AVG(SAL)


---------- --------- ---------- ----------
20 ANALYST 6000 3000
30 MANAGER 2850 2850

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 SUM(Sal),
5 AVG(Sal)
6 FROM Emp
7 GROUP BY Deptno, Job
8* HAVING AVG(Sal) > 2500 AND SUM(Sal) < 6000
SQL> /

DEPTNO JOB SUM(SAL) AVG(SAL)


---------- --------- ---------- ----------
10 PRESIDENT 5000 5000
20 MANAGER 2975 2975
30 MANAGER 2850 2850

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 SUM(Sal),
5 AVG(Sal)
6 FROM Emp
7 GROUP BY Deptno, Job
8* HAVING AVG(Sal) > 2500 AND SUM(Sal) < 6000 AND COUNT(*) > 2
SQL> /

no rows selected

SQL> cl scr

SQL> SELECT Deptno, AVG(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO AVG(SAL)
---------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

10 2916.66667
20 2175
30 1566.66667

SQL> SELECT MAX(AVG(Sal))


2 FROM Emp
3 GROUP BY Deptno;

MAX(AVG(SAL))
-------------
2916.66667

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, MAX(AVG(Sal))


2 FROM Emp
3* GROUP BY Deptno
SQL> /
SELECT Deptno, MAX(AVG(Sal))
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> cl scr

SQL> SELECT SUM(SUM(Sal))


2 FROM Emp
3 GROUP BY Deptno;

SUM(SUM(SAL))
-------------
29025

SQL> SELECT SUM(Sal) FROM Emp;

SUM(SAL)
----------
29025

SQL> cl scr

SQL> SELECT
2 GREATEST('HARRY', 'HARRIOT')
3 FROM DUAL;

GREAT
-----
HARRY

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LEAST('HARRY', 'HARRIOT')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3* FROM DUAL
SQL> /

LEAST('
-------
HARRIOT

SQL> SELECT
2 GREATEST(1000, 2000, 200)
3 FROM DUAL;

GREATEST(1000,2000,200)
-----------------------
2000

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LEAST(1000, 2000, 200)
3* FROM DUAL
SQL> /

LEAST(1000,2000,200)
--------------------
200

SQL> cl scr

SQL> SELECT
2 GREATEST('10-JUL-05', '20-JUL-05')
3 FROM DUAL;

GREATEST(
---------
20-JUL-05

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LEAST('10-JUL-05', '20-JUL-05')
3* FROM DUAL
SQL> /

LEAST('10
---------
10-JUL-05

SQL> cl scr

SQL> SHOW USER


USER is "SCOTT"
SQL> SELECT USER FROM DUAL;

USER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

------------------------------
SCOTT

SQL> cl scr

SQL> SHOW USER


USER is "SCOTT"
SQL> SHOW UID
SP2-0158: unknown SHOW option "UID"
SQL> SELECT USER, UID FROM DUAL;

USER UID
------------------------------ ----------
SCOTT 57

SQL> cl scr

SQL> SELECT USER, USERENV('ISDBA') UserEnv


2 FROM Emp;

USER USEREN
------------------------------ ------
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE

USER USEREN
------------------------------ ------
SCOTT FALSE
SCOTT FALSE
SCOTT FALSE

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT USER, USERENV('ISDBA') UserEnv


2* FROM DUAL
SQL> /

USER USEREN
------------------------------ ------
SCOTT FALSE

SQL> cl scr

SQL> SELECT USER, USERENV('LANGUAGE') UserEnv FROM DUAL;


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

USER
------------------------------
USERENV
----------------------------------------------------
SCOTT
AMERICAN_AMERICA.WE8MSWIN1252

SQL> SELECT USER, USERENV('TERMIMAL') UserEnv FROM DUAL;


SELECT USER, USERENV('TERMIMAL') UserEnv FROM DUAL
*
ERROR at line 1:
ORA-02003: invalid USERENV parameter

SQL> SELECT USER, USERENV('TERMINAL') UserEnv FROM DUAL;

USER USERENV
------------------------------ ----------------
SCOTT NIT

SQL> SELECT USER, USERENV('SESSIONID') UserEnv FROM DUAL;

USER USERENV
------------------------------ ----------
SCOTT 4355

SQL> cl scr

SQL> SELECT VSIZE(&GValue) MemorySize FROM DUAL;


Enter value for gvalue: SAMPLE
old 1: SELECT VSIZE(&GValue) MemorySize FROM DUAL
new 1: SELECT VSIZE(SAMPLE) MemorySize FROM DUAL
SELECT VSIZE(SAMPLE) MemorySize FROM DUAL
*
ERROR at line 1:
ORA-00904: "SAMPLE": invalid identifier

SQL> /
Enter value for gvalue: 'SAMPLE'
old 1: SELECT VSIZE(&GValue) MemorySize FROM DUAL
new 1: SELECT VSIZE('SAMPLE') MemorySize FROM DUAL

MEMORYSIZE
----------
6

SQL> SET VERIFY OFF


SQL> cl scr

SQL> R
1* SELECT VSIZE(&GValue) MemorySize FROM DUAL
Enter value for gvalue: 'Sample Data For Demo'

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MEMORYSIZE
----------
20

SQL> /
Enter value for gvalue: 1

MEMORYSIZE
----------
2

SQL> /
Enter value for gvalue: 23

MEMORYSIZE
----------
2

SQL> /
Enter value for gvalue: 345

MEMORYSIZE
----------
3

SQL> /
Enter value for gvalue: 234.567

MEMORYSIZE
----------
5

SQL> /
Enter value for gvalue: 543456.8765676

MEMORYSIZE
----------
8

SQL> cl scr

SQL> SELECT
2 Ename||' You Are Occupying '||TO_CHAR(TO_DATE(VSIZE(Ename), 'J'), 'JSP')||'
Bytes of Memory Space.' Ename
3 FROM Emp;

ENAME
--------------------------------------------------------------------------------
KING You Are Occupying FOUR Bytes of Memory Space.
BLAKE You Are Occupying FIVE Bytes of Memory Space.
CLARK You Are Occupying FIVE Bytes of Memory Space.
JONES You Are Occupying FIVE Bytes of Memory Space.
MARTIN You Are Occupying SIX Bytes of Memory Space.
ALLEN You Are Occupying FIVE Bytes of Memory Space.
TURNER You Are Occupying SIX Bytes of Memory Space.
JAMES You Are Occupying FIVE Bytes of Memory Space.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

WARD You Are Occupying FOUR Bytes of Memory Space.


FORD You Are Occupying FOUR Bytes of Memory Space.
SMITH You Are Occupying FIVE Bytes of Memory Space.

ENAME
--------------------------------------------------------------------------------
SCOTT You Are Occupying FIVE Bytes of Memory Space.
ADAMS You Are Occupying FIVE Bytes of Memory Space.
MILLER You Are Occupying SIX Bytes of Memory Space.

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename||' You Are Occupying '||TO_CHAR(TO_DATE(VSIZE(Ename), 'J'), 'JSP')||'
Bytes of Memory Space.' Ename
3 FROM Emp
4* WHERE VSIZE(Ename) = 4
SQL> /

ENAME
--------------------------------------------------------------------------------
KING You Are Occupying FOUR Bytes of Memory Space.
WARD You Are Occupying FOUR Bytes of Memory Space.
FORD You Are Occupying FOUR Bytes of Memory Space.

SQL> cl scr

SQL> COLUMN Empno FORMAT 99


SQL> COLUMN Ename FORMAT 99
SQL> COLUMN Deptno FORMAT 99
SQL> COLUMN Job FORMAT 99
SQL> COLUMN MGR FORMAT 99
SQL> COLUMN Sal FORMAT 99
SQL> COLUMN Comm FORMAT 99
SQL> COLUMN HireDate FORMAT 99
SQL> COLUMN Total FORMAT 999
SQL> SELECT
2 SUM(VSIZE(Empno)) Empno,
3 SUM(VSIZE(Ename)) Ename,
4 SUM(VSIZE(Deptno)) Deptno,
5 SUM(VSIZE(Job)) Job,
6 SUM(VSIZE(MGR)) MGR,
7 SUM(VSIZE(Sal)) Sal,
8 SUM(VSIZE(Comm)) Comm,
9 SUM(VSIZE(HireDate)) HireDate,
10 SUM(VSIZE(Empno)) +
11 SUM(VSIZE(Ename)) +
12 SUM(VSIZE(Deptno)) +
13 SUM(VSIZE(Job)) +
14 SUM(VSIZE(MGR)) +
15 SUM(VSIZE(Sal)) +
16 SUM(VSIZE(Comm)) +
17 SUM(VSIZE(HireDate)) Total
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

18 FROM Emp;

EMPNO ENAME DEPTNO JOB MGR SAL COMM HIREDATE TOTAL


----- ----- ------ --- --- --- ---- -------- -----
41 70 28 96 39 34 7 98 413

SQL> SELECT VSIZE(HireDate) FROM Emp WHERE Ename = 'KING';

VSIZE(HIREDATE)
---------------
7

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Job = 'manager';

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE LOWER(Job) = 'manager'
SQL> /

ENAME SAL DEPTNO JOB


---------- --- ------ ---------
BLAKE ### 30 MANAGER
CLARK ### 10 MANAGER
JONES ### 20 MANAGER

SQL> COLUMN Sal FORMAT 9999


SQL> /

ENAME SAL DEPTNO JOB


---------- ----- ------ ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job = UPPER('manager')
SQL> /

ENAME SAL DEPTNO JOB


---------- ----- ------ ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job = 'MANAGER'
SQL> /

ENAME SAL DEPTNO JOB


---------- ----- ------ ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE Job = 'manger'
SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE SOUNDEX(Job) = SOUNDEX('manger')
SQL> /

ENAME SAL DEPTNO JOB


---------- ----- ------ ---------
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE SOUNDEX(Job) = SOUNDEX('clrk')
SQL> /

ENAME SAL DEPTNO JOB


---------- ----- ------ ---------
JAMES 950 30 CLERK
SMITH 800 20 CLERK
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE SOUNDEX(Ename) = SOUNDEX('smythe')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

ENAME SAL DEPTNO JOB


---------- ----- ------ ---------
SMITH 800 20 CLERK

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3* WHERE SOUNDEX(Ename) = SOUNDEX('Kng')
SQL> /

ENAME SAL DEPTNO JOB


---------- ----- ------ ---------
KING 5000 10 PRESIDENT

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno, Job, SOUNDEX('Kng'), SOUNDEX(Ename)


2 FROM Emp
3* WHERE SOUNDEX(Ename) = SOUNDEX('Kng')
SQL> /

ENAME SAL DEPTNO JOB SOUN SOUN


---------- ----- ------ --------- ---- ----
KING 5000 10 PRESIDENT K520 K520

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> CREATE TABLE SampleNN01


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleNN01_SampID_NN NOT NULL,
5 SampName VARCHAR2(10)
6 CONSTRAINT SampleNN01_SampName_NN NOT NULL,
7 SampDate DATE
8 );

Table created.

SQL> DESC SampleNN01


Name Null? Type
----------------------------------------- -------- ----------------------------
SAMPID NOT NULL NUMBER(2)
SAMPNAME NOT NULL VARCHAR2(10)
SAMPDATE DATE

SQL> INSERT INTO SampleNN01


2 VALUES(1, 'SAMPLE01', SYSDATE);

1 row created.

SQL> INSERT INTO SampleNN01


2 VALUES(NULL, 'SAMPLE01', SYSDATE);
VALUES(NULL, 'SAMPLE01', SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLENN01"."SAMPID")

SQL> INSERT INTO SampleNN01


2 VALUES(2, NULL, SYSDATE);
VALUES(2, NULL, SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLENN01"."SAMPNAME")

SQL> INSERT INTO SampleNN01


2 VALUES(2, 'SAMPLE02', NULL);

1 row created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampleNN02


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10)
5 CONSTRAINT SampleNN02_SampName_NN NOT NULL,
6 SampDate DATE,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 CONSTRAINT SampleNN02_SampID_NN NOT NULL(SampID)


8* )
SQL> /
CONSTRAINT SampleNN02_SampID_NN NOT NULL(SampID)
*
ERROR at line 7:
ORA-00904: : invalid identifier

SQL> cl scr

SQL> CREATE TABLE SampUNQ01


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampUNQ01_SampID_UNQ UNIQUE,
5 SampName VARCHAR2(10),
6 SampDate DATE
7 );

Table created.

SQL> INSERT INTO SampUNQ01


2 VALUES(1, 'SAMPLE01', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ01


2 VALUES(1, 'SAMPLE02', SYSDATE);
INSERT INTO SampUNQ01
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ01_SAMPID_UNQ) violated

SQL> INSERT INTO SampUNQ01


2 VALUES(NULL, 'SAMPLE02', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ01


2 VALUES(NULL, 'SAMPLE03', SYSDATE);

1 row created.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampUNQ02


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SampUNQ02_SampID_UNQ UNIQUE(SampID)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7* )
SQL> /

Table created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampUNQ03


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampUNQ03_SampID_UNQ UNIQUE,
5 SampName VARCHAR2(10)
6 CONSTRAINT SampUNQ03_SampName_UNQ UNIQUE,
7 SampDate DATE
8* )
SQL> /

Table created.

SQL> INSERT INTO SampUNQ03


2 VALUES(1, 'SAMPLE01', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ03


2 VALUES(2, 'SAMPLE01', SYSDATE);
INSERT INTO SampUNQ03
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ03_SAMPNAME_UNQ) violated

SQL> INSERT INTO SampUNQ03


2 VALUES(1, 'SAMPLE02', SYSDATE);
INSERT INTO SampUNQ03
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ03_SAMPID_UNQ) violated

SQL> INSERT INTO SampUNQ03


2 VALUES(2, 'SAMPLE02', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ03


2 VALUES(NULL, 'SAMPLE03', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ03


2 VALUES(NULL, 'SAMPLE04', SYSDATE);

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO SampUNQ03


2 VALUES(3, NULL, SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ03


2 VALUES(4, NULL, SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ03


2 VALUES(NULL, NULL, SYSDATE);

1 row created.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampUNQ04


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SampUNQ04_SampID_UNQ UNIQUE(SampID),
7 CONSTRAINT SampUNQ04_SampName_UNQ UNIQUE(SampName)
8* )
SQL> /

Table created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampUNQ05


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SampUNQ05_SampIDName_UNQ
7 UNIQUE(SampID, SampName)
8* )
SQL> /

Table created.

SQL> INSERT INTO SampUNQ05


2 VALUES(1, 'SAMPLE01', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ05


2 VALUES(1, 'SAMPLE02', SYSDATE);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.

SQL> INSERT INTO SampUNQ05


2 VALUES(2, 'SAMPLE02', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ05


2 VALUES(NULL, 'SAMPLE03', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ05


2 VALUES(NULL, 'SAMPLE04', SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ05


2 VALUES(NULL, 'SAMPLE04', SYSDATE);
INSERT INTO SampUNQ05
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPUNQ05_SAMPIDNAME_UNQ) violated

SQL> INSERT INTO SampUNQ05


2 VALUES(NULL, NULL, SYSDATE);

1 row created.

SQL> INSERT INTO SampUNQ05


2 VALUES(NULL, NULL, SYSDATE);

1 row created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampUNQ06


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampUNQ06_SampID_UNQ UNIQUE,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 CONSTRAINT SampUNQ06_SampIDName_UNQ
8 UNIQUE(SampID, SampName)
9* )
SQL> /

Table created.

SQL> SPOOL OFF


SQL> cl scr

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE SamplePK01


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK01_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE
7 );

Table created.

SQL> DESC SamplePK01


Name Null? Type
----------------------------------------- -------- ----------------------------
SAMPID NOT NULL NUMBER(2)
SAMPNAME VARCHAR2(10)
SAMPDATE DATE

SQL> INSERT INTO SamplePK01


2 VALUES(1, 'SAMPLE01', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK01


2 VALUES(1, 'SAMPLE02', SYSDATE);
INSERT INTO SamplePK01
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPLEPK01_SAMPID_PK) violated

SQL> INSERT INTO SamplePK01


2 VALUES(NULL, 'SAMPLE02', SYSDATE);
VALUES(NULL, 'SAMPLE02', SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK01"."SAMPID")

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK02


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SamplePK02_SampID_PK
7 PRIMARY KEY(SampID)
8* )
SQL> /

Table created.

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 CREATE TABLE SamplePK03


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10)
5 CONSTRAINT SamplePK03_SampName_PK PRIMARY KEY,
6 SampDate DATE,
7 CONSTRAINT SamplePK03_SampID_PK
8 PRIMARY KEY(SampID)
9* )
SQL> /
PRIMARY KEY(SampID)
*
ERROR at line 8:
ORA-02260: table can have only one primary key

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK03


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10)
5 CONSTRAINT SamplePK03_SampName_NN NOT NULL
6 CONSTRAINT SamplePK03_SampName_UNQ UNIQUE,
7 SampDate DATE,
8 CONSTRAINT SamplePK03_SampID_PK
9 PRIMARY KEY(SampID)
10* )
SQL> /

Table created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK04


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10)
5 CONSTRAINT SamplePK04_SampName_NN NOT NULL,
6 SampDate DATE,
7 CONSTRAINT SamplePK04_SampID_PK
8 PRIMARY KEY(SampID),
9 CONSTRAINT SamplePK04_SampName_UNQ
10 UNIQUE(SampName)
11* )
SQL> /

Table created.

SQL> CREATE TABLE SamplePK05


2 (
3 SampID NUMBER(2),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SamplePK05_SampIDName_PK
7 PRIMARY KEY(SampID, SammName)
8 );
PRIMARY KEY(SampID, SammName)
*
ERROR at line 7:
ORA-00904: "SAMMNAME": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK05


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SamplePK05_SampIDName_PK
7 PRIMARY KEY(SampID, SampName)
8* )
SQL> /

Table created.

SQL> INSERT INTo SamplePK05


2 VALUES(1, 'SAMPLE01', SYSDATE);

1 row created.

SQL> INSERT INTo SamplePK05


2 VALUES(1, 'SAMPLE02', SYSDATE);

1 row created.

SQL> INSERT INTo SamplePK05


2 VALUES(2, 'SAMPLE02', SYSDATE);

1 row created.

SQL> INSERT INTo SamplePK05


2 VALUES(NULL, 'SAMPLE03', SYSDATE);
VALUES(NULL, 'SAMPLE03', SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK05"."SAMPID")

SQL> INSERT INTo SamplePK05


2 VALUES(3, NULL, SYSDATE);
VALUES(3, NULL, SYSDATE)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK05"."SAMPNAME")
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK06


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK06_SampID_UNQ UNIQUE,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 CONSTRAINT SamplePK06_SampID_PK
8 PRIMARY KEY(SampID)
9* )
SQL> /
CONSTRAINT SamplePK06_SampID_UNQ UNIQUE,
*
ERROR at line 4:
ORA-02261: such unique or primary key already exists in the table

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK06


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK06_SampID_UNQ UNIQUE,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 CONSTRAINT SamplePK06_SampIDName_PK
8 PRIMARY KEY(SampID, SampName)
9* )
SQL> /

Table created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK07


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK07_SampID_UNQ UNIQUE,
5 SampName VARCHAR2(10)
6 CONSTRAINT SamplePK07_SampName_UNQ UNIQUE,
7 SampDate DATE,
8 CONSTRAINT SamplePK07_SampIDName_PK
9 PRIMARY KEY(SampID, SampName)
10* )
SQL> /

Table created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK08


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SamplePK08_SampIDName_PK
7 PRIMARY KEY(SampID, SampName),
8 CONSTRAINT SamplePK08_SampIDName_UNQ
9 UNIQUE(SampID, SampName)
10* )
SQL> /
UNIQUE(SampID, SampName)
*
ERROR at line 9:
ORA-02261: such unique or primary key already exists in the table

SQL> SPOOL OFF


SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
SAMPLEPK01 TABLE
SAMPLEPK02 TABLE
SAMPLEPK03 TABLE
SAMPLEPK04 TABLE
SAMPLEPK05 TABLE
SAMPLEPK06 TABLE
SAMPLEPK07 TABLE
EMPLOYEES VIEW
EMPINFO VIEW
EMPGRADES VIEW
EMPMANAGERS VIEW

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
EMPACCOUNTS VIEW
CUMSUM VIEW
ORGDESIGNATIONS VIEW
DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
DUMMY TABLE
CUSTOMER TABLE
ORD TABLE
ITEM TABLE

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
PRODUCT TABLE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

PRICE TABLE
SALES VIEW

25 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> CREATE TABLE MyDept


2 (
3 Deptno NUMBER(2)
4 CONSTRAINT MyDept_Deptno_PK PRIMARY KEY,
5 Dname VARCHAR2(16)
6 CONSTRAINT MyDept_Dname_NN NOT NULL,
7 Loc VARCHAR2(16)
8 CONSTRAINT MyDept_Loc_NN NOT NULL
9 );

Table created.

SQL> CREATE TABLE MyEmp


2 (
3 Empno NUMBER(4)
4 CONSTRAINT MyEmp_Empno_PK PRIMARY KEY,
5 Ename VARCHAR2(10)
6 CONSTRAINT MyEmp_Ename_NN NOT NULL,
7 Job VARCHAR2(14)
8 CONSTRAINT MyEmp_Job_NN NOT NULL,
9 HireDate DATE
10 CONSTRAINT MyEmp_HireDate_NN NOT NULL,
11 MGR NUMBER(4)
12 CONSTRAINT MyEmp_MGR_FK
13 REFERENCES MyEmp(Empno)
14 ON DELETE SET NULL,
15 Sal NUMBER(7, 2)
16 CONSTRAINT MyEmp_Sal_NN NOT NULL,
17 Comm NUMBER(7, 2),
18 DeptID NUMBER(2)
19 CONSTRAINT MyEmp_DeptID_NN NOT NULL
20 CONSTRAINT MyEmp_DeptID_FK
21 REFERENCES MyDept(Deptno)
22 ON DELETE CASCADE
23 );

Table created.

SQL> DESC Dept


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)

SQL> DESC MyDept


Name Null? Type
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------------------------------------- -------- ----------------------------


DEPTNO NOT NULL NUMBER(2)
DNAME NOT NULL VARCHAR2(16)
LOC NOT NULL VARCHAR2(16)

SQL> DESC Emp


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

SQL> DESC MyEmp


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME NOT NULL VARCHAR2(10)
JOB NOT NULL VARCHAR2(14)
HIREDATE NOT NULL DATE
MGR NUMBER(4)
SAL NOT NULL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTID NOT NULL NUMBER(2)

SQL> INSERT INTO MyEmp


2 VALUES(1230, 'SAMPLE01', 'MANAGER', SYSDATE,
3
SQL> cl scr

SQL> CREATE TABLE SamplePK01


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK01_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE
7 );

Table created.

SQL> CREATE TABLE SampleFK01


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleFK01_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 SampIDFK NUMBER(2)
8 CONSTRAINT SampleFK01_SampIDFK_FK
9 REFERENCES SamplePK01(SampID)
10 );

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Table created.

SQL> INSERT INTO SampleFK01


2 VALUES(20, 'SAMPLE20', SYSDATE, NULL);

1 row created.

SQL> INSERT INTO SamplePK01


2 VALUES(10, 'SAMPLE10', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK01


2 VALUES(11, 'SAMPLE11', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK01


2 VALUES(12, 'SAMPLE12', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK01


2 VALUES(13, 'SAMPLE13', SYSDATE);

1 row created.

SQL> INSERT INTO SampleFK01


2 VALUES(21, 'SAMPLE21', SYSDATE, 10);

1 row created.

SQL> INSERT INTO SampleFK01


2 VALUES(22, 'SAMPLE22', SYSDATE, 15);
INSERT INTO SampleFK01
*
ERROR at line 1:
ORA-02291: integrity constraint (SCOTT.SAMPLEFK01_SAMPIDFK_FK) violated -
parent key not found

SQL> INSERT INTO SampleFK01


2 VALUES(22, 'SAMPLE22', SYSDATE, 10);

1 row created.

SQL> INSERT INTO SampleFK01


2 VALUES(23, 'SAMPLE23', SYSDATE, 12);

1 row created.

SQL> SELECT * FROM SamplePK01;

SAMPID SAMPNAME SAMPDATE


---------- ---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

10 SAMPLE10 23-JUN-10
11 SAMPLE11 23-JUN-10
12 SAMPLE12 23-JUN-10
13 SAMPLE13 23-JUN-10

SQL> SELECT * FROM SampleFK01;

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
20 SAMPLE20 23-JUN-10
21 SAMPLE21 23-JUN-10 10
22 SAMPLE22 23-JUN-10 10
23 SAMPLE23 23-JUN-10 12

SQL> DELETE FROM SamplePK01


2 WHERE SampID = 13;

1 row deleted.

SQL> DELETE FROM SamplePK01


2 WHERE SampID = 12;
DELETE FROM SamplePK01
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.SAMPLEFK01_SAMPIDFK_FK) violated - child
record found

SQL> DELETE FROM SampleFK01


2 WHERE SampID = 23;

1 row deleted.

SQL> cl scr

SQL> CREATE TABLE SamplePK02


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK02_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE
7 );

Table created.

SQL> CREATE TABLE SampleFK02


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleFK02_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 SampIDFK NUMBER(2)
8 CONSTRAINT SampleFK02_SampIDFK_FK
9 REFERENCES SamplePK02(SampID)
10 ON DELETE SET NULL
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

11 );

Table created.

SQL> INSERT INTO SamplePK02


2 VALUES(1, 'SAMPLE01', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK02


2 VALUES(2, 'SAMPLE02', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK02


2 VALUES(3, 'SAMPLE03', SYSDATE);

1 row created.

SQL> INSERT INTO SampleFK02


2 VALUES(10, 'SAMPLE10', SYSDATE, 1);

1 row created.

SQL> INSERT INTO SampleFK02


2 VALUES(11, 'SAMPLE11', SYSDATE, 2);

1 row created.

SQL> INSERT INTO SampleFK02


2 VALUES(12, 'SAMPLE12', SYSDATE, 2);

1 row created.

SQL> INSERT INTO SampleFK02


2 VALUES(13, 'SAMPLE13', SYSDATE, 2);

1 row created.

SQL> SELECT * FROM SamplePK02;

SAMPID SAMPNAME SAMPDATE


---------- ---------- ---------
1 SAMPLE01 23-JUN-10
2 SAMPLE02 23-JUN-10
3 SAMPLE03 23-JUN-10

SQL> SELECT * FROM SampleFK02;

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
10 SAMPLE10 23-JUN-10 1
11 SAMPLE11 23-JUN-10 2
12 SAMPLE12 23-JUN-10 2
13 SAMPLE13 23-JUN-10 2
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM SamplePK02


2 WHERE SampID = 2;

1 row deleted.

SQL> SELECT * FROM SampleFK02;

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
10 SAMPLE10 23-JUN-10 1
11 SAMPLE11 23-JUN-10
12 SAMPLE12 23-JUN-10
13 SAMPLE13 23-JUN-10

SQL> cl scr

SQL> CREATE TABLE SamplePK03


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK03_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE
7 );

Table created.

SQL> CREATE TABLE SampleFK03_1


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleFK03_1_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 SampIDFK NUMBER(2)
8 CONSTRAINT SampleFK03_1_SampIDFK_FK
9 REFERENCES SamplePK03(SampID)
10 ON DELETE CASCADE
11 );

Table created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampleFK03_2


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleFK03_2_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 SampIDFK NUMBER(2)
8 CONSTRAINT SampleFK03_2_SampIDFK_FK
9 REFERENCES SamplePK03(SampID)
10 ON DELETE SET NULL
11* )
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

Table created.

SQL> INSERT INTO SamplePK03


2 VALUES(10, 'SAMPLE10', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK03


2 VALUES(11, 'SAMPLE11', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK03


2 VALUES(12, 'SAMPLE12', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK03


2 VALUES(13, 'SAMPLE13', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK03


2 VALUES(14, 'SAMPLE14', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK03


2 VALUES(15, 'SAMPLE15', SYSDATE);

1 row created.

SQL> INSERT INTO SamplePK03


2 VALUES(16, 'SAMPLE16', SYSDATE);

1 row created.

SQL> COMMIT;

Commit complete.

SQL> INSERT INTO SampleFK03_1


2 VALUES(20, 'SAMPLE20', SYSDATE, 10);

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(21, 'SAMPLE21', SYSDATE, 10);

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(22, 'SAMPLE22', SYSDATE, 10);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(23, 'SAMPLE23', SYSDATE, 12);

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(24, 'SAMPLE24', SYSDATE, 12);

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(25, 'SAMPLE25', SYSDATE, 13);

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(26, 'SAMPLE26', SYSDATE, 13);

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(27, 'SAMPLE27', SYSDATE, 13);

1 row created.

SQL> INSERT INTO SampleFK03_1


2 VALUES(28, 'SAMPLE28', SYSDATE, 15);

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(30, 'SAMPLE30', SYSDATE, 10);

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(31, 'SAMPLE31', SYSDATE, 10);

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(32, 'SAMPLE32', SYSDATE, 11);

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(33, 'SAMPLE33', SYSDATE, 11);

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(34, 'SAMPLE34', SYSDATE, 14);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(35, 'SAMPLE35', SYSDATE, 14);

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(36, 'SAMPLE36', SYSDATE, 14);

1 row created.

SQL> INSERT INTO SampleFK03_2


2 VALUES(37, 'SAMPLE37', SYSDATE, 15);

1 row created.

SQL> COMMIT;

Commit complete.

SQL> cl scr

SQL> SELECT * FROM SamplePK03;

SAMPID SAMPNAME SAMPDATE


---------- ---------- ---------
10 SAMPLE10 23-JUN-10
11 SAMPLE11 23-JUN-10
12 SAMPLE12 23-JUN-10
13 SAMPLE13 23-JUN-10
14 SAMPLE14 23-JUN-10
15 SAMPLE15 23-JUN-10
16 SAMPLE16 23-JUN-10

7 rows selected.

SQL> SELECT * FROM SampleFK03_1;

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
20 SAMPLE20 23-JUN-10 10
21 SAMPLE21 23-JUN-10 10
22 SAMPLE22 23-JUN-10 10
23 SAMPLE23 23-JUN-10 12
24 SAMPLE24 23-JUN-10 12
25 SAMPLE25 23-JUN-10 13
26 SAMPLE26 23-JUN-10 13
27 SAMPLE27 23-JUN-10 13
28 SAMPLE28 23-JUN-10 15

9 rows selected.

SQL> SELECT * FROM SampleFK03_2;


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
30 SAMPLE30 23-JUN-10 10
31 SAMPLE31 23-JUN-10 10
32 SAMPLE32 23-JUN-10 11
33 SAMPLE33 23-JUN-10 11
34 SAMPLE34 23-JUN-10 14
35 SAMPLE35 23-JUN-10 14
36 SAMPLE36 23-JUN-10 14
37 SAMPLE37 23-JUN-10 15

8 rows selected.

SQL> DELETE FROM SamplePK03


2 WHERE SampID = 16;

1 row deleted.

SQL> DELETE FROM SamplePK03


2 WHERE SampID = 12;

1 row deleted.

SQL> SELECT * FROM SamplePK03;

SAMPID SAMPNAME SAMPDATE


---------- ---------- ---------
10 SAMPLE10 23-JUN-10
11 SAMPLE11 23-JUN-10
13 SAMPLE13 23-JUN-10
14 SAMPLE14 23-JUN-10
15 SAMPLE15 23-JUN-10

SQL> SELECT * FROM SampleFK03_1;

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
20 SAMPLE20 23-JUN-10 10
21 SAMPLE21 23-JUN-10 10
22 SAMPLE22 23-JUN-10 10
25 SAMPLE25 23-JUN-10 13
26 SAMPLE26 23-JUN-10 13
27 SAMPLE27 23-JUN-10 13
28 SAMPLE28 23-JUN-10 15

7 rows selected.

SQL> DELETE FROM SamplePK03


2 WHERE SampID = 14;

1 row deleted.

SQL> SELECT * FROM SampleFK03_2;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
30 SAMPLE30 23-JUN-10 10
31 SAMPLE31 23-JUN-10 10
32 SAMPLE32 23-JUN-10 11
33 SAMPLE33 23-JUN-10 11
34 SAMPLE34 23-JUN-10
35 SAMPLE35 23-JUN-10
36 SAMPLE36 23-JUN-10
37 SAMPLE37 23-JUN-10 15

8 rows selected.

SQL> DELETE FROM SamplePK03


2 WHERE SampID = 10;

1 row deleted.

SQL> SELECT * FROM SampleFK03_1;

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
25 SAMPLE25 23-JUN-10 13
26 SAMPLE26 23-JUN-10 13
27 SAMPLE27 23-JUN-10 13
28 SAMPLE28 23-JUN-10 15

SQL> SELECT * FROM SampleFK03_2;

SAMPID SAMPNAME SAMPDATE SAMPIDFK


---------- ---------- --------- ----------
30 SAMPLE30 23-JUN-10
31 SAMPLE31 23-JUN-10
32 SAMPLE32 23-JUN-10 11
33 SAMPLE33 23-JUN-10 11
34 SAMPLE34 23-JUN-10
35 SAMPLE35 23-JUN-10
36 SAMPLE36 23-JUN-10
37 SAMPLE37 23-JUN-10 15

8 rows selected.

SQL> cl scr

SQL> CREATE TABLE SamplePK04Self


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK04Self_SampIDPK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 SampIDFK NUMBER(2)
8 CONSTRAINT SamplePK04Self_SampIDFK
9 REFERENCES SamplePK04Self(SampID)
10 ON DELETE SET NULL
11 );
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Table created.

SQL> INSERT INTO SamplePK04Self


2 VALUES(1, 'SAMPLE01', SYSDATE, NULL);

1 row created.

SQL> INSERT INTO SamplePK04Self


2 VALUES(2, 'SAMPLE02', SYSDATE, 1);

1 row created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SamplePK04Self1


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK04Self1_SampIDPK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE,
7 SampIDFK NUMBER(2)
8 CONSTRAINT SamplePK04Self1_SampIDNN NOT NULL
9 CONSTRAINT SamplePK04Self1_SampIDFK
10 REFERENCES SamplePK04Self1(SampID)
11 ON DELETE CASCADE
12* )
SQL> /

Table created.

SQL> INSERT INTO SamplePK04Self1


2 VALUES(1, 'SAMPLE01', SYSDATE, NULL);
VALUES(1, 'SAMPLE01', SYSDATE, NULL)
*
ERROR at line 2:
ORA-01400: cannot insert NULL into ("SCOTT"."SAMPLEPK04SELF1"."SAMPIDFK")

SQL> INSERT INTO SamplePK04Self1


2 VALUES(1, 'SAMPLE01', SYSDATE, 1);

1 row created.

SQL> INSERT INTO SamplePK04Self1


2 VALUES(2, 'SAMPLE02', SYSDATE, 1);

1 row created.

SQL> cl scr

SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

------------------------------ ------- ----------


DEPT TABLE
EMP TABLE
BONUS TABLE
SALGRADE TABLE
DUMMY TABLE
CUSTOMER TABLE
ORD TABLE
ITEM TABLE
PRODUCT TABLE
PRICE TABLE
EMPLOYEES VIEW

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
EMPINFO VIEW
EMPGRADES VIEW
EMPMANAGERS VIEW
EMPACCOUNTS VIEW
CUMSUM VIEW
ORGDESIGNATIONS VIEW
SALES VIEW
MYDEPT TABLE
MYEMP TABLE
SAMPLEPK01 TABLE
SAMPLEFK01 TABLE

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
SAMPLEPK02 TABLE
SAMPLEFK02 TABLE
SAMPLEPK03 TABLE
SAMPLEFK03_1 TABLE
SAMPLEFK03_2 TABLE
SAMPLEPK04SELF TABLE
SAMPLEPK04SELF1 TABLE

29 rows selected.

SQL> cl scr

SQL> CREATE TABLE SamplePK04


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SamplePK04_SampID_PK PRIMARY KEY,
5 SampName VARCHAR2(10),
6 SampDate DATE
7 );

Table created.

SQL> CREATE TABLE SampleFK04


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleFK04_SampID_FK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 REFERENCES SamplePK04(SampID),
6 SampName VARCHAR2(10),
7 SampDate DATE,
8 CONSTRAINT SampleFK04_SampID_PK
9 PRIMARY KEY(SampID)
10 );

Table created.

SQL> CREATE TABLE SampleFK04_1


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleFK04_1_SampID_FK
5 REFERENCES SampleFK04(SampID),
6 SampName VARCHAR2(10)
7 );

Table created.

SQL> cl scr

SQL> CREATE TABLE SampleCKPK01


2 (
3 SampID NUMBER(2)
4 ,SampName VARCHAR2(10)
5 ,SampDate DATE
6 ,CONSTRAINT SampleCKPK01_SampIDName_CKPK
7 PRIMARY KEY(SampID, SampName)
8 );

Table created.

SQL> CREATE TABLE SampleCKFK01


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE,
6 CONSTRAINT SampleCKFK01_SampIDNameCKFK
7 FOREIGN KEY(SampID, SampName)
8 REFERENCES SampleCKPK01(SampID, SampName)
9 );

Table created.

SQL> cl scr

SQL> CREATE TABLE SamplePKUNQ


2 (
3 SampIDPK NUMBER(2)
4 CONSTRAINT SamplePKUNQ_SampIDPK_PK PRIMARY KEY,
5 SampIDUNQ1 NUMBER(2)
6 CONSTRAINT SamplePKUNQ_SampIDUNQ_UNQ UNIQUE,
7 SampDate DATE
8 );

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Table created.

SQL> CREATE TABLE SampleFK


2 (
3 SampIDFKPK NUMBER(2)
4 CONSTRAINT SampleFK_SampIDFKPK_FK
5 REFERENCES SamplePKUNQ(SampIDPK),
6 SampIDFKUNQ NUMBER(2)
7 CONSTRAINT SampleFK_SampIDFKUNQ_FK
8 REFERENCES SamplePKUNQ(SampIDUNQ1)
9 );

Table created.

SQL> SPOOL OFF


SQL> cl scr

SQL> CREATE TABLE MyDept


2 (
3 Deptno NUMBER(2)
4 CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5 CONSTRAINT MyDept_Deptno_CHK01
6 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7 DName VARCHAR2(16)
8 CONSTRAINT MyDept_DName_NN NOT NULL
9 DEFAULT 'NOT GIVEN'
10 CONSTRAINT MyDept_DName_UNQ UNIQUE
11 CONSTRAINT MyDept_DName_CHK01
12 CHECK(DName = UPPER(DName)),
13 Loc VARCHAR2(14)
14 CONSTRAINT MyDept_Loc_NN NOT NULL
15 DEFAULT 'NOT GIVEN'
16 CONSTRAINT MyDept_Loc_CHK01
17 CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18 );
DEFAULT 'NOT GIVEN'
*
ERROR at line 9:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyDept


2 (
3 Deptno NUMBER(2)
4 CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5 CONSTRAINT MyDept_Deptno_CHK01
6 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7 DName VARCHAR2(16)
8 CONSTRAINT MyDept_DName_NN NOT NULL
9 DEFAULT 'NOT GIVEN')
10 CONSTRAINT MyDept_DName_UNQ UNIQUE
11 CONSTRAINT MyDept_DName_CHK01
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

12 CHECK(DName = UPPER(DName)),
13 Loc VARCHAR2(14)
14 CONSTRAINT MyDept_Loc_NN NOT NULL
15 DEFAULT 'NOT GIVEN'
16 CONSTRAINT MyDept_Loc_CHK01
17 CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18* )
SQL> /
DEFAULT 'NOT GIVEN')
*
ERROR at line 9:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyDept


2 (
3 Deptno NUMBER(2)
4 CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5 CONSTRAINT MyDept_Deptno_CHK01
6 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7 DName VARCHAR2(16)
8 CONSTRAINT MyDept_DName_NN NOT NULL
9 (DEFAULT 'NOT GIVEN')
10 CONSTRAINT MyDept_DName_UNQ UNIQUE
11 CONSTRAINT MyDept_DName_CHK01
12 CHECK(DName = UPPER(DName)),
13 Loc VARCHAR2(14)
14 CONSTRAINT MyDept_Loc_NN NOT NULL
15 DEFAULT 'NOT GIVEN'
16 CONSTRAINT MyDept_Loc_CHK01
17 CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18* )
SQL> /
(DEFAULT 'NOT GIVEN')
*
ERROR at line 9:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyDept


2 (
3 Deptno NUMBER(2)
4 CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5 CONSTRAINT MyDept_Deptno_CHK01
6 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7 DName VARCHAR2(16)
8 DEFAULT 'NOT GIVEN'
9 CONSTRAINT MyDept_DName_NN NOT NULL
10 CONSTRAINT MyDept_DName_UNQ UNIQUE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

11 CONSTRAINT MyDept_DName_CHK01
12 CHECK(DName = UPPER(DName)),
13 Loc VARCHAR2(14)
14 CONSTRAINT MyDept_Loc_NN NOT NULL
15 DEFAULT 'NOT GIVEN'
16 CONSTRAINT MyDept_Loc_CHK01
17 CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18* )
SQL> /
DEFAULT 'NOT GIVEN'
*
ERROR at line 15:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyDept


2 (
3 Deptno NUMBER(2)
4 CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5 CONSTRAINT MyDept_Deptno_CHK01
6 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7 DName VARCHAR2(16)
8 DEFAULT 'Not Given'
9 CONSTRAINT MyDept_DName_NN NOT NULL
10 CONSTRAINT MyDept_DName_UNQ UNIQUE
11 CONSTRAINT MyDept_DName_CHK01
12 CHECK(DName = UPPER(DName)),
13 Loc VARCHAR2(14)
14 DEFAULT 'NOT GIVEN'
15 CONSTRAINT MyDept_Loc_NN NOT NULL
16 CONSTRAINT MyDept_Loc_CHK01
17 CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS'))
18* )
SQL> /

Table created.

SQL> INSERT INTO MyDept


2 VALUES(1, 'ACCOUNTING', 'NEW YORK');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_DEPTNO_CHK01) violated

SQL> INSERT INTO MyDept


2 VALUES(10, 'ACCOUNTING', 'NEW YORK');

1 row created.

SQL> INSERT INTO MyDept


2 VALUES(11, 'ACCOUNTING', 'NEW YORK');
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

INSERT INTO MyDept


*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_DEPTNO_CHK01) violated

SQL> INSERT INTO MyDept


2 VALUES(20, 'ACCOUNTING', 'NEW YORK');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.MYDEPT_DNAME_UNQ) violated

SQL> INSERT INTO MyDept


2 VALUES(20, 'RESEARCH', 'BOSTON');

1 row created.

SQL> INSERT INTO MyDept


2 VALUES(30, 'SALES', 'Chicago');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_LOC_CHK01) violated

SQL> INSERT INTO MyDept


2 VALUES(30, 'SALES', 'CHICAGO');

1 row created.

SQL> INSERT INTO MyDept


2 VALUES(40, 'OPERATIONS');
INSERT INTO MyDept
*
ERROR at line 1:
ORA-00947: not enough values

SQL> INSERT INTO MyDept(Deptno, Loc)


2 VALUES(50, 'BOSTON');
INSERT INTO MyDept(Deptno, Loc)
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_DNAME_CHK01) violated

SQL> INSERT INTO MyDept(Deptno, DName)


2 VALUES(40, 'OPEARTIONS');
INSERT INTO MyDept(Deptno, DName)
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.MYDEPT_LOC_CHK01) violated

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO MyDept(Deptno, DName)


2* VALUES(40, 'OPEARTIONS')
SQL> DROP TABLE MyDept;

Table dropped.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyDept


2 (
3 Deptno NUMBER(2)
4 CONSTRAINT MyDept_Deptno_PK PRIMARY KEY
5 CONSTRAINT MyDept_Deptno_CHK01
6 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
7 DName VARCHAR2(16)
8 DEFAULT 'NOT GIVEN'
9 CONSTRAINT MyDept_DName_NN NOT NULL
10 CONSTRAINT MyDept_DName_UNQ UNIQUE
11 CONSTRAINT MyDept_DName_CHK01
12 CHECK(DName = UPPER(DName)),
13 Loc VARCHAR2(14)
14 DEFAULT 'NOT GIVEN'
15 CONSTRAINT MyDept_Loc_NN NOT NULL
16 CONSTRAINT MyDept_Loc_CHK01
17 CHECK(Loc IN('NEW YORK', 'BOSTON', 'CHICAGO', 'DALLAS', 'NOT GIVEN'))
18* )
SQL> /

Table created.

SQL> INSERT INTO MyDept(Deptno, DName)


2 VALUES(10, 'OPERATIONS');

1 row created.

SQL> INSERT INTO MyDept(Deptno, Loc)


2 VALUES(20, 'BOSTON');

1 row created.

SQL> SELECT * FROM MyDept;

DEPTNO DNAME LOC


---------- ---------------- --------------
10 OPERATIONS NOT GIVEN
20 NOT GIVEN BOSTON

SQL> INSERT INTO MyDept(Deptno, DName)


2 VALUES(30, 'ACCOUNTING');

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.

SQL> SELECT * FROM MyDept;

DEPTNO DNAME LOC


---------- ---------------- --------------
10 OPERATIONS NOT GIVEN
20 NOT GIVEN BOSTON
30 ACCOUNTING NOT GIVEN

SQL> INSERT INTO MyDept(Deptno, DName)


2
SQL> INSERT INTO MyDept(Deptno, Loc)
2 VALUES(40, 'CHICAGO');
INSERT INTO MyDept(Deptno, Loc)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.MYDEPT_DNAME_UNQ) violated

SQL> cl scr

SQL> CREATE TABLE MyEmp


2 (
3 Empno NUMBER(4)
4 CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
5 CONSTRAINT MyEmp_Empno_CHK01
6 CHECK(Empno >= 1000 AND Empno <= 4000),
7 Ename VARCHAR2(10)
8 DEFAULT 'NOT GIVEN'
9 CONSTRAINT MyEmp_Ename_NN NOT NULL
10 CONSTRAINT MyEmp_Ename_CHK01
11 CHECK(EName = UPPER(EName)),
12 Job VARCHAR2(14)
13 DEFAULT 'NOT GIVEN'
14 CONSTRAINT MyEmp_Job_NN NOT NULL
15 CONSTRAINT MyEmp_Job_CHK01
16 CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17 MGR NUMBER(4)
18 CONSTRAINT MyEmp_MGR_CHK01
19 CHECK(MGR >= 1000 AND MGR <= 4000),
20 Sal NUMBER(7, 2)
21 CONSTRAINT MyEmp_Sal_NN NOT NULL
22 CONSTRAINT MyEmp_Sal_CHK01
23 CHECK(Sal BETWEEN 1000 AND 90000),
24 Comm NUMBER(7, 2),
25 HireDate DATE
26 DEFAULT SYSDATE
27 CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28 Deptno NUMBER(2)
29 CONSTRAINT MyEmp_Deptno_NN NOT NULL
30 CONSTRAINT MyEmp_Deptno_CHK
31 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90))
32 CONSTRAINT MyEmp_Deptno_FK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

33 RFERENCES MyDept(Deptno),
34 CONSTRAINT MyEmpSalAndComm_CHK
35 CHECK(Sal + NVL(Comm, 0) <= 90000)
36 );
CONSTRAINT MyEmp_Deptno_FK
*
ERROR at line 32:
ORA-02253: constraint specification not allowed here

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyEmp


2 (
3 Empno NUMBER(4)
4 CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
5 CONSTRAINT MyEmp_Empno_CHK01
6 CHECK(Empno >= 1000 AND Empno <= 4000),
7 Ename VARCHAR2(10)
8 DEFAULT 'NOT GIVEN'
9 CONSTRAINT MyEmp_Ename_NN NOT NULL
10 CONSTRAINT MyEmp_Ename_CHK01
11 CHECK(EName = UPPER(EName)),
12 Job VARCHAR2(14)
13 DEFAULT 'NOT GIVEN'
14 CONSTRAINT MyEmp_Job_NN NOT NULL
15 CONSTRAINT MyEmp_Job_CHK01
16 CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17 MGR NUMBER(4)
18 CONSTRAINT MyEmp_MGR_CHK01
19 CHECK(MGR >= 1000 AND MGR <= 4000),
20 Sal NUMBER(7, 2)
21 CONSTRAINT MyEmp_Sal_NN NOT NULL
22 CONSTRAINT MyEmp_Sal_CHK01
23 CHECK(Sal BETWEEN 1000 AND 90000),
24 Comm NUMBER(7, 2),
25 HireDate DATE
26 DEFAULT SYSDATE
27 CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28 Deptno NUMBER(2)
29 CONSTRAINT MyEmp_Deptno_NN NOT NULL
30 CONSTRAINT MyEmp_Deptno_FK
31 RFERENCES MyDept(Deptno)
32 CONSTRAINT MyEmp_Deptno_CHK
33 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
34 CONSTRAINT MyEmpSalAndComm_CHK
35 CHECK(Sal + NVL(Comm, 0) <= 90000)
36* )
SQL> /
CONSTRAINT MyEmp_Deptno_FK
*
ERROR at line 30:
ORA-02253: constraint specification not allowed here
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyEmp


2 (
3 Empno NUMBER(4)
4 CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
5 CONSTRAINT MyEmp_Empno_CHK01
6 CHECK(Empno >= 1000 AND Empno <= 4000),
7 Ename VARCHAR2(10)
8 DEFAULT 'NOT GIVEN'
9 CONSTRAINT MyEmp_Ename_NN NOT NULL
10 CONSTRAINT MyEmp_Ename_CHK01
11 CHECK(EName = UPPER(EName)),
12 Job VARCHAR2(14)
13 DEFAULT 'NOT GIVEN'
14 CONSTRAINT MyEmp_Job_NN NOT NULL
15 CONSTRAINT MyEmp_Job_CHK01
16 CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17 MGR NUMBER(4)
18 CONSTRAINT MyEmp_MGR_CHK01
19 CHECK(MGR >= 1000 AND MGR <= 4000),
20 Sal NUMBER(7, 2)
21 CONSTRAINT MyEmp_Sal_NN NOT NULL
22 CONSTRAINT MyEmp_Sal_CHK01
23 CHECK(Sal BETWEEN 1000 AND 90000),
24 Comm NUMBER(7, 2),
25 HireDate DATE
26 DEFAULT SYSDATE
27 CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28 Deptno NUMBER(2)
29 CONSTRAINT MyEmp_Deptno_NN NOT NULL
30 CONSTRAINT MyEmp_Deptno_FK
31 RFERENCES MyDept(Deptno),
32 CONSTRAINT MyEmpSalAndComm_CHK
33 CHECK(Sal + NVL(Comm, 0) <= 90000)
34* )
SQL> /
CONSTRAINT MyEmp_Deptno_FK
*
ERROR at line 30:
ORA-02253: constraint specification not allowed here

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE MyEmp


2 (
3 Empno NUMBER(4)
4 CONSTRAINT MyEmp_Empno_PK PRIMARY KEY
5 CONSTRAINT MyEmp_Empno_CHK01
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6 CHECK(Empno >= 1000 AND Empno <= 4000),


7 Ename VARCHAR2(10)
8 DEFAULT 'NOT GIVEN'
9 CONSTRAINT MyEmp_Ename_NN NOT NULL
10 CONSTRAINT MyEmp_Ename_CHK01
11 CHECK(EName = UPPER(EName)),
12 Job VARCHAR2(14)
13 DEFAULT 'NOT GIVEN'
14 CONSTRAINT MyEmp_Job_NN NOT NULL
15 CONSTRAINT MyEmp_Job_CHK01
16 CHECK(Job IN('PRESIDENT', 'MANAGER', 'ANALYST', 'SALESMAN', 'CLERK', 'NOT
GIVEN')),
17 MGR NUMBER(4)
18 CONSTRAINT MyEmp_MGR_CHK01
19 CHECK(MGR >= 1000 AND MGR <= 4000),
20 Sal NUMBER(7, 2)
21 CONSTRAINT MyEmp_Sal_NN NOT NULL
22 CONSTRAINT MyEmp_Sal_CHK01
23 CHECK(Sal BETWEEN 1000 AND 90000),
24 Comm NUMBER(7, 2),
25 HireDate DATE
26 DEFAULT SYSDATE
27 CONSTRAINT MyEmp_HireDate_NN NOT NULL,
28 Deptno NUMBER(2)
29 CONSTRAINT MyEmp_Deptno_NN NOT NULL
30 CONSTRAINT MyEmp_Deptno_FK
31 REFERENCES MyDept(Deptno)
32 CONSTRAINT MyEmp_Deptno_CHK
33 CHECK(Deptno IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
34 CONSTRAINT MyEmpSalAndComm_CHK
35 CHECK(Sal + NVL(Comm, 0) <= 90000)
36* )
SQL> /

Table created.

SQL> ALTER TABLE MyEmp


2 ADD
3 (
4 CONSTRAINT MyEmp_MGR_FK
5 FOREIGN KEY(MGR)
6 REFERENCES MyEmp(Empno)
7 ON DELETE SET NULL
8 );

Table altered.

SQL> cl scr

SQL> CREATE TABLE SampleALT


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE
6 );
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Table created.

SQL> ALTER TABLE SampleALT


2 ADD(
3
SQL> ALTER TABLE SampleALT
2 ADD
3 (
4 CONSTRAINT SampleALT_SampID_PK
5 PRIMARY KEY(SampID),
6 CONSTRAINT SampleALT_SampID_CHK
7 CHECK(SampID >= 10),
8 CONSTRAINT SampleALT_SampName_CHK
9 CHECK(SampName = UPPER(SampName))
10 );

Table altered.

SQL> cl scr

SQL> DESC USER_CONSTRAINTS


Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14)

SQL> COLUMN CONSTRAINT_NAME FORMAT A20


SQL> COLUMN TABLE_NAME FORMAT A15
SQL> COLUMN SEARCH_CONDITION FORMAT A25
SQL> SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION
2 FROM USER_CONSTRAINTS
3 WHERE TABLE_NAME = 'SAMPLEALT';

CONSTRAINT_NAME C TABLE_NAME SEARCH_CONDITION


-------------------- - --------------- -------------------------
SAMPLEALT_SAMPID_PK P SAMPLEALT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SAMPLEALT_SAMPID_CHK C SAMPLEALT SampID >= 10


SAMPLEALT_SAMPNAME_C C SAMPLEALT SampName = UPPER(SampName
HK )

SQL> DESC USER_CONS_COLUMS


ERROR:
ORA-04043: object USER_CONS_COLUMS does not exist

SQL> DESC USER_CONS_COLUMNS


Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
POSITION NUMBER

SQL> DESC MYEmp


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME NOT NULL VARCHAR2(10)
JOB NOT NULL VARCHAR2(14)
MGR NUMBER(4)
SAL NOT NULL NUMBER(7,2)
COMM NUMBER(7,2)
HIREDATE NOT NULL DATE
DEPTNO NOT NULL NUMBER(2)

SQL> SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, SEARCH_CONDITION


2 FROM USER_CONSTRAINTS
3 WHERE TABLE_NAME = 'MYEMP';

CONSTRAINT_NAME C TABLE_NAME SEARCH_CONDITION


-------------------- - --------------- -------------------------
MYEMP_ENAME_NN C MYEMP "ENAME" IS NOT NULL
MYEMP_JOB_NN C MYEMP "JOB" IS NOT NULL
MYEMP_SAL_NN C MYEMP "SAL" IS NOT NULL
MYEMP_HIREDATE_NN C MYEMP "HIREDATE" IS NOT NULL
MYEMP_DEPTNO_NN C MYEMP "DEPTNO" IS NOT NULL
MYEMP_EMPNO_CHK01 C MYEMP Empno >= 1000 AND Empno <
= 4000

MYEMP_ENAME_CHK01 C MYEMP EName = UPPER(EName)


MYEMP_JOB_CHK01 C MYEMP Job IN('PRESIDENT', 'MANA
GER', 'ANALYST', 'SALESMA

CONSTRAINT_NAME C TABLE_NAME SEARCH_CONDITION


-------------------- - --------------- -------------------------
N', 'CLERK', 'NOT GIVEN')

MYEMP_MGR_CHK01 C MYEMP MGR >= 1000 AND MGR <= 40


00
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MYEMP_SAL_CHK01 C MYEMP Sal BETWEEN 1000 AND 9000


0

MYEMP_DEPTNO_CHK C MYEMP Deptno IN(10, 20, 30, 40,


50, 60, 70, 80, 90)

CONSTRAINT_NAME C TABLE_NAME SEARCH_CONDITION


-------------------- - --------------- -------------------------
MYEMPSALANDCOMM_CHK C MYEMP Sal + NVL(Comm, 0) <= 900
00

MYEMP_EMPNO_PK P MYEMP
MYEMP_DEPTNO_FK R MYEMP
MYEMP_MGR_FK R MYEMP

15 rows selected.

SQL> cl scr

SQL> DESC USER_CONSTRAINTS


Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14)

SQL> DESC USER_CONS_COLUMNS


Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
POSITION NUMBER

SQL> SPOOL OFF


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT Ename, Sal, Job, Dname, Loc


2 FROM Emp, Dept;

ENAME SAL JOB DNAME LOC


---------- ---------- --------- -------------- -------------
KING 5000 PRESIDENT ACCOUNTING NEW YORK
BLAKE 2850 MANAGER ACCOUNTING NEW YORK
CLARK 2450 MANAGER ACCOUNTING NEW YORK
JONES 2975 MANAGER ACCOUNTING NEW YORK
MARTIN 1250 SALESMAN ACCOUNTING NEW YORK
ALLEN 1600 SALESMAN ACCOUNTING NEW YORK
TURNER 1500 SALESMAN ACCOUNTING NEW YORK
JAMES 950 CLERK ACCOUNTING NEW YORK
WARD 1250 SALESMAN ACCOUNTING NEW YORK
FORD 3000 ANALYST ACCOUNTING NEW YORK
SMITH 800 CLERK ACCOUNTING NEW YORK

ENAME SAL JOB DNAME LOC


---------- ---------- --------- -------------- -------------
SCOTT 3000 ANALYST ACCOUNTING NEW YORK
ADAMS 1100 CLERK ACCOUNTING NEW YORK
MILLER 1300 CLERK ACCOUNTING NEW YORK
KING 5000 PRESIDENT RESEARCH DALLAS
BLAKE 2850 MANAGER RESEARCH DALLAS
CLARK 2450 MANAGER RESEARCH DALLAS
JONES 2975 MANAGER RESEARCH DALLAS
MARTIN 1250 SALESMAN RESEARCH DALLAS
ALLEN 1600 SALESMAN RESEARCH DALLAS
TURNER 1500 SALESMAN RESEARCH DALLAS
JAMES 950 CLERK RESEARCH DALLAS

ENAME SAL JOB DNAME LOC


---------- ---------- --------- -------------- -------------
WARD 1250 SALESMAN RESEARCH DALLAS
FORD 3000 ANALYST RESEARCH DALLAS
SMITH 800 CLERK RESEARCH DALLAS
SCOTT 3000 ANALYST RESEARCH DALLAS
ADAMS 1100 CLERK RESEARCH DALLAS
MILLER 1300 CLERK RESEARCH DALLAS
KING 5000 PRESIDENT SALES CHICAGO
BLAKE 2850 MANAGER SALES CHICAGO
CLARK 2450 MANAGER SALES CHICAGO
JONES 2975 MANAGER SALES CHICAGO
MARTIN 1250 SALESMAN SALES CHICAGO

ENAME SAL JOB DNAME LOC


---------- ---------- --------- -------------- -------------
ALLEN 1600 SALESMAN SALES CHICAGO
TURNER 1500 SALESMAN SALES CHICAGO
JAMES 950 CLERK SALES CHICAGO
WARD 1250 SALESMAN SALES CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

FORD 3000 ANALYST SALES CHICAGO


SMITH 800 CLERK SALES CHICAGO
SCOTT 3000 ANALYST SALES CHICAGO
ADAMS 1100 CLERK SALES CHICAGO
MILLER 1300 CLERK SALES CHICAGO
KING 5000 PRESIDENT OPERATIONS BOSTON
BLAKE 2850 MANAGER OPERATIONS BOSTON

ENAME SAL JOB DNAME LOC


---------- ---------- --------- -------------- -------------
CLARK 2450 MANAGER OPERATIONS BOSTON
JONES 2975 MANAGER OPERATIONS BOSTON
MARTIN 1250 SALESMAN OPERATIONS BOSTON
ALLEN 1600 SALESMAN OPERATIONS BOSTON
TURNER 1500 SALESMAN OPERATIONS BOSTON
JAMES 950 CLERK OPERATIONS BOSTON
WARD 1250 SALESMAN OPERATIONS BOSTON
FORD 3000 ANALYST OPERATIONS BOSTON
SMITH 800 CLERK OPERATIONS BOSTON
SCOTT 3000 ANALYST OPERATIONS BOSTON
ADAMS 1100 CLERK OPERATIONS BOSTON

ENAME SAL JOB DNAME LOC


---------- ---------- --------- -------------- -------------
MILLER 1300 CLERK OPERATIONS BOSTON

56 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job


2* FROM Emp, Dept
SQL> /

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
KING 5000 PRESIDENT
KING 5000 PRESIDENT
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
BLAKE 2850 MANAGER
BLAKE 2850 MANAGER
BLAKE 2850 MANAGER
CLARK 2450 MANAGER
CLARK 2450 MANAGER
CLARK 2450 MANAGER

ENAME SAL JOB


---------- ---------- ---------
CLARK 2450 MANAGER
JONES 2975 MANAGER
JONES 2975 MANAGER
JONES 2975 MANAGER
JONES 2975 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN 1250 SALESMAN


MARTIN 1250 SALESMAN
MARTIN 1250 SALESMAN
MARTIN 1250 SALESMAN
ALLEN 1600 SALESMAN
ALLEN 1600 SALESMAN

ENAME SAL JOB


---------- ---------- ---------
ALLEN 1600 SALESMAN
ALLEN 1600 SALESMAN
TURNER 1500 SALESMAN
TURNER 1500 SALESMAN
TURNER 1500 SALESMAN
TURNER 1500 SALESMAN
JAMES 950 CLERK
JAMES 950 CLERK
JAMES 950 CLERK
JAMES 950 CLERK
WARD 1250 SALESMAN

ENAME SAL JOB


---------- ---------- ---------
WARD 1250 SALESMAN
WARD 1250 SALESMAN
WARD 1250 SALESMAN
FORD 3000 ANALYST
FORD 3000 ANALYST
FORD 3000 ANALYST
FORD 3000 ANALYST
SMITH 800 CLERK
SMITH 800 CLERK
SMITH 800 CLERK
SMITH 800 CLERK

ENAME SAL JOB


---------- ---------- ---------
SCOTT 3000 ANALYST
SCOTT 3000 ANALYST
SCOTT 3000 ANALYST
SCOTT 3000 ANALYST
ADAMS 1100 CLERK
ADAMS 1100 CLERK
ADAMS 1100 CLERK
ADAMS 1100 CLERK
MILLER 1300 CLERK
MILLER 1300 CLERK
MILLER 1300 CLERK

ENAME SAL JOB


---------- ---------- ---------
MILLER 1300 CLERK

56 rows selected.

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT Dname, Loc


2* FROM Emp, Dept
SQL> /

DNAME LOC
-------------- -------------
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK

DNAME LOC
-------------- -------------
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
ACCOUNTING NEW YORK
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS

DNAME LOC
-------------- -------------
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
RESEARCH DALLAS
SALES CHICAGO
SALES CHICAGO
SALES CHICAGO
SALES CHICAGO
SALES CHICAGO

DNAME LOC
-------------- -------------
SALES CHICAGO
SALES CHICAGO
SALES CHICAGO
SALES CHICAGO
SALES CHICAGO
SALES CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SALES CHICAGO
SALES CHICAGO
SALES CHICAGO
OPERATIONS BOSTON
OPERATIONS BOSTON

DNAME LOC
-------------- -------------
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON
OPERATIONS BOSTON

DNAME LOC
-------------- -------------
OPERATIONS BOSTON

56 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Deptno, Dname, Loc


2* FROM Emp, Dept
SQL> /
SELECT Ename, Job, Deptno, Dname, Loc
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Emp.Deptno, Dname, Loc


2* FROM Emp, Dept
SQL> /

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
KING PRESIDENT 10 ACCOUNTING NEW YORK
BLAKE MANAGER 30 ACCOUNTING NEW YORK
CLARK MANAGER 10 ACCOUNTING NEW YORK
JONES MANAGER 20 ACCOUNTING NEW YORK
MARTIN SALESMAN 30 ACCOUNTING NEW YORK
ALLEN SALESMAN 30 ACCOUNTING NEW YORK
TURNER SALESMAN 30 ACCOUNTING NEW YORK
JAMES CLERK 30 ACCOUNTING NEW YORK
WARD SALESMAN 30 ACCOUNTING NEW YORK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

FORD ANALYST 20 ACCOUNTING NEW YORK


SMITH CLERK 20 ACCOUNTING NEW YORK

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
SCOTT ANALYST 20 ACCOUNTING NEW YORK
ADAMS CLERK 20 ACCOUNTING NEW YORK
MILLER CLERK 10 ACCOUNTING NEW YORK
KING PRESIDENT 10 RESEARCH DALLAS
BLAKE MANAGER 30 RESEARCH DALLAS
CLARK MANAGER 10 RESEARCH DALLAS
JONES MANAGER 20 RESEARCH DALLAS
MARTIN SALESMAN 30 RESEARCH DALLAS
ALLEN SALESMAN 30 RESEARCH DALLAS
TURNER SALESMAN 30 RESEARCH DALLAS
JAMES CLERK 30 RESEARCH DALLAS

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
WARD SALESMAN 30 RESEARCH DALLAS
FORD ANALYST 20 RESEARCH DALLAS
SMITH CLERK 20 RESEARCH DALLAS
SCOTT ANALYST 20 RESEARCH DALLAS
ADAMS CLERK 20 RESEARCH DALLAS
MILLER CLERK 10 RESEARCH DALLAS
KING PRESIDENT 10 SALES CHICAGO
BLAKE MANAGER 30 SALES CHICAGO
CLARK MANAGER 10 SALES CHICAGO
JONES MANAGER 20 SALES CHICAGO
MARTIN SALESMAN 30 SALES CHICAGO

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
ALLEN SALESMAN 30 SALES CHICAGO
TURNER SALESMAN 30 SALES CHICAGO
JAMES CLERK 30 SALES CHICAGO
WARD SALESMAN 30 SALES CHICAGO
FORD ANALYST 20 SALES CHICAGO
SMITH CLERK 20 SALES CHICAGO
SCOTT ANALYST 20 SALES CHICAGO
ADAMS CLERK 20 SALES CHICAGO
MILLER CLERK 10 SALES CHICAGO
KING PRESIDENT 10 OPERATIONS BOSTON
BLAKE MANAGER 30 OPERATIONS BOSTON

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
CLARK MANAGER 10 OPERATIONS BOSTON
JONES MANAGER 20 OPERATIONS BOSTON
MARTIN SALESMAN 30 OPERATIONS BOSTON
ALLEN SALESMAN 30 OPERATIONS BOSTON
TURNER SALESMAN 30 OPERATIONS BOSTON
JAMES CLERK 30 OPERATIONS BOSTON
WARD SALESMAN 30 OPERATIONS BOSTON
FORD ANALYST 20 OPERATIONS BOSTON
SMITH CLERK 20 OPERATIONS BOSTON
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT ANALYST 20 OPERATIONS BOSTON


ADAMS CLERK 20 OPERATIONS BOSTON

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
MILLER CLERK 10 OPERATIONS BOSTON

56 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Dept.Deptno, Dname, Loc


2* FROM Emp, Dept
SQL> /

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
KING PRESIDENT 10 ACCOUNTING NEW YORK
BLAKE MANAGER 10 ACCOUNTING NEW YORK
CLARK MANAGER 10 ACCOUNTING NEW YORK
JONES MANAGER 10 ACCOUNTING NEW YORK
MARTIN SALESMAN 10 ACCOUNTING NEW YORK
ALLEN SALESMAN 10 ACCOUNTING NEW YORK
TURNER SALESMAN 10 ACCOUNTING NEW YORK
JAMES CLERK 10 ACCOUNTING NEW YORK
WARD SALESMAN 10 ACCOUNTING NEW YORK
FORD ANALYST 10 ACCOUNTING NEW YORK
SMITH CLERK 10 ACCOUNTING NEW YORK

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
SCOTT ANALYST 10 ACCOUNTING NEW YORK
ADAMS CLERK 10 ACCOUNTING NEW YORK
MILLER CLERK 10 ACCOUNTING NEW YORK
KING PRESIDENT 20 RESEARCH DALLAS
BLAKE MANAGER 20 RESEARCH DALLAS
CLARK MANAGER 20 RESEARCH DALLAS
JONES MANAGER 20 RESEARCH DALLAS
MARTIN SALESMAN 20 RESEARCH DALLAS
ALLEN SALESMAN 20 RESEARCH DALLAS
TURNER SALESMAN 20 RESEARCH DALLAS
JAMES CLERK 20 RESEARCH DALLAS

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
WARD SALESMAN 20 RESEARCH DALLAS
FORD ANALYST 20 RESEARCH DALLAS
SMITH CLERK 20 RESEARCH DALLAS
SCOTT ANALYST 20 RESEARCH DALLAS
ADAMS CLERK 20 RESEARCH DALLAS
MILLER CLERK 20 RESEARCH DALLAS
KING PRESIDENT 30 SALES CHICAGO
BLAKE MANAGER 30 SALES CHICAGO
CLARK MANAGER 30 SALES CHICAGO
JONES MANAGER 30 SALES CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN SALESMAN 30 SALES CHICAGO

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
ALLEN SALESMAN 30 SALES CHICAGO
TURNER SALESMAN 30 SALES CHICAGO
JAMES CLERK 30 SALES CHICAGO
WARD SALESMAN 30 SALES CHICAGO
FORD ANALYST 30 SALES CHICAGO
SMITH CLERK 30 SALES CHICAGO
SCOTT ANALYST 30 SALES CHICAGO
ADAMS CLERK 30 SALES CHICAGO
MILLER CLERK 30 SALES CHICAGO
KING PRESIDENT 40 OPERATIONS BOSTON
BLAKE MANAGER 40 OPERATIONS BOSTON

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
CLARK MANAGER 40 OPERATIONS BOSTON
JONES MANAGER 40 OPERATIONS BOSTON
MARTIN SALESMAN 40 OPERATIONS BOSTON
ALLEN SALESMAN 40 OPERATIONS BOSTON
TURNER SALESMAN 40 OPERATIONS BOSTON
JAMES CLERK 40 OPERATIONS BOSTON
WARD SALESMAN 40 OPERATIONS BOSTON
FORD ANALYST 40 OPERATIONS BOSTON
SMITH CLERK 40 OPERATIONS BOSTON
SCOTT ANALYST 40 OPERATIONS BOSTON
ADAMS CLERK 40 OPERATIONS BOSTON

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
MILLER CLERK 40 OPERATIONS BOSTON

56 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, Emp.Deptno, Dname, Loc


2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
BLAKE 30 SALES CHICAGO
CLARK 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO
FORD 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
MILLER 10 ACCOUNTING NEW YORK

14 rows selected.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> cl scr

SQL> Select
2 Empno,
3 Ename,
4 Sal,
5 Sal * 12 AnnSal,
6 Emp.Deptno,
7 Loc
8 FROM Emp, Dept
9 WHERE Emp.Deptno = Dept.Deptno;

EMPNO ENAME SAL ANNSAL DEPTNO LOC


---------- ---------- ---------- ---------- ---------- -------------
7839 KING 5000 60000 10 NEW YORK
7782 CLARK 2450 29400 10 NEW YORK
7934 MILLER 1300 15600 10 NEW YORK
7566 JONES 2975 35700 20 DALLAS
7788 SCOTT 3000 36000 20 DALLAS
7876 ADAMS 1100 13200 20 DALLAS
7369 SMITH 800 9600 20 DALLAS
7902 FORD 3000 36000 20 DALLAS
7698 BLAKE 2850 34200 30 CHICAGO
7654 MARTIN 1250 15000 30 CHICAGO
7499 ALLEN 1600 19200 30 CHICAGO

EMPNO ENAME SAL ANNSAL DEPTNO LOC


---------- ---------- ---------- ---------- ---------- -------------
7844 TURNER 1500 18000 30 CHICAGO
7900 JAMES 950 11400 30 CHICAGO
7521 WARD 1250 15000 30 CHICAGO

14 rows selected.

SQL> cl scr

SQL> Select
2 Dept.Deptno,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 Dname,
4 Loc,
5 SUM(Sal)
6 FROM Emp, Dept
7 WHERE Emp.Deptno = Dept.Deptno
8 GROUP BY Dept.Deptno, Dname, Loc;

DEPTNO DNAME LOC SUM(SAL)


---------- -------------- ------------- ----------
10 ACCOUNTING NEW YORK 8750
20 RESEARCH DALLAS 10875
30 SALES CHICAGO 9400

SQL> Select
2 TO_CHAR(HireDate, 'YYYY') Year,
3 Dept.Deptno,
4 Dname,
5 SUM(Sal)
6 FROM Emp, Dept
7 WHERE Emp.Deptno = Dept.Deptno
8 GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
9 ORDER BY Year;

YEAR DEPTNO DNAME SUM(SAL)


---- ---------- -------------- ----------
1980 20 RESEARCH 800
1981 10 ACCOUNTING 7450
1981 20 RESEARCH 5975
1981 30 SALES 9400
1982 10 ACCOUNTING 1300
1982 20 RESEARCH 3000
1983 20 RESEARCH 1100

7 rows selected.

SQL> cl scr

SQL> Select
2 TO_CHAR(HireDate, 'YYYY') Year,
3 Dept.Deptno,
4 Dname,
5 SUM(Sal)
6 FROM Emp, Dept
7 WHERE Emp.Deptno = Dept.Deptno
8 GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
9 HAVING COUNT(TO_CHAR(HireDate, 'YYYY')) > 2
10 ORDER BY Year;

YEAR DEPTNO DNAME SUM(SAL)


---- ---------- -------------- ----------
1981 30 SALES 9400

SQL> ED
Wrote file afiedt.buf

1 Select
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 TO_CHAR(HireDate, 'YYYY') Year,


3 Dept.Deptno,
4 Dname,
5 SUM(Sal)
6 FROM Emp, Dept
7 WHERE Emp.Deptno = Dept.Deptno
8 GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
9* ORDER BY Year
SQL> /

YEAR DEPTNO DNAME SUM(SAL)


---- ---------- -------------- ----------
1980 20 RESEARCH 800
1981 10 ACCOUNTING 7450
1981 20 RESEARCH 5975
1981 30 SALES 9400
1982 10 ACCOUNTING 1300
1982 20 RESEARCH 3000
1983 20 RESEARCH 1100

7 rows selected.

SQL> ED
Wrote file afiedt.buf

1 Select
2 TO_CHAR(HireDate, 'YYYY') Year,
3 Dept.Deptno,
4 Dname,
5 COUNT(*) Cnt,
6 SUM(Sal)
7 FROM Emp, Dept
8 WHERE Emp.Deptno = Dept.Deptno
9 GROUP BY TO_CHAR(HireDate, 'YYYY'), Dept.Deptno, Dname
10* ORDER BY Year
SQL> /

YEAR DEPTNO DNAME CNT SUM(SAL)


---- ---------- -------------- ---------- ----------
1980 20 RESEARCH 1 800
1981 10 ACCOUNTING 2 7450
1981 20 RESEARCH 2 5975
1981 30 SALES 6 9400
1982 10 ACCOUNTING 1 1300
1982 20 RESEARCH 1 3000
1983 20 RESEARCH 1 1100

7 rows selected.

SQL> cl scr

SQL> SELECT Ename, Ename


2 FROM Emp;

ENAME ENAME
---------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING KING
BLAKE BLAKE
CLARK CLARK
JONES JONES
MARTIN MARTIN
ALLEN ALLEN
TURNER TURNER
JAMES JAMES
WARD WARD
FORD FORD
SMITH SMITH

ENAME ENAME
---------- ----------
SCOTT SCOTT
ADAMS ADAMS
MILLER MILLER

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Sal


2* FROM Emp, Emp
SQL> /
SELECT Ename, Job, Sal
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf

1 SELECT 125
2* FROM Emp
SQL> /

125
----------
125
125
125
125
125
125
125
125
125
125
125

125
----------
125
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

125
125

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT 125
2* FROM Emp, Emp
SQL> /

SQL> cl scr

SQL> SELECT Ename


2 FROM Emp, Emp
3
SQL> ED
Wrote file afiedt.buf

1 SELECT Ename
2* FROM Emp E1, Emp E2
SQL> /
SELECT Ename
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf

1 SELECT E1.Ename
2* FROM Emp E1, Emp E2
SQL> /

SQL> cl scr

SQL> SELECT
2 E.Empno,
3 E.Ename,
4 D.Deptno,
5 D.Dname
6 FROM Emp E, Dept D
7 WHERE E.Deptno = D.Deptno;

EMPNO ENAME DEPTNO DNAME


---------- ---------- ---------- --------------
7839 KING 10 ACCOUNTING
7782 CLARK 10 ACCOUNTING
7934 MILLER 10 ACCOUNTING
7566 JONES 20 RESEARCH
7788 SCOTT 20 RESEARCH
7876 ADAMS 20 RESEARCH
7369 SMITH 20 RESEARCH
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7902 FORD 20 RESEARCH


7698 BLAKE 30 SALES
7654 MARTIN 30 SALES
7499 ALLEN 30 SALES

EMPNO ENAME DEPTNO DNAME


---------- ---------- ---------- --------------
7844 TURNER 30 SALES
7900 JAMES 30 SALES
7521 WARD 30 SALES

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 E.Empno,
3 E.Ename,
4 Dept.Deptno,
5 D.Dname
6 FROM Emp E, Dept D
7* WHERE E.Deptno = D.Deptno
SQL> /
Dept.Deptno,
*
ERROR at line 4:
ORA-00904: "DEPT"."DEPTNO": invalid identifier

SQL> SELECT
2 E.Ename,
3 E.Job,
4 D.Deptno,
5 D.Dname,
6 D.Loc
7 FROM Emp E, Dept D
8 WHERE E.Deptno = D.Deptno AND
9 E.Job IN('ANALYST', 'MANAGER' );

ENAME JOB DEPTNO DNAME LOC


---------- --------- ---------- -------------- -------------
CLARK MANAGER 10 ACCOUNTING NEW YORK
JONES MANAGER 20 RESEARCH DALLAS
FORD ANALYST 20 RESEARCH DALLAS
SCOTT ANALYST 20 RESEARCH DALLAS
BLAKE MANAGER 30 SALES CHICAGO

SQL> cl scr

SQL> SELECT
2 Ename,
3 DName,
4 Loc
5 FROM Emp Employees, Dept Departments
6 WHERE Employees.Deptno = Departments.Deptno;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME DNAME LOC


---------- -------------- -------------
KING ACCOUNTING NEW YORK
CLARK ACCOUNTING NEW YORK
MILLER ACCOUNTING NEW YORK
JONES RESEARCH DALLAS
SCOTT RESEARCH DALLAS
ADAMS RESEARCH DALLAS
SMITH RESEARCH DALLAS
FORD RESEARCH DALLAS
BLAKE SALES CHICAGO
MARTIN SALES CHICAGO
ALLEN SALES CHICAGO

ENAME DNAME LOC


---------- -------------- -------------
TURNER SALES CHICAGO
JAMES SALES CHICAGO
WARD SALES CHICAGO

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 DName,
4 Loc
5 FROM Emp E, Dept D
6* WHERE E.Deptno = D.Deptno
SQL> /

ENAME DNAME LOC


---------- -------------- -------------
KING ACCOUNTING NEW YORK
CLARK ACCOUNTING NEW YORK
MILLER ACCOUNTING NEW YORK
JONES RESEARCH DALLAS
SCOTT RESEARCH DALLAS
ADAMS RESEARCH DALLAS
SMITH RESEARCH DALLAS
FORD RESEARCH DALLAS
BLAKE SALES CHICAGO
MARTIN SALES CHICAGO
ALLEN SALES CHICAGO

ENAME DNAME LOC


---------- -------------- -------------
TURNER SALES CHICAGO
JAMES SALES CHICAGO
WARD SALES CHICAGO

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT Empno, Ename, MGR


2 FROM Emp;

EMPNO ENAME MGR


---------- ---------- ----------
7839 KING
7698 BLAKE 7839
7782 CLARK 7839
7566 JONES 7839
7654 MARTIN 7698
7499 ALLEN 7698
7844 TURNER 7698
7900 JAMES 7698
7521 WARD 7698
7902 FORD 7566
7369 SMITH 7902

EMPNO ENAME MGR


---------- ---------- ----------
7788 SCOTT 7566
7876 ADAMS 7788
7934 MILLER 7782

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Sal, MGR


2* FROM Emp
SQL> /

EMPNO ENAME SAL MGR


---------- ---------- ---------- ----------
7839 KING 5000
7698 BLAKE 2850 7839
7782 CLARK 2450 7839
7566 JONES 2975 7839
7654 MARTIN 1250 7698
7499 ALLEN 1600 7698
7844 TURNER 1500 7698
7900 JAMES 950 7698
7521 WARD 1250 7698
7902 FORD 3000 7566
7369 SMITH 800 7902

EMPNO ENAME SAL MGR


---------- ---------- ---------- ----------
7788 SCOTT 3000 7566
7876 ADAMS 1100 7788
7934 MILLER 1300 7782

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT
2 E1.Ename "Employees",
3 E2. Ename "Managers"
4 FROM Emp E1, Emp E2
5 WHERE E1.Mgr = E2.Empno;

Employees Managers
---------- ----------
FORD JONES
SCOTT JONES
MARTIN BLAKE
ALLEN BLAKE
JAMES BLAKE
TURNER BLAKE
WARD BLAKE
MILLER CLARK
ADAMS SCOTT
BLAKE KING
CLARK KING

Employees Managers
---------- ----------
JONES KING
SMITH FORD

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 E1.Ename,
3 E2. Ename
4 FROM Emp E1, Emp E2
5* WHERE E1.Mgr = E2.Empno
SQL> /

ENAME ENAME
---------- ----------
FORD JONES
SCOTT JONES
MARTIN BLAKE
ALLEN BLAKE
JAMES BLAKE
TURNER BLAKE
WARD BLAKE
MILLER CLARK
ADAMS SCOTT
BLAKE KING
CLARK KING

ENAME ENAME
---------- ----------
JONES KING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SMITH FORD

13 rows selected.

SQL> cl scr

SQL> SELECT
2 Employees.Ename "Employees",
3 Managers.Ename "Managers"
4 FROM Emp Employees, Emp Managers
5 WHERE Employees.Mgr = Managers.Empno;

Employees Managers
---------- ----------
FORD JONES
SCOTT JONES
MARTIN BLAKE
ALLEN BLAKE
JAMES BLAKE
TURNER BLAKE
WARD BLAKE
MILLER CLARK
ADAMS SCOTT
BLAKE KING
CLARK KING

Employees Managers
---------- ----------
JONES KING
SMITH FORD

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Employees.Ename "Employees",
3 Managers.Ename "Managers"
4 FROM Emp Employees, Emp Managers
5* WHERE Managers.Mgr = Employees.Empno
SQL> /

Employees Managers
---------- ----------
JONES FORD
JONES SCOTT
BLAKE MARTIN
BLAKE ALLEN
BLAKE JAMES
BLAKE TURNER
BLAKE WARD
CLARK MILLER
SCOTT ADAMS
KING BLAKE
KING CLARK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Employees Managers
---------- ----------
KING JONES
FORD SMITH

13 rows selected.

SQL> cl scr

SQL> SELECT
2 E1.Ename||'''s Manager is '||
3 E2.Ename "Employees And Managers"
4 FROM Emp E1, Emp E2
5 WHERE E1.Mgr = E2.Empno;

Employees And Managers


----------------------------------
FORD's Manager is JONES
SCOTT's Manager is JONES
MARTIN's Manager is BLAKE
ALLEN's Manager is BLAKE
JAMES's Manager is BLAKE
TURNER's Manager is BLAKE
WARD's Manager is BLAKE
MILLER's Manager is CLARK
ADAMS's Manager is SCOTT
BLAKE's Manager is KING
CLARK's Manager is KING

Employees And Managers


----------------------------------
JONES's Manager is KING
SMITH's Manager is FORD

13 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Empno, Ename, Sal


2 FROM Emp;

EMPNO ENAME SAL


---------- ---------- ----------
7839 KING 5000
7698 BLAKE 2850
7782 CLARK 2450
7566 JONES 2975
7654 MARTIN 1250
7499 ALLEN 1600
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
7902 FORD 3000
7369 SMITH 800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

EMPNO ENAME SAL


---------- ---------- ----------
7788 SCOTT 3000
7876 ADAMS 1100
7934 MILLER 1300

14 rows selected.

SQL> SELECT LoSal, HiSal, Grade


2 FROM DalGrade;
FROM DalGrade
*
ERROR at line 2:
ORA-00942: table or view does not exist

SQL> Ed
Wrote file afiedt.buf

1 SELECT LoSal, HiSal, Grade


2* FROM SalGrade
SQL> /

LOSAL HISAL GRADE


---------- ---------- ----------
700 1200 1
1201 1400 2
1401 2000 3
2001 3000 4
3001 9999 5

SQL> SELECT Empno, Ename, Sal


2 FROM Emp;

EMPNO ENAME SAL


---------- ---------- ----------
7839 KING 5000
7698 BLAKE 2850
7782 CLARK 2450
7566 JONES 2975
7654 MARTIN 1250
7499 ALLEN 1600
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
7902 FORD 3000
7369 SMITH 800

EMPNO ENAME SAL


---------- ---------- ----------
7788 SCOTT 3000
7876 ADAMS 1100
7934 MILLER 1300

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT Ename, Emp.Deptno, Dname, Loc


2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
BLAKE 30 SALES CHICAGO
CLARK 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO
FORD 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
MILLER 10 ACCOUNTING NEW YORK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Emp.Deptno, Dname, Loc


2 FROM Emp, Dept
3* WHERE Emp.Deptno > Dept.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
JONES 20 ACCOUNTING NEW YORK
SCOTT 20 ACCOUNTING NEW YORK
ADAMS 20 ACCOUNTING NEW YORK
SMITH 20 ACCOUNTING NEW YORK
FORD 20 ACCOUNTING NEW YORK
BLAKE 30 ACCOUNTING NEW YORK
MARTIN 30 ACCOUNTING NEW YORK
ALLEN 30 ACCOUNTING NEW YORK
TURNER 30 ACCOUNTING NEW YORK
JAMES 30 ACCOUNTING NEW YORK
WARD 30 ACCOUNTING NEW YORK

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
BLAKE 30 RESEARCH DALLAS
MARTIN 30 RESEARCH DALLAS
ALLEN 30 RESEARCH DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

TURNER 30 RESEARCH DALLAS


JAMES 30 RESEARCH DALLAS
WARD 30 RESEARCH DALLAS

17 rows selected.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> cl scr

SQL> SELECT Ename, Deptno, Job, Sal, Grade


2 FROM Emp, SalGrade
3 WHERE Emp.Sal >= SalGrade.LoSal AND
4 Emp.Sal <= SalGrade.HiSal;

ENAME DEPTNO JOB SAL GRADE


---------- ---------- --------- ---------- ----------
SMITH 20 CLERK 800 1
JAMES 30 CLERK 950 1
ADAMS 20 CLERK 1100 1
MARTIN 30 SALESMAN 1250 2
WARD 30 SALESMAN 1250 2
MILLER 10 CLERK 1300 2
TURNER 30 SALESMAN 1500 3
ALLEN 30 SALESMAN 1600 3
CLARK 10 MANAGER 2450 4
BLAKE 30 MANAGER 2850 4
JONES 20 MANAGER 2975 4

ENAME DEPTNO JOB SAL GRADE


---------- ---------- --------- ---------- ----------
FORD 20 ANALYST 3000 4
SCOTT 20 ANALYST 3000 4
KING 10 PRESIDENT 5000 5

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, Sal, Grade


2 FROM Emp, SalGrade
3* WHERE Emp.Sal BETWEEN SalGrade.LoSal AND SalGrade.HiSal
SQL> /

ENAME DEPTNO JOB SAL GRADE


---------- ---------- --------- ---------- ----------
SMITH 20 CLERK 800 1
JAMES 30 CLERK 950 1
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS 20 CLERK 1100 1


MARTIN 30 SALESMAN 1250 2
WARD 30 SALESMAN 1250 2
MILLER 10 CLERK 1300 2
TURNER 30 SALESMAN 1500 3
ALLEN 30 SALESMAN 1600 3
CLARK 10 MANAGER 2450 4
BLAKE 30 MANAGER 2850 4
JONES 20 MANAGER 2975 4

ENAME DEPTNO JOB SAL GRADE


---------- ---------- --------- ---------- ----------
FORD 20 ANALYST 3000 4
SCOTT 20 ANALYST 3000 4
KING 10 PRESIDENT 5000 5

14 rows selected.

SQL> cl scr

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');

1 row created.

SQL> INSERT INTO Dept


2 VALUES(60, 'CARGO', 'MUMBAI');

1 row created.

SQL> INSERT INTO Dept


2 VALUES(70, 'COURIER', 'DELHI');

1 row created.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI
60 CARGO MUMBAI
70 COURIER DELHI

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 rows selected.

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN Sal FORMAT 9999
SQL> COLUMN Comm FORMAT 9999
SQL> COLUMN Deptno FORMAT 99
SQL> SELECT * FROM Emp ORDER BY Deptno;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7369 SMITH CLERK 7902 17-DEC-80 800 20
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ----- ----- ------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30

14 rows selected.

SQL> SELECT Ename, Sal, Emp.Deptno Deptno, Dname, Loc


2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
KING 5000 10 ACCOUNTING NEW YORK
CLARK 2450 10 ACCOUNTING NEW YORK
MILLER 1300 10 ACCOUNTING NEW YORK
JONES 2975 20 RESEARCH DALLAS
SCOTT 3000 20 RESEARCH DALLAS
ADAMS 1100 20 RESEARCH DALLAS
SMITH 800 20 RESEARCH DALLAS
FORD 3000 20 RESEARCH DALLAS
BLAKE 2850 30 SALES CHICAGO
MARTIN 1250 30 SALES CHICAGO
ALLEN 1600 30 SALES CHICAGO

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
TURNER 1500 30 SALES CHICAGO
JAMES 950 30 SALES CHICAGO
WARD 1250 30 SALES CHICAGO

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Emp.Deptno Deptno, Dname, Loc


2 FROM Emp, Dept
3* WHERE Emp.Deptno(+) = Dept.Deptno
SQL> /

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
KING 5000 10 ACCOUNTING NEW YORK
CLARK 2450 10 ACCOUNTING NEW YORK
MILLER 1300 10 ACCOUNTING NEW YORK
JONES 2975 20 RESEARCH DALLAS
SCOTT 3000 20 RESEARCH DALLAS
ADAMS 1100 20 RESEARCH DALLAS
SMITH 800 20 RESEARCH DALLAS
FORD 3000 20 RESEARCH DALLAS
BLAKE 2850 30 SALES CHICAGO
MARTIN 1250 30 SALES CHICAGO
ALLEN 1600 30 SALES CHICAGO

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
TURNER 1500 30 SALES CHICAGO
JAMES 950 30 SALES CHICAGO
WARD 1250 30 SALES CHICAGO
OPERATIONS BOSTON
SHIPPING CHENNAI
CARGO MUMBAI
COURIER DELHI

18 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Dept.Deptno Deptno, Dname, Loc


2 FROM Emp, Dept
3* WHERE Emp.Deptno(+) = Dept.Deptno
SQL> /

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
KING 5000 10 ACCOUNTING NEW YORK
CLARK 2450 10 ACCOUNTING NEW YORK
MILLER 1300 10 ACCOUNTING NEW YORK
JONES 2975 20 RESEARCH DALLAS
SCOTT 3000 20 RESEARCH DALLAS
ADAMS 1100 20 RESEARCH DALLAS
SMITH 800 20 RESEARCH DALLAS
FORD 3000 20 RESEARCH DALLAS
BLAKE 2850 30 SALES CHICAGO
MARTIN 1250 30 SALES CHICAGO
ALLEN 1600 30 SALES CHICAGO

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
TURNER 1500 30 SALES CHICAGO
JAMES 950 30 SALES CHICAGO
WARD 1250 30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI
60 CARGO MUMBAI
70 COURIER DELHI

18 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Dept.Deptno Deptno, Dname, Loc


2 FROM Emp, Dept
3* WHERE Emp.Deptno = Dept.Deptno(+)
SQL> /

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
MILLER 1300 10 ACCOUNTING NEW YORK
CLARK 2450 10 ACCOUNTING NEW YORK
KING 5000 10 ACCOUNTING NEW YORK
ADAMS 1100 20 RESEARCH DALLAS
SCOTT 3000 20 RESEARCH DALLAS
SMITH 800 20 RESEARCH DALLAS
FORD 3000 20 RESEARCH DALLAS
JONES 2975 20 RESEARCH DALLAS
WARD 1250 30 SALES CHICAGO
JAMES 950 30 SALES CHICAGO
TURNER 1500 30 SALES CHICAGO

ENAME SAL DEPTNO DNAME LOC


---------- ----- ------ -------------- -------------
ALLEN 1600 30 SALES CHICAGO
MARTIN 1250 30 SALES CHICAGO
BLAKE 2850 30 SALES CHICAGO

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 NVL(Ename, 'NOT RECRUITED') Ename,
3 Dept.Deptno Deptno,
4 Dname,
5 Loc
6 FROM Emp, Dept
7* WHERE Emp.Deptno(+) = Dept.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


------------- ------ -------------- -------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 10 ACCOUNTING NEW YORK


CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


------------- ------ -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO
NOT RECRUITED 40 OPERATIONS BOSTON
NOT RECRUITED 50 SHIPPING CHENNAI
NOT RECRUITED 60 CARGO MUMBAI
NOT RECRUITED 70 COURIER DELHI

18 rows selected.

SQL> cl scr

SQL> SELECT E.Ename, D.Deptno, D.Dname


2 FROM Emp E, Dept D
3 WHERE E.Deptno(+) = D.Deptno
4 AND E.Deptno = 10
5 ORDER BY E.Deptno;

ENAME DEPTNO DNAME


---------- ------ --------------
KING 10 ACCOUNTING
CLARK 10 ACCOUNTING
MILLER 10 ACCOUNTING

SQL> ED
Wrote file afiedt.buf

1 SELECT E.Ename, D.Deptno, D.Dname, D.Loc


2 FROM Emp E, Dept D
3 WHERE E.Deptno(+) = D.Deptno
4 AND E.Deptno = 10
5* ORDER BY E.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


---------- ------ -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT E.Ename, D.Deptno, D.Dname, D.Loc


2 FROM Emp E, Dept D
3 WHERE E.Deptno(+) = D.Deptno
4 AND E.Deptno(+) = 10
5* ORDER BY E.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


---------- ------ -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI
60 CARGO MUMBAI
70 COURIER DELHI

9 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT E.Ename, D.Deptno, D.Dname, D.Loc


2 FROM Emp E, Dept D
3 WHERE E.Deptno(+) = D.Deptno
4 AND D.Deptno(+) = 10
5* ORDER BY E.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


---------- ------ -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 NVL(E.Ename, 'NOT RECRUITED OR REQUESTED') Ename,
3 D.Deptno,
4 D.Dname,
5 D.Loc
6 FROM Emp E, Dept D
7 WHERE E.Deptno(+) = D.Deptno
8 AND E.Deptno(+) = 10
9* ORDER BY E.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


-------------------------- ------ -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MILLER 10 ACCOUNTING NEW YORK


NOT RECRUITED OR REQUESTED 20 RESEARCH DALLAS
NOT RECRUITED OR REQUESTED 30 SALES CHICAGO
NOT RECRUITED OR REQUESTED 40 OPERATIONS BOSTON
NOT RECRUITED OR REQUESTED 50 SHIPPING CHENNAI
NOT RECRUITED OR REQUESTED 60 CARGO MUMBAI
NOT RECRUITED OR REQUESTED 70 COURIER DELHI

9 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT
2 C.Name, O.OrdID,
3 I.ItemID, I.Itemtot, O.Total
4 FROM Customer C, Ord O, Item I
5 WHERE C.CustID = O.CustID
6 AND O.OrdID = I.OrdID
7 AND C.Name = 'TKB SPORT SHOP';

NAME ORDID ITEMID ITEMTOT


--------------------------------------------- ---------- ---------- ----------
TOTAL
----------
TKB SPORT SHOP 610 2 8.4
101.4

TKB SPORT SHOP 610 1 35


101.4

TKB SPORT SHOP 610 3 58


101.4

SQL> cl scr

SQL> SELECT
2 E.Ename Employee,
3 E.Deptno Department,
4 M.Ename Manager,
5 M.Deptno "Manager's Dept"
6 FROM Emp E, Dept D, Emp M
7 WHERE E.MGR = M.Empno AND
8 E.Deptno = D.Deptno;

EMPLOYEE DEPARTMENT MANAGER Manager's Dept


---------- ---------- ---------- --------------
FORD 20 JONES 20
SCOTT 20 JONES 20
MARTIN 30 BLAKE 30
ALLEN 30 BLAKE 30
JAMES 30 BLAKE 30
TURNER 30 BLAKE 30
WARD 30 BLAKE 30
MILLER 10 CLARK 10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS 20 SCOTT 20
BLAKE 30 KING 10
CLARK 10 KING 10

EMPLOYEE DEPARTMENT MANAGER Manager's Dept


---------- ---------- ---------- --------------
JONES 20 KING 10
SMITH 20 FORD 20

13 rows selected.

SQL> SELECT
2 E.Ename Employee,
3 Dname Department,
4 Loc Place,
5 M.Ename Manager,
6 Dname "Manager's Dept"
7 FROM Emp E, Dept D, Emp M
8 WHERE E.MGR = M.Empno AND
9 E.Deptno = D.Deptno;

EMPLOYEE DEPARTMENT PLACE MANAGER Manager's Dept


---------- -------------- ------------- ---------- --------------
BLAKE SALES CHICAGO KING SALES
JONES RESEARCH DALLAS KING RESEARCH
CLARK ACCOUNTING NEW YORK KING ACCOUNTING
WARD SALES CHICAGO BLAKE SALES
JAMES SALES CHICAGO BLAKE SALES
TURNER SALES CHICAGO BLAKE SALES
ALLEN SALES CHICAGO BLAKE SALES
MARTIN SALES CHICAGO BLAKE SALES
MILLER ACCOUNTING NEW YORK CLARK ACCOUNTING
SCOTT RESEARCH DALLAS JONES RESEARCH
FORD RESEARCH DALLAS JONES RESEARCH

EMPLOYEE DEPARTMENT PLACE MANAGER Manager's Dept


---------- -------------- ------------- ---------- --------------
SMITH RESEARCH DALLAS FORD RESEARCH
ADAMS RESEARCH DALLAS SCOTT RESEARCH

13 rows selected.

SQL> SELECT
2 E.Ename Employee,
3 DE.Dname Department,
4 DE.Loc Place,
5 M.Ename Manager,
6 DM.Dname "Manager's Dept"
7 FROM Emp E, Dept DE, Emp M, Dept DM
8 WHERE E.MGR = M.Empno AND
9 E.Deptno = DE.Deptno AND
10 M.Deptno = DM.Deptno
11 ORDER BY E.Deptno;

EMPLOYEE DEPARTMENT PLACE MANAGER Manager's Dept


---------- -------------- ------------- ---------- --------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MILLER ACCOUNTING NEW YORK CLARK ACCOUNTING


CLARK ACCOUNTING NEW YORK KING ACCOUNTING
JONES RESEARCH DALLAS KING ACCOUNTING
SMITH RESEARCH DALLAS FORD RESEARCH
SCOTT RESEARCH DALLAS JONES RESEARCH
FORD RESEARCH DALLAS JONES RESEARCH
ADAMS RESEARCH DALLAS SCOTT RESEARCH
BLAKE SALES CHICAGO KING ACCOUNTING
MARTIN SALES CHICAGO BLAKE SALES
ALLEN SALES CHICAGO BLAKE SALES
TURNER SALES CHICAGO BLAKE SALES

EMPLOYEE DEPARTMENT PLACE MANAGER Manager's Dept


---------- -------------- ------------- ---------- --------------
JAMES SALES CHICAGO BLAKE SALES
WARD SALES CHICAGO BLAKE SALES

13 rows selected.

SQL> cl scr

SQL> SELECT
2 E.Ename Employee,
3 E.Sal "Employee's Salary",
4 M.Ename Manager,
5 M.Sal "Manager's Salary",
6 Dname "Manager's Dept"
7 FROM Emp E, Dept D, Emp M
8 WHERE E.Deptno = D.Deptno AND
9 E.MGR = M.Empno;

EMPLOYEE Employee's Salary MANAGER Manager's Salary Manager's Dept


---------- ----------------- ---------- ---------------- --------------
BLAKE 2850 KING 5000 SALES
JONES 2975 KING 5000 RESEARCH
CLARK 2450 KING 5000 ACCOUNTING
WARD 1250 BLAKE 2850 SALES
JAMES 950 BLAKE 2850 SALES
TURNER 1500 BLAKE 2850 SALES
ALLEN 1600 BLAKE 2850 SALES
MARTIN 1250 BLAKE 2850 SALES
MILLER 1300 CLARK 2450 ACCOUNTING
SCOTT 3000 JONES 2975 RESEARCH
FORD 3000 JONES 2975 RESEARCH

EMPLOYEE Employee's Salary MANAGER Manager's Salary Manager's Dept


---------- ----------------- ---------- ---------------- --------------
SMITH 800 FORD 3000 RESEARCH
ADAMS 1100 SCOTT 3000 RESEARCH

13 rows selected.

SQL> cl scr

SQL> SELECT
2 E.Ename Employee,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 E.Sal "Employee's Salary",


4 M.Ename Manager,
5 M.Sal "Manager's Salary",
6 DM.Dname "Manager's Dept"
7 FROM Emp E, Dept DE, Emp M, Dept DM
8 WHERE E.Deptno = DE.Deptno AND
9 M.Deptno = DM.Deptno AND
10 E.MGR = M.Empno;

EMPLOYEE Employee's Salary MANAGER Manager's Salary Manager's Dept


---------- ----------------- ---------- ---------------- --------------
BLAKE 2850 KING 5000 ACCOUNTING
CLARK 2450 KING 5000 ACCOUNTING
JONES 2975 KING 5000 ACCOUNTING
MARTIN 1250 BLAKE 2850 SALES
ALLEN 1600 BLAKE 2850 SALES
TURNER 1500 BLAKE 2850 SALES
JAMES 950 BLAKE 2850 SALES
WARD 1250 BLAKE 2850 SALES
FORD 3000 JONES 2975 RESEARCH
SMITH 800 FORD 3000 RESEARCH
SCOTT 3000 JONES 2975 RESEARCH

EMPLOYEE Employee's Salary MANAGER Manager's Salary Manager's Dept


---------- ----------------- ---------- ---------------- --------------
ADAMS 1100 SCOTT 3000 RESEARCH
MILLER 1300 CLARK 2450 ACCOUNTING

13 rows selected.

SQL> cl scr

SQL> COLUMN Employee FORMAT A14


SQL> COLUMN "Employee's Dept" FORMAT A10
SQL> COLUMN Manager FORMAT A15
SQL> COLUMN "Manager's Dept" FORMAT A15
SQL> SELECT
2 NVL(E.Ename, 'Not Recruited') Employee,
3 DE.Dname "Employee's Dept",
4 NVL(M.Ename, 'NULL Manager') Manager,
5 NVL(DM.Dname, 'Not Recruited') "Manager's Dept",
6 DE.Deptno
7 FROM Emp E, Dept DE, Emp M, Dept DM
8 WHERE E.Deptno(+) = DE.Deptno AND
9 M.Deptno = DM.Deptno(+) AND
10 E.MGR = M.Empno(+);

EMPLOYEE Employee's MANAGER Manager's Dept DEPTNO


-------------- ---------- --------------- --------------- ----------
MILLER ACCOUNTING CLARK ACCOUNTING 10
CLARK ACCOUNTING KING ACCOUNTING 10
JONES RESEARCH KING ACCOUNTING 20
BLAKE SALES KING ACCOUNTING 30
ADAMS RESEARCH SCOTT RESEARCH 20
SMITH RESEARCH FORD RESEARCH 20
SCOTT RESEARCH JONES RESEARCH 20
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

FORD RESEARCH JONES RESEARCH 20


MARTIN SALES BLAKE SALES 30
ALLEN SALES BLAKE SALES 30
TURNER SALES BLAKE SALES 30

EMPLOYEE Employee's MANAGER Manager's Dept DEPTNO


-------------- ---------- --------------- --------------- ----------
JAMES SALES BLAKE SALES 30
WARD SALES BLAKE SALES 30
KING ACCOUNTING NULL Manager Not Recruited 10
Not Recruited OPERATIONS NULL Manager Not Recruited 40

15 rows selected.

SQL> cl scr

SQL> COLUMN "Employee's Salary" FORMAT 9999


SQL> COLUMN EMPGRADE FORMAT 99
SQL> COLUMN "Manager's Salary" FORMAT 9999
SQL> COLUMN MGRGRADE FORMAT 99
SQL> SELECT
2 E.Ename Employee,
3 E.Sal "Employee's Salary",
4 SE.Grade EmpGrade,
5 M.Sal "Manager's Salary",
6 SM.Grade MGRGrade,
7 Dname
8 FROM Emp E, Dept D, Emp M, SalGrade SE, SalGrade SM
9 WHERE E.Deptno = D.Deptno AND
10 E.MGR = M.Empno AND
11 E.Sal BETWEEN SE.LoSal AND SE.HiSal AND
12 M.Sal BETWEEN SM.LoSal AND SM.HiSal;

EMPLOYEE Employee's Salary EMPGRADE Manager's Salary MGRGRADE


-------------- ----------------- -------- ---------------- --------
DNAME
--------------
SMITH 800 1 3000 4
RESEARCH

JAMES 950 1 2850 4


SALES

ADAMS 1100 1 3000 4


RESEARCH

EMPLOYEE Employee's Salary EMPGRADE Manager's Salary MGRGRADE


-------------- ----------------- -------- ---------------- --------
DNAME
--------------
MARTIN 1250 2 2850 4
SALES

WARD 1250 2 2850 4


SALES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MILLER 1300 2 2450 4


ACCOUNTING

EMPLOYEE Employee's Salary EMPGRADE Manager's Salary MGRGRADE


-------------- ----------------- -------- ---------------- --------
DNAME
--------------
TURNER 1500 3 2850 4
SALES

ALLEN 1600 3 2850 4


SALES

CLARK 2450 4 5000 5


ACCOUNTING

EMPLOYEE Employee's Salary EMPGRADE Manager's Salary MGRGRADE


-------------- ----------------- -------- ---------------- --------
DNAME
--------------
BLAKE 2850 4 5000 5
SALES

JONES 2975 4 5000 5


RESEARCH

FORD 3000 4 2975 4


RESEARCH

EMPLOYEE Employee's Salary EMPGRADE Manager's Salary MGRGRADE


-------------- ----------------- -------- ---------------- --------
DNAME
--------------
SCOTT 3000 4 2975 4
RESEARCH

13 rows selected.

SQL> cl scr

SQL> SELECT Ename, Dept.Deptno, Dname, Loc


2 FROM Emp CROSS JOIN Dept
3 /

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
BLAKE 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
JONES 10 ACCOUNTING NEW YORK
MARTIN 10 ACCOUNTING NEW YORK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN 10 ACCOUNTING NEW YORK


TURNER 10 ACCOUNTING NEW YORK
JAMES 10 ACCOUNTING NEW YORK
WARD 10 ACCOUNTING NEW YORK
FORD 10 ACCOUNTING NEW YORK
SMITH 10 ACCOUNTING NEW YORK

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
SCOTT 10 ACCOUNTING NEW YORK
ADAMS 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
KING 20 RESEARCH DALLAS
BLAKE 20 RESEARCH DALLAS
CLARK 20 RESEARCH DALLAS
JONES 20 RESEARCH DALLAS
MARTIN 20 RESEARCH DALLAS
ALLEN 20 RESEARCH DALLAS
TURNER 20 RESEARCH DALLAS
JAMES 20 RESEARCH DALLAS

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
WARD 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
MILLER 20 RESEARCH DALLAS
KING 30 SALES CHICAGO
BLAKE 30 SALES CHICAGO
CLARK 30 SALES CHICAGO
JONES 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
ALLEN 30 SALES CHICAGO
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO
FORD 30 SALES CHICAGO
SMITH 30 SALES CHICAGO
SCOTT 30 SALES CHICAGO
ADAMS 30 SALES CHICAGO
MILLER 30 SALES CHICAGO
KING 40 OPERATIONS BOSTON
BLAKE 40 OPERATIONS BOSTON

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
CLARK 40 OPERATIONS BOSTON
JONES 40 OPERATIONS BOSTON
MARTIN 40 OPERATIONS BOSTON
ALLEN 40 OPERATIONS BOSTON
TURNER 40 OPERATIONS BOSTON
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JAMES 40 OPERATIONS BOSTON


WARD 40 OPERATIONS BOSTON
FORD 40 OPERATIONS BOSTON
SMITH 40 OPERATIONS BOSTON
SCOTT 40 OPERATIONS BOSTON
ADAMS 40 OPERATIONS BOSTON

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
MILLER 40 OPERATIONS BOSTON

56 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Dept.Deptno, Dname, Loc


2* FROM Emp, Dept
SQL> /

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
BLAKE 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
JONES 10 ACCOUNTING NEW YORK
MARTIN 10 ACCOUNTING NEW YORK
ALLEN 10 ACCOUNTING NEW YORK
TURNER 10 ACCOUNTING NEW YORK
JAMES 10 ACCOUNTING NEW YORK
WARD 10 ACCOUNTING NEW YORK
FORD 10 ACCOUNTING NEW YORK
SMITH 10 ACCOUNTING NEW YORK

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
SCOTT 10 ACCOUNTING NEW YORK
ADAMS 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
KING 20 RESEARCH DALLAS
BLAKE 20 RESEARCH DALLAS
CLARK 20 RESEARCH DALLAS
JONES 20 RESEARCH DALLAS
MARTIN 20 RESEARCH DALLAS
ALLEN 20 RESEARCH DALLAS
TURNER 20 RESEARCH DALLAS
JAMES 20 RESEARCH DALLAS

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
WARD 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
MILLER 20 RESEARCH DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 30 SALES CHICAGO


BLAKE 30 SALES CHICAGO
CLARK 30 SALES CHICAGO
JONES 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
ALLEN 30 SALES CHICAGO
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO
FORD 30 SALES CHICAGO
SMITH 30 SALES CHICAGO
SCOTT 30 SALES CHICAGO
ADAMS 30 SALES CHICAGO
MILLER 30 SALES CHICAGO
KING 40 OPERATIONS BOSTON
BLAKE 40 OPERATIONS BOSTON

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
CLARK 40 OPERATIONS BOSTON
JONES 40 OPERATIONS BOSTON
MARTIN 40 OPERATIONS BOSTON
ALLEN 40 OPERATIONS BOSTON
TURNER 40 OPERATIONS BOSTON
JAMES 40 OPERATIONS BOSTON
WARD 40 OPERATIONS BOSTON
FORD 40 OPERATIONS BOSTON
SMITH 40 OPERATIONS BOSTON
SCOTT 40 OPERATIONS BOSTON
ADAMS 40 OPERATIONS BOSTON

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
MILLER 40 OPERATIONS BOSTON

56 rows selected.

SQL> cl scr

SQL> SELECT Ename, Dept.Deptno, Dname, Loc


2 FROM Emp CROSS JOIN Dept
3 WHERE Emp.Deptno = Dept.Deptno;

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE 30 SALES CHICAGO


MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Deptno, Dname, Loc


2 FROM Emp NATURAL JOIN Dept;

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, D.Deptno, Dname, Loc


2* FROM Emp NATURAL JOIN Dept
SQL> /
SELECT Ename, D.Deptno, Dname, Loc
*
ERROR at line 1:
ORA-00904: "D"."DEPTNO": invalid identifier

SQL> cl scr

SQL> SELECT Ename, Deptno, Dname, Loc


2 FROM Emp JOIN Dept
3 USING(Deptno);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Dname, Loc


2 FROM Emp INNER JOIN Dept
3* USING(Deptno)
SQL> /

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Dept.Deptno, Dname, Loc


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp JOIN Dept


3 ON Emp.Deptno = Dept.Deptno;

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Dept.Deptno, Dname, Loc


2 FROM Emp INNER JOIN Dept
3* ON Emp.Deptno = Dept.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO

14 rows selected.

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT Ename, Dept.Deptno, Dname, Loc


2 FROM Emp INNER JOIN Dept
3* WHERE Emp.Deptno = Dept.Deptno
SQL> /
WHERE Emp.Deptno = Dept.Deptno
*
ERROR at line 3:
ORA-00905: missing keyword

SQL> cl scr

SQL> SELECT
2 E.Ename Employee,
3 M.Ename Manager
4 FROM
5 Emp E INNER JOIN Emp M
6 ON(E.MGR = M.Empno)
7 /

EMPLOYEE MANAGER
-------------- ---------------
FORD JONES
SCOTT JONES
MARTIN BLAKE
ALLEN BLAKE
JAMES BLAKE
TURNER BLAKE
WARD BLAKE
MILLER CLARK
ADAMS SCOTT
BLAKE KING
CLARK KING

EMPLOYEE MANAGER
-------------- ---------------
JONES KING
SMITH FORD

13 rows selected.

SQL> SELECT Ename, Sal, Grade, Dept.Deptno, Dname


2 FROM Emp JOIN Dept
3 ON Emp.Deptno = Dept.Deptno
4 JOIN SalGrade
5 ON Emp.Sal BETWEEN LoSal AND HiSal;

ENAME SAL GRADE DEPTNO DNAME


---------- ---------- ---------- ---------- --------------
SMITH 800 1 20 RESEARCH
JAMES 950 1 30 SALES
ADAMS 1100 1 20 RESEARCH
MARTIN 1250 2 30 SALES
WARD 1250 2 30 SALES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MILLER 1300 2 10 ACCOUNTING


TURNER 1500 3 30 SALES
ALLEN 1600 3 30 SALES
CLARK 2450 4 10 ACCOUNTING
BLAKE 2850 4 30 SALES
JONES 2975 4 20 RESEARCH

ENAME SAL GRADE DEPTNO DNAME


---------- ---------- ---------- ---------- --------------
FORD 3000 4 20 RESEARCH
SCOTT 3000 4 20 RESEARCH
KING 5000 5 10 ACCOUNTING

14 rows selected.

SQL> SELECT E.Ename, M.Ename, Sal, Grade, D.Deptno, Dname


2 FROM
3 Emp E INNER JOIN Dept D
4 ON E.Deptno = D.Deptno
5 INNER JOIN Emp M
6 ON E.Empno = M.MGR
7 INNER JOIN SalGrade S
8 ON E.Sal BETWEEN LoSal AND HiSal;

ENAME ENAME SAL GRADE DEPTNO DNAME


---------- ---------- ---------- ---------- ---------- --------------
KING BLAKE 2850 5 10 ACCOUNTING
KING CLARK 2450 5 10 ACCOUNTING
KING JONES 2975 5 10 ACCOUNTING
SCOTT ADAMS 1100 4 20 RESEARCH
FORD SMITH 800 4 20 RESEARCH
JONES FORD 3000 4 20 RESEARCH
JONES SCOTT 3000 4 20 RESEARCH
BLAKE MARTIN 1250 4 30 SALES
BLAKE ALLEN 1600 4 30 SALES
BLAKE JAMES 950 4 30 SALES
BLAKE TURNER 1500 4 30 SALES

ENAME ENAME SAL GRADE DEPTNO DNAME


---------- ---------- ---------- ---------- ---------- --------------
BLAKE WARD 1250 4 30 SALES
CLARK MILLER 1300 4 10 ACCOUNTING

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Grade, Dept.Deptno, Dname


2 FROM Emp NATURAL JOIN Dept
3 JOIN SalGrade
4* ON Emp.Sal BETWEEN LoSal AND HiSal
SQL> /
SELECT Ename, Sal, Grade, Dept.Deptno, Dname
*
ERROR at line 1:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORA-25155: column used in NATURAL join cannot have qualifier

SQL> Ed
Wrote file afiedt.buf

1 SELECT Ename, Sal, Grade, Deptno, Dname


2 FROM Emp NATURAL JOIN Dept
3 JOIN SalGrade
4* ON Emp.Sal BETWEEN LoSal AND HiSal
SQL> /

ENAME SAL GRADE DEPTNO DNAME


---------- ---------- ---------- ---------- --------------
SMITH 800 1 20 RESEARCH
JAMES 950 1 30 SALES
ADAMS 1100 1 20 RESEARCH
MARTIN 1250 2 30 SALES
WARD 1250 2 30 SALES
MILLER 1300 2 10 ACCOUNTING
TURNER 1500 3 30 SALES
ALLEN 1600 3 30 SALES
CLARK 2450 4 10 ACCOUNTING
BLAKE 2850 4 30 SALES
JONES 2975 4 20 RESEARCH

ENAME SAL GRADE DEPTNO DNAME


---------- ---------- ---------- ---------- --------------
FORD 3000 4 20 RESEARCH
SCOTT 3000 4 20 RESEARCH
KING 5000 5 10 ACCOUNTING

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Dept.Deptno, Dname, Loc


2 FROM Emp RIGHT JOIN Dept
3 ON Emp.Deptno = Dept.Deptno;

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

TURNER 30 SALES CHICAGO


JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO
40 OPERATIONS BOSTON

15 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Dept.Deptno, Dname, Loc


2 FROM Emp LEFT JOIN Dept
3* ON Emp.Deptno = Dept.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
MILLER 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
KING 10 ACCOUNTING NEW YORK
ADAMS 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
JONES 20 RESEARCH DALLAS
WARD 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
TURNER 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
ALLEN 30 SALES CHICAGO
MARTIN 30 SALES CHICAGO
BLAKE 30 SALES CHICAGO

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Dept.Deptno, Dname, Loc


2 FROM Dept LEFT JOIN Emp
3* ON Emp.Deptno = Dept.Deptno
SQL> /

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
KING 10 ACCOUNTING NEW YORK
CLARK 10 ACCOUNTING NEW YORK
MILLER 10 ACCOUNTING NEW YORK
JONES 20 RESEARCH DALLAS
SCOTT 20 RESEARCH DALLAS
ADAMS 20 RESEARCH DALLAS
SMITH 20 RESEARCH DALLAS
FORD 20 RESEARCH DALLAS
BLAKE 30 SALES CHICAGO
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN 30 SALES CHICAGO


ALLEN 30 SALES CHICAGO

ENAME DEPTNO DNAME LOC


---------- ---------- -------------- -------------
TURNER 30 SALES CHICAGO
JAMES 30 SALES CHICAGO
WARD 30 SALES CHICAGO
40 OPERATIONS BOSTON

15 rows selected.

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT ColumnName


2 FROM TableName
3 WHERE ColumnName = (
4 SELECT ColumnName
5 FROM TableName
6 WHERE ColumnName = Value
7 )
8
SQL> SELECT ColumnName
2 FROM TableName, (
3 SELECT ColumName
4 FROM TableName
5 WHERE ColumnName = Value
6 )
7* WHERE ColumnName = Value
8
SQL> cl scr

SQL> SELECT ColumnName, (


2 SELECT ColumnName
3 FROM TableName
4 WHERE ColumnName = Value
5 )
6 FROM TableName
7
SQL> SELECT ColumnName, (
2 SELECT ColumnName
3 FROM TableName
4 WHERE ColumnName = Value
5 )
6 FROM TableName, (
7 SELECT ColumnName
8 FROM TableName
9 WHERE ColumnName = Value
10 )
11 WHERE ColumnName = (
12 SELECT ColumnName
13 FROM TableName
14 WHERE ColumnName = (
15 SELECT ColumnName
16 FROM TableName
17 WHERE ColumnName = Value
18 )
19 )
20
SQL> cl scr

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN MGR FORMAT 9999
SQL> COLUMN Deptno FORMAT 99
SQL> COLUMN Sal FORMAT 9999
SQL> COLUMN Comm FORMAT 9999
SQL> SELECT * FROM Emp;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> (
2 SELECT *
3 FROM Emp
4 );

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 (
2 SELECT *
3 FROM Emp
4 ORDER BY Sal DESC
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5* )
SQL> /
ORDER BY Sal DESC
*
ERROR at line 4:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 (
2 SELECT *
3 FROM Emp
4 )
5* ORDER BY Sal DESC
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7566 JONES MANAGER 7839 02-APR-81 2975 20
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7369 SMITH CLERK 7902 17-DEC-80 800 20

14 rows selected.

SQL> cl scr

SQL> SELECT Sal


2 FROM Emp
3 WHERE Empno = 7566;

SAL
-----
2975

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Sal > 2975;

ENAME SAL JOB


---------- ----- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 5000 PRESIDENT


FORD 3000 ANALYST
SCOTT 3000 ANALYST

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Sal > (SELECT Sal
4 FROM Emp
5 WHERE Empno = 7566);

ENAME SAL JOB


---------- ----- ---------
KING 5000 PRESIDENT
FORD 3000 ANALYST
SCOTT 3000 ANALYST

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT Sal
2 FROM Emp
3 WHERE Empno = 7566;

SAL
-----
2975

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=8)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=8)

2 1 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=0 Card=1)

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Sal > 2975;

ENAME SAL JOB


---------- ----- ---------
KING 5000 PRESIDENT
FORD 3000 ANALYST
SCOTT 3000 ANALYST

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=7 Bytes=126
)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=7 Bytes=


126)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Sal > (SELECT Sal
4 FROM Emp
5 WHERE Empno = 7566);

ENAME SAL JOB


---------- ----- ---------
KING 5000 PRESIDENT
FORD 3000 ANALYST
SCOTT 3000 ANALYST

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=1 Bytes=18)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
18)

2 1 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 C


ard=1 Bytes=8)

3 2 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQU


E)) (Cost=0 Card=1)

SQL> cl scr

SQL> SELECT Job


2 FROM Emp
3 WHERE Ename = 'SMITH';

JOB
---------
CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=14)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
14)

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Job = 'CLERK';

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME SAL JOB


---------- ----- ---------
JAMES 950 CLERK
SMITH 800 CLERK
ADAMS 1100 CLERK
MILLER 1300 CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=3 Bytes=54)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Bytes=
54)

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Job = (SELECT Job
4 FROM Emp
5 WHERE Ename = 'SMITH')
6 ORDER BY Sal;

ENAME SAL JOB


---------- ----- ---------
SMITH 800 CLERK
JAMES 950 CLERK
ADAMS 1100 CLERK
MILLER 1300 CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=54)
1 0 SORT (ORDER BY) (Cost=7 Card=3 Bytes=54)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Byte
s=54)

3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 By


tes=14)

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Job = (SELECT Job
4 FROM Emp
5 WHERE Ename = 'SMITH' AND
6 Ename <> 'SMITH'
7 )
8* ORDER BY Sal
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

no rows selected

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=54)
1 0 SORT (ORDER BY) (Cost=7 Card=3 Bytes=54)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Byte
s=54)

3 2 FILTER
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1
Bytes=14)

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE Job = (SELECT Job
4 FROM Emp
5 WHERE Ename = 'SMITH'
6 ) AND
7 Ename <> 'SMITH'
8* ORDER BY Sal
SQL> /

ENAME SAL JOB


---------- ----- ---------
JAMES 950 CLERK
ADAMS 1100 CLERK
MILLER 1300 CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=54)
1 0 SORT (ORDER BY) (Cost=7 Card=3 Bytes=54)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Byte
s=54)

3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 By


tes=14)

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Hiredate


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3 WHERE Ename = 'TURNER';

HIREDATE
---------
08-SEP-81

SQL> SELECT Empno, Ename, Hiredate, Sal


2 FROM Emp
3 WHERE Hiredate > (SELECT Hiredate
4 FROM Emp
5 WHERE Ename = 'TURNER')
6 ORDER BY Sal;

EMPNO ENAME HIREDATE SAL


---------- ---------- --------- ----------
7900 JAMES 03-DEC-81 950
7876 ADAMS 12-JAN-83 1100
7654 MARTIN 28-SEP-81 1250
7934 MILLER 23-JAN-82 1300
7902 FORD 03-DEC-81 3000
7788 SCOTT 09-DEC-82 3000
7839 KING 17-NOV-81 5000

7 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Hiredate, Sal


2 FROM Emp
3 WHERE Hiredate < (SELECT Hiredate
4 FROM Emp
5 WHERE Ename = 'TURNER')
6* ORDER BY Sal
SQL> /

EMPNO ENAME HIREDATE SAL


---------- ---------- --------- ----------
7369 SMITH 17-DEC-80 800
7521 WARD 22-FEB-81 1250
7499 ALLEN 20-FEB-81 1600
7782 CLARK 09-JUN-81 2450
7698 BLAKE 01-MAY-81 2850
7566 JONES 02-APR-81 2975

6 rows selected.

SQL> cl scr

SQL> R
1 SELECT Empno, Ename, Hiredate, Sal
2 FROM Emp
3 WHERE Hiredate < (SELECT Hiredate
4 FROM Emp
5 WHERE Ename = 'TURNER')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6* ORDER BY Sal

EMPNO ENAME HIREDATE SAL


---------- ---------- --------- ----------
7369 SMITH 17-DEC-80 800
7521 WARD 22-FEB-81 1250
7499 ALLEN 20-FEB-81 1600
7782 CLARK 09-JUN-81 2450
7698 BLAKE 01-MAY-81 2850
7566 JONES 02-APR-81 2975

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Hiredate, Sal


2 FROM Emp
3 WHERE Hiredate = (SELECT Hiredate
4 FROM Emp
5 WHERE Ename = 'FORD')
6* ORDER BY Sal
SQL> /

EMPNO ENAME HIREDATE SAL


---------- ---------- --------- ----------
7900 JAMES 03-DEC-81 950
7902 FORD 03-DEC-81 3000

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Hiredate, Sal


2 FROM Emp
3 WHERE Hiredate = (SELECT Hiredate
4 FROM Emp
5 WHERE Ename = 'FORD') AND
6 Ename <> 'FORD'
7* ORDER BY Sal
SQL> /

EMPNO ENAME HIREDATE SAL


---------- ---------- --------- ----------
7900 JAMES 03-DEC-81 950

SQL> cl scr

SQL> SELECT Empno, Ename, Sal, Job


2 FROM Emp
3 WHERE Deptno = (SELECT Deptno
4 FROM Dept
5 WHERE Dname = 'SALES');

EMPNO ENAME SAL JOB


---------- ---------- ---------- ---------
7698 BLAKE 2850 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7654 MARTIN 1250 SALESMAN


7499 ALLEN 1600 SALESMAN
7844 TURNER 1500 SALESMAN
7900 JAMES 950 CLERK
7521 WARD 1250 SALESMAN

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Sal, Job


2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno AND
4* Dept.Dname = 'SALES'
SQL> /

EMPNO ENAME SAL JOB


---------- ---------- ---------- ---------
7698 BLAKE 2850 MANAGER
7654 MARTIN 1250 SALESMAN
7499 ALLEN 1600 SALESMAN
7844 TURNER 1500 SALESMAN
7900 JAMES 950 CLERK
7521 WARD 1250 SALESMAN

6 rows selected.

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT Empno, Ename, Sal, Job
2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno AND
4 Dept.Dname = 'SALES';

EMPNO ENAME SAL JOB


---------- ---------- ---------- ---------
7698 BLAKE 2850 MANAGER
7654 MARTIN 1250 SALESMAN
7499 ALLEN 1600 SALESMAN
7844 TURNER 1500 SALESMAN
7900 JAMES 950 CLERK
7521 WARD 1250 SALESMAN

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=5 Bytes=370
)

1 0 HASH JOIN (Cost=7 Card=5 Bytes=370)


2 1 TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1 Byt
es=22)

3 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

es=728)

SQL> SELECT Empno, Ename, Sal, Job


2 FROM Emp
3 WHERE Deptno = (SELECT Deptno
4 FROM Dept
5 WHERE Dname = 'SALES');

EMPNO ENAME SAL JOB


---------- ---------- ---------- ---------
7698 BLAKE 2850 MANAGER
7654 MARTIN 1250 SALESMAN
7499 ALLEN 1600 SALESMAN
7844 TURNER 1500 SALESMAN
7900 JAMES 950 CLERK
7521 WARD 1250 SALESMAN

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=1 Bytes=52)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
52)

2 1 TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1 Byt


es=22)

SQL> SELECT Empno, Ename, Sal, Comm, Sal + NVL( Comm, 0 ) TotSal
2 FROM Emp
3 WHERE Deptno = (SELECT Deptno
4 FROM Dept
5 WHERE Loc = 'DALLAS');

EMPNO ENAME SAL COMM TOTSAL


---------- ---------- ---------- ---------- ----------
7566 JONES 2975 2975
7902 FORD 3000 3000
7369 SMITH 800 800
7788 SCOTT 3000 3000
7876 ADAMS 1100 1100

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=1 Bytes=59)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
59)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 1 TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1 Byt


es=21)

SQL> cl scr

SQL> SET AUTOTRACE OFF EXPLAIN


SQL> cl scr

SQL> SELECT MAX(Sal) FROM Emp;

MAX(SAL)
----------
5000

SQL> SELECT Ename, MAX(Sal) FROM Emp;


SELECT Ename, MAX(Sal) FROM Emp
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename,
3 MAX(Sal)
4 FROM Emp
5* GROUP BY Ename
SQL> /

ENAME MAX(SAL)
---------- ----------
ADAMS 1100
ALLEN 1600
BLAKE 2850
CLARK 2450
FORD 3000
JAMES 950
JONES 2975
KING 5000
MARTIN 1250
MILLER 1300
SCOTT 3000

ENAME MAX(SAL)
---------- ----------
SMITH 800
TURNER 1500
WARD 1250

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT MAX(Sal) FROM Emp;

MAX(SAL)
----------
5000

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Sal = 5000;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT

SQL> SELECT Ename, Job , Sal


2 FROM Emp
3 WHERE Sal = (SELECT MAX(Sal)
4 FROM Emp);

ENAME JOB SAL


---------- --------- ----------
KING PRESIDENT 5000

SQL> cl scr

SQL> SELECT Ename, Job, Sal


2 FROM Emp
3 WHERE Sal = (SELECT MIN(Sal)
4 FROM Emp);

ENAME JOB SAL


---------- --------- ----------
SMITH CLERK 800

SQL> SELECT Ename, Job, Sal


2 FROM Emp
3 WHERE Sal > (SELECT AVG(Sal)
4 FROM Emp);

ENAME JOB SAL


---------- --------- ----------
KING PRESIDENT 5000
BLAKE MANAGER 2850
CLARK MANAGER 2450
JONES MANAGER 2975
FORD ANALYST 3000
SCOTT ANALYST 3000

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Sal


2 FROM Emp
3 WHERE Sal < (SELECT AVG(Sal)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4* FROM Emp)
SQL> /

ENAME JOB SAL


---------- --------- ----------
MARTIN SALESMAN 1250
ALLEN SALESMAN 1600
TURNER SALESMAN 1500
JAMES CLERK 950
WARD SALESMAN 1250
SMITH CLERK 800
ADAMS CLERK 1100
MILLER CLERK 1300

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Sal


2 FROM Emp
3 WHERE Sal = (SELECT AVG(Sal)
4* FROM Emp)
SQL> /

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Sal


2 FROM Emp
3 WHERE Sal <> (SELECT AVG(Sal)
4* FROM Emp)
SQL> /

ENAME JOB SAL


---------- --------- ----------
KING PRESIDENT 5000
BLAKE MANAGER 2850
CLARK MANAGER 2450
JONES MANAGER 2975
MARTIN SALESMAN 1250
ALLEN SALESMAN 1600
TURNER SALESMAN 1500
JAMES CLERK 950
WARD SALESMAN 1250
FORD ANALYST 3000
SMITH CLERK 800

ENAME JOB SAL


---------- --------- ----------
SCOTT ANALYST 3000
ADAMS CLERK 1100
MILLER CLERK 1300

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal, Job


2 FROM Emp
3 WHERE Sal = (
4 SELECT MAX(Sal)
5 FROM Emp
6 WHERE Deptno = 10
7 );

ENAME DEPTNO SAL JOB


---------- ---------- ---------- ---------
KING 10 5000 PRESIDENT

SQL> cl scr

SQL> SELECT
2 MIN(Sal)
3 FROM Emp
4 WHERE Deptno = 20;

MIN(SAL)
----------
800

SQL> SELECT Deptno, MIN(Sal)


2 FROM Emp
3 GROUP BY Deptno
4 HAVING MIN(Sal) > (SELECT
5 MIN(Sal)
6 FROM Emp
7 WHERE Deptno = 20);

DEPTNO MIN(SAL)
---------- ----------
10 1300
30 950

SQL> cl scr

SQL> SELECT AVG(Sal)


2 FROM Emp
3 GROUP BY Job;

AVG(SAL)
----------
3000
1037.5
2758.33333
5000
1400

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT MAX(AVG(Sal))
2 FROM Emp
3* GROUP BY Job
SQL> /

MAX(AVG(SAL))
-------------
5000

SQL> ED
Wrote file afiedt.buf

1 SELECT Job, MAX(AVG(Sal))


2 FROM Emp
3* GROUP BY Job
SQL> /
SELECT Job, MAX(AVG(Sal))
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> SELECT Job, AVG(Sal)


2 FROM Emp
3 GROUP BY Job
4 HAVING AVG(Sal) = (SELECT
5 MIN(AVG(Sal))
6 FROM Emp
7 GROUP BY Job);

JOB AVG(SAL)
--------- ----------
CLERK 1037.5

SQL> ED
Wrote file afiedt.buf

1 SELECT Job, AVG(Sal)


2 FROM Emp
3 GROUP BY Job
4 HAVING AVG(Sal) = (SELECT
5 MAX(AVG(Sal))
6 FROM Emp
7* GROUP BY Job)
SQL> /

JOB AVG(SAL)
--------- ----------
PRESIDENT 5000

SQL> cl scr

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN MGR FORMAT 9999
SQL> COLUMN Sal FORMAT 9999
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> COLUMN Comm FORMAT 9999


SQL> cl scr

SQL> SELECT * FROM Emp ORDER BY Sal DESC;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7566 JONES MANAGER 7839 02-APR-81 2975 20
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7369 SMITH CLERK 7902 17-DEC-80 800 20

14 rows selected.

SQL> SELECT *
2 FROM Emp
3 WHERE
4 Sal BETWEEN
5 (
6 SELECT Sal
7 FROM Emp
8 WHERE Ename = 'MILLER'
9 ) AND
10 (
11 SELECT Sal
12 FROM Emp
13 WHERE Ename = 'JONES'
14 );

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7934 MILLER CLERK 7782 23-JAN-82 1300 10

6 rows selected.

SQL> ED
Wrote file afiedt.buf

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT *
2 FROM Emp
3 WHERE
4 Sal BETWEEN
5 (
6 SELECT Sal
7 FROM Emp
8 WHERE Ename = 'MILLER'
9 ) AND
10 (
11 SELECT Sal
12 FROM Emp
13 WHERE Ename = 'JONES'
14 ) AND
15* Ename NOT IN('MILLER', 'JONES')
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3 WHERE
4 Sal >= (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'MILLER'
8 ) AND
9 Sal <= (
10 SELECT Sal
11 FROM Emp
12 WHERE Ename = 'JONES'
13 ) AND
14* Ename NOT IN('MILLER', 'JONES')
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3 WHERE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 Sal >= (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'MILLER'
8 ) AND
9 Sal <= (
10 SELECT Sal
11 FROM Emp
12 WHERE Ename = 'JONES'
13 ) AND
14 Ename NOT IN('MILLER', 'JONES') AND
15 Deptno = (
16 SELECT Deptno
17 FROM Dept
18 WHERE Dname = 'SALES'
19* )
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3 WHERE
4 Sal >= (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'MILLER'
8 ) AND
9 Sal <= (
10 SELECT Sal
11 FROM Emp
12 WHERE Ename = 'JONES'
13 ) AND
14 Ename NOT IN('MILLER', 'JONES') AND
15 Deptno = (
16 SELECT Deptno
17 FROM Dept
18 WHERE Dname = 'SALES'
19 ) AND
20 Job = (
21 SELECT Job
22 FROM Emp
23 WHERE Ename = 'ALLEN'
24* )
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3 WHERE
4 Sal >= (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'MILLER'
8 ) AND
9 Sal <= (
10 SELECT Sal
11 FROM Emp
12 WHERE Ename = 'JONES'
13 ) AND
14 Ename NOT IN('MILLER', 'JONES') AND
15 Deptno = (
16 SELECT Deptno
17 FROM Dept
18 WHERE Dname = 'SALES'
19 ) AND
20 Job = (
21 SELECT Job
22 FROM Emp
23 WHERE Ename = 'ALLEN'
24 ) AND
25* Ename <> 'ALLEN'
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

SQL> cl scr

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7788 SCOTT ANALYST 7566 09-DEC-82 3000 20


7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> SELECT *
2 FROM Emp
3 WHERE Sal IN
4 (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'WARD'
8 ,
9 SELECT Sal
10 FROM Emp
11 WHERE Ename = 'FORD'
12 );
,
*
ERROR at line 8:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3 WHERE Sal IN
4 (
5 (
6 SELECT Sal
7 FROM Emp
8 WHERE Ename = 'WARD'
9 ),
10 (
11 SELECT Sal
12 FROM Emp
13 WHERE Ename = 'FORD'
14 )
15* )
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20

SQL> cl scr

SQL> Select MIN(Sal)


2 FROM Emp
3 GROUP BY Deptno;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MIN(SAL)
----------
1300
800
950

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Sal IN(Select MIN(Sal)
4 FROM Emp
5 GROUP BY Deptno);

ENAME SAL DEPTNO


---------- ----- ----------
MILLER 1300 10
SMITH 800 20
JAMES 950 30

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1234, 'SAMPLE01', 20, 1300);

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1235, 'SAMPLE02', 20, 950);

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1236, 'SAMPLE03', 30, 1300);

1 row created.

SQL> SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Sal IN(Select MIN(Sal)
4 FROM Emp
5 GROUP BY Deptno);

ENAME SAL DEPTNO


---------- ----- ----------
SAMPLE03 1300 30
SAMPLE01 1300 20
MILLER 1300 10
SMITH 800 20
SAMPLE02 950 20
JAMES 950 30

6 rows selected.

SQL> ED
Wrote file afiedt.buf

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Sal IN(Select MAX(Sal)
4 FROM Emp
5* GROUP BY Deptno)
SQL> /

ENAME SAL DEPTNO


---------- ----- ----------
KING 5000 10
SCOTT 3000 20
FORD 3000 20
BLAKE 2850 30

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Sal IN(Select MAX(Sal)
4 FROM Emp
5* GROUP BY Job)
SQL> /

ENAME SAL DEPTNO


---------- ----- ----------
SCOTT 3000 20
FORD 3000 20
SAMPLE03 1300 30
SAMPLE01 1300 20
MILLER 1300 10
JONES 2975 20
KING 5000 10
ALLEN 1600 30

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Sal IN(Select MIN(Sal)
4 FROM Emp
5* GROUP BY Job)
SQL> /

ENAME SAL DEPTNO


---------- ----- ----------
SCOTT 3000 20
FORD 3000 20
SMITH 800 20
CLARK 2450 10
KING 5000 10
WARD 1250 30
MARTIN 1250 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SAMPLE02 950 20
JAMES 950 30

9 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Sal IN(Select AVG(Sal)
4 FROM Emp
5* GROUP BY Job)
SQL> /

ENAME SAL DEPTNO


---------- ----- ----------
SCOTT 3000 20
FORD 3000 20
KING 5000 10

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT HireDate


2 FROM Emp
3 WHERE Deptno = 20;

HIREDATE
---------
02-APR-81
03-DEC-81
17-DEC-80
09-DEC-82
12-JAN-83

SQL> SELECT Sal


2 FROM Emp
3 WHERE HireDate IN(SELECT HireDate
4 FROM Emp
5 WHERE Deptno = 20);

SAL
----------
2975
3000
950
800
3000
1100

6 rows selected.

SQL> SELECT Empno, Ename, Job, Sal, Deptno, HireDate


2 FROM Emp
3 WHERE Sal IN(SELECT Sal
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 FROM Emp
5 WHERE HireDate IN(SELECT HireDate
6 FROM Emp
7 WHERE Deptno = 20)
8 );

EMPNO ENAME JOB SAL DEPTNO HIREDATE


---------- ---------- --------- ---------- ---------- ---------
7566 JONES MANAGER 2975 20 02-APR-81
7900 JAMES CLERK 950 30 03-DEC-81
7902 FORD ANALYST 3000 20 03-DEC-81
7369 SMITH CLERK 800 20 17-DEC-80
7788 SCOTT ANALYST 3000 20 09-DEC-82
7876 ADAMS CLERK 1100 20 12-JAN-83

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Job, Sal, Deptno, HireDate


2 FROM Emp
3 WHERE Sal IN(
4 SELECT Sal
5 FROM Emp
6 WHERE HireDate IN(
7 SELECT HireDate
8 FROM Emp
9 WHERE Deptno = (
10 SELECT Deptno
11 FROM Dept
12 WHERE Dname = 'RESEARCH'
13 )
14 )
15* )
SQL> /

EMPNO ENAME JOB SAL DEPTNO HIREDATE


---------- ---------- --------- ---------- ---------- ---------
7566 JONES MANAGER 2975 20 02-APR-81
7900 JAMES CLERK 950 30 03-DEC-81
7902 FORD ANALYST 3000 20 03-DEC-81
7369 SMITH CLERK 800 20 17-DEC-80
7788 SCOTT ANALYST 3000 20 09-DEC-82
7876 ADAMS CLERK 1100 20 12-JAN-83

6 rows selected.

SQL> cl scr

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN Sal FORMAT 9999
SQL> COLUMN Comm FORMAT 9999
SQL> COLUMN MGR FORMAT 9999
SQL> cl scr

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT *
2 FROM Emp
3 WHERE Sal >ANY(1100, 2750, 950);

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7934 MILLER CLERK 7782 23-JAN-82 1300 10

12 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3* WHERE Sal > 1100 OR Sal > 2750 OR Sal > 950
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7934 MILLER CLERK 7782 23-JAN-82 1300 10

12 rows selected.

SQL> cl scr

SQL> SELECT *
2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 WHERE Sal >ANY(


4 SELECT Sal
5 FROM Emp
6 WHERE Deptno = 30
7 )
8
SQL> SELECT Sal
2 FROM Emp
3 WHERE Deptno = 30;

SAL
-----
2850
1250
1600
1500
950
1250

6 rows selected.

SQL> SELECT *
2 FROM Emp
3 WHERE Sal >ANY(
4 SELECT Sal
5 FROM Emp
6 WHERE Deptno = 30
7 );

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7566 JONES MANAGER 7839 02-APR-81 2975 20
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7876 ADAMS CLERK 7788 12-JAN-83 1100 20

12 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3 WHERE Sal >(
4 SELECT MIN(Sal)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 FROM Emp
6 WHERE Deptno = 30
7* )
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7934 MILLER CLERK 7782 23-JAN-82 1300 10

12 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM Emp
3 WHERE Sal >SOME(
4 SELECT Sal
5 FROM Emp
6 WHERE Deptno = 30
7* )
SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7839 KING PRESIDENT 17-NOV-81 5000 10
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7566 JONES MANAGER 7839 02-APR-81 2975 20
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7934 MILLER CLERK 7782 23-JAN-82 1300 10
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ----------
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

12 rows selected.

SQL> cl scr

SQL> SELECT Sal


2 FROM Emp
3 WHERE Job = 'CLERK';

SAL
-----
950
800
1100
1300

SQL> SELECT Empno, Ename, Job


2 FROM Emp
3 WHERE Sal < ANY(SELECT Sal
4 FROM Emp
5 WHERE Job = 'CLERK');

EMPNO ENAME JOB


----- ---------- ---------
7369 SMITH CLERK
7900 JAMES CLERK
7876 ADAMS CLERK
7654 MARTIN SALESMAN
7521 WARD SALESMAN

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Job, Sal


2 FROM Emp
3 WHERE Sal < ANY(SELECT Sal
4 FROM Emp
5* WHERE Job = 'CLERK')
SQL> /

EMPNO ENAME JOB SAL


----- ---------- --------- -----
7369 SMITH CLERK 800
7900 JAMES CLERK 950
7876 ADAMS CLERK 1100
7654 MARTIN SALESMAN 1250
7521 WARD SALESMAN 1250

SQL> SELECT Empno, Ename, Job, Sal


2 FROM Emp
3 WHERE Sal < ANY(Select Sal
4 FROM Emp
5 WHERE Deptno = 20)
6 AND Job <> 'CLERK';

EMPNO ENAME JOB SAL


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----- ---------- --------- -----


7654 MARTIN SALESMAN 1250
7521 WARD SALESMAN 1250
7844 TURNER SALESMAN 1500
7499 ALLEN SALESMAN 1600
7782 CLARK MANAGER 2450
7698 BLAKE MANAGER 2850
7566 JONES MANAGER 2975

7 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Job, Sal


2 FROM Emp
3 WHERE Sal < ANY(SELECT Sal
4 FROM Emp
5 WHERE Job = 'CLERK') AND
6* Job <> 'CLERK'
SQL> /

EMPNO ENAME JOB SAL


----- ---------- --------- -----
7654 MARTIN SALESMAN 1250
7521 WARD SALESMAN 1250

SQL> cl scr

SQL> SELECT DISTINCT MGR


2 FROM Emp;

MGR
-----
7566
7698
7782
7788
7839
7902

7 rows selected.

SQL> SELECT Sal


2 FROM Emp
3 WHERE MGR IN(SELECT DISTINCT MGR
4 FROM Emp);

SAL
-----
2975
2450
2850
1250
950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1500
1600
1250
3000
3000
800

SAL
-----
1100
1300

13 rows selected.

SQL> SELECT Empno, Ename, Job, Sal


2 FROM Emp
3 WHERE Sal < ANY(SELECT Sal
4 FROM Emp
5 WHERE MGR IN(SELECT DISTINCT MGR
6 FROM Emp)
7 );

EMPNO ENAME JOB SAL


----- ---------- --------- -----
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7566 JONES MANAGER 2975
7654 MARTIN SALESMAN 1250
7499 ALLEN SALESMAN 1600
7844 TURNER SALESMAN 1500
7900 JAMES CLERK 950
7521 WARD SALESMAN 1250
7369 SMITH CLERK 800
7876 ADAMS CLERK 1100
7934 MILLER CLERK 1300

11 rows selected.

SQL> SELECT Sal


2 FROM Emp
3 WHERE Empno IN(SELECT DISTINCT MGR
4 FROM Emp);

SAL
-----
2975
2850
2450
3000
5000
3000

6 rows selected.

SQL> SELECT Empno, Ename, Job, Sal


2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 WHERE Sal < ANY(SELECT Sal


4 FROM Emp
5 WHERE Empno IN(SELECT DISTINCT MGR
6 FROM Emp)
7 );

EMPNO ENAME JOB SAL


----- ---------- --------- -----
7698 BLAKE MANAGER 2850
7782 CLARK MANAGER 2450
7566 JONES MANAGER 2975
7654 MARTIN SALESMAN 1250
7499 ALLEN SALESMAN 1600
7844 TURNER SALESMAN 1500
7900 JAMES CLERK 950
7521 WARD SALESMAN 1250
7902 FORD ANALYST 3000
7369 SMITH CLERK 800
7788 SCOTT ANALYST 3000

EMPNO ENAME JOB SAL


----- ---------- --------- -----
7876 ADAMS CLERK 1100
7934 MILLER CLERK 1300

13 rows selected.

SQL> cl scr

SQL> SELECT Empno, Ename, Job, Sal, Deptno


2 FROM Emp
3 WHERE Sal <ANY (SELECT Sal
4 FROM Emp
5 WHERE HireDate IN(SELECT HireDate
6 FROM Emp
7 WHERE Deptno = 20);
WHERE Deptno = 20)
*
ERROR at line 7:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Job, Sal, Deptno


2 FROM Emp
3 WHERE Sal <ANY (SELECT Sal
4 FROM Emp
5 WHERE HireDate IN(SELECT HireDate
6 FROM Emp
7 WHERE Deptno = 20)
8* )
SQL> /

EMPNO ENAME JOB SAL DEPTNO


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----- ---------- --------- ----- ----------


7698 BLAKE MANAGER 2850 30
7782 CLARK MANAGER 2450 10
7566 JONES MANAGER 2975 20
7654 MARTIN SALESMAN 1250 30
7499 ALLEN SALESMAN 1600 30
7844 TURNER SALESMAN 1500 30
7900 JAMES CLERK 950 30
7521 WARD SALESMAN 1250 30
7369 SMITH CLERK 800 20
7876 ADAMS CLERK 1100 20
7934 MILLER CLERK 1300 10

11 rows selected.

SQL> cl scr

SQL> SELECT Empno, Ename, Job


2 FROM Emp
3 WHERE Sal >ANY(SELECT Sal
4 FROM Emp
5 WHERE Job = 'CLERK');

EMPNO ENAME JOB


----- ---------- ---------
7839 KING PRESIDENT
7902 FORD ANALYST
7788 SCOTT ANALYST
7566 JONES MANAGER
7698 BLAKE MANAGER
7782 CLARK MANAGER
7499 ALLEN SALESMAN
7844 TURNER SALESMAN
7934 MILLER CLERK
7654 MARTIN SALESMAN
7521 WARD SALESMAN

EMPNO ENAME JOB


----- ---------- ---------
7876 ADAMS CLERK
7900 JAMES CLERK

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Job


2 FROM Emp
3 WHERE Sal >(SELECT MIN(Sal)
4 FROM Emp
5* WHERE Job = 'CLERK')
SQL> /

EMPNO ENAME JOB


----- ---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7839 KING PRESIDENT


7698 BLAKE MANAGER
7782 CLARK MANAGER
7566 JONES MANAGER
7654 MARTIN SALESMAN
7499 ALLEN SALESMAN
7844 TURNER SALESMAN
7900 JAMES CLERK
7521 WARD SALESMAN
7902 FORD ANALYST
7788 SCOTT ANALYST

EMPNO ENAME JOB


----- ---------- ---------
7876 ADAMS CLERK
7934 MILLER CLERK

13 rows selected.

SQL> cl scr

SQL> SELECT Empno, Ename, Job, Sal


2 FROM Emp
3 WHERE Sal >ALL(SELECT AVG(Sal)
4 FROM Emp
5 GROUP BY Deptno);

EMPNO ENAME JOB SAL


----- ---------- --------- -----
7839 KING PRESIDENT 5000
7566 JONES MANAGER 2975
7902 FORD ANALYST 3000
7788 SCOTT ANALYST 3000

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Job, Sal


2 FROM Emp
3 WHERE Sal >(SELECT MAX(AVG(Sal))
4 FROM Emp
5* GROUP BY Deptno)
SQL> /

EMPNO ENAME JOB SAL


----- ---------- --------- -----
7839 KING PRESIDENT 5000
7566 JONES MANAGER 2975
7902 FORD ANALYST 3000
7788 SCOTT ANALYST 3000

SQL> SELECT Empno, Ename Job, Sal


2 FROM Emp
3 WHERE Sal <ALL(SELECT AVG(Sal)
4 FROM Emp
5 GROUP BY Deptno);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

EMPNO JOB SAL


----- ---------- -----
7654 MARTIN 1250
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
7369 SMITH 800
7876 ADAMS 1100
7934 MILLER 1300

7 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename Job, Sal


2 FROM Emp
3 WHERE Sal <(SELECT MIN(AVG(Sal))
4 FROM Emp
5* GROUP BY Deptno)
SQL> /

EMPNO JOB SAL


----- ---------- -----
7654 MARTIN 1250
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
7369 SMITH 800
7876 ADAMS 1100
7934 MILLER 1300

7 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, HireDate


2 FROM Emp
3 WHERE Sal > (
4 SELECT MAX(Sal)
5 FROM Emp
6 WHERE Deptno = 30
7 ) AND
8 Deptno = (
9 SELECT Deptno
10 FROM Dept
11 WHERE Dname = 'RESEARCH'
12 );

ENAME SAL DEPTNO HIREDATE


---------- ----- ---------- ---------
JONES 2975 20 02-APR-81
FORD 3000 20 03-DEC-81
SCOTT 3000 20 09-DEC-82

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> WHERE (Sal, Deptno)SPOOL OFF


SP2-0734: unknown command beginning "WHERE (Sal..." - rest of line ignored.
SQL> SPOOL OFF
SQL> cl scr

SQL> ED
SP2-0107: Nothing to save.
SQL> cl scr

SQL> SELECT ProdId, Qty


2 FROM Item
3 WHERE OrdID = 605;

PRODID QTY
---------- ----------
100861 100
100870 500
100890 5
101860 50
101863 100
102130 10

6 rows selected.

SQL> SELECT OrdID, ProdID, Qty


2 FROM Item;

ORDID PRODID QTY


---------- ---------- ----------
610 100890 1
611 100861 1
612 100860 100
601 200376 1
602 100870 20
604 100890 3
604 100861 2
604 100860 10
603 100860 4
610 100860 1
610 100870 3

ORDID PRODID QTY


---------- ---------- ----------
613 200376 200
614 100860 444
614 100870 1000
612 100861 20
612 101863 150
620 100860 10
620 200376 1000
620 102130 500
613 100871 100
613 101860 200
613 200380 150

ORDID PRODID QTY


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ----------


619 102130 100
617 100860 50
617 100861 100
614 100871 1000
616 100861 10
616 100870 50
616 100890 2
616 102130 10
616 200376 10
619 200380 100
619 200376 100

ORDID PRODID QTY


---------- ---------- ----------
615 100861 4
607 100871 1
615 100870 100
617 100870 500
617 100871 500
617 100890 500
617 101860 100
617 101863 200
617 102130 100
617 200376 200
617 200380 300

ORDID PRODID QTY


---------- ---------- ----------
609 100870 5
609 100890 1
618 100860 23
618 100861 50
618 100870 10
621 100861 10
621 100870 100
615 100871 50
608 101860 1
608 100871 2
609 100861 1

ORDID PRODID QTY


---------- ---------- ----------
606 102130 1
605 100861 100
605 100870 500
605 100890 5
605 101860 50
605 101863 100
605 102130 10
612 100871 100
619 100871 50

64 rows selected.

SQL> SELECT DISTINCT OrdID


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Item;

ORDID
----------
601
602
603
604
605
606
607
608
609
610
611

ORDID
----------
612
613
614
615
616
617
618
619
620
621

21 rows selected.

SQL> SELECT OrdID, COUNT(*) ItemCnt


2 FROM Item
3 GROUP BY OrdID;

ORDID ITEMCNT
---------- ----------
601 1
602 1
603 1
604 3
605 6
606 1
607 1
608 2
609 3
610 3
611 1

ORDID ITEMCNT
---------- ----------
612 4
613 4
614 3
615 3
616 5
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

617 10
618 3
619 4
620 3
621 2

21 rows selected.

SQL> cl scr

SQL> SELECT ProdId, Qty


2 FROM Item
3 WHERE OrdID = 605;

PRODID QTY
---------- ----------
100861 100
100870 500
100890 5
101860 50
101863 100
102130 10

6 rows selected.

SQL> SELECT OrdID, ProdID, Qty


2 FROM Item
3 WHERE ProdID IN(100861, 100870, 100890, 101860, 101863, 102130) AND
4 OrdID <> 605;

ORDID PRODID QTY


---------- ---------- ----------
610 100890 1
611 100861 1
602 100870 20
604 100890 3
604 100861 2
610 100870 3
614 100870 1000
612 100861 20
612 101863 150
620 102130 500
613 101860 200

ORDID PRODID QTY


---------- ---------- ----------
619 102130 100
617 100861 100
616 100861 10
616 100870 50
616 100890 2
616 102130 10
615 100861 4
615 100870 100
617 100870 500
617 100890 500
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

617 101860 100

ORDID PRODID QTY


---------- ---------- ----------
617 101863 200
617 102130 100
609 100870 5
609 100890 1
618 100861 50
618 100870 10
621 100861 10
621 100870 100
608 101860 1
609 100861 1
606 102130 1

33 rows selected.

SQL> SELECT OrdID, ProdID, Qty


2 FROM Item
3 WHERE (ProdID, Qty) IN(SELECT ProdId, Qty
4 FROM Item
5 WHERE OrdID = 605) AND
6 OrdID <> 605;

ORDID PRODID QTY


---------- ---------- ----------
617 100861 100
617 100870 500
616 102130 10

SQL> SELECT OrdID, ProdID, Qty


2 FROM Item
3 WHERE ProdID IN(SELECT ProdID
4 FROM Item
5 WHERE OrdID = 605)
6 AND Qty IN (SELECT Qty
7 FROM Item
8 WHERE OrdID = 605)
9 AND OrdID <> 605
10 /

ORDID PRODID QTY


---------- ---------- ----------
616 100861 10
621 100861 10
618 100861 50
617 100861 100
618 100870 10
616 100870 50
609 100870 5
617 100870 500
615 100870 100
621 100870 100
617 100890 500

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORDID PRODID QTY


---------- ---------- ----------
617 101860 100
616 102130 10
620 102130 500
619 102130 100
617 102130 100

16 rows selected.

SQL> cl scr

SQL> SELECT OrdID, ProdID, Qty


2 FROM Item
3 WHERE (ProdID, Qty) IN(100861, 100);
WHERE (ProdID, Qty) IN(100861, 100)
*
ERROR at line 3:
ORA-00920: invalid relational operator

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp
3 WHERE (Deptno, Sal) IN (SELECT Deptno, MAX(Sal)
4 FROM Emp
5 GROUP BY Deptno);

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
SCOTT 20 3000
FORD 20 3000
BLAKE 30 2850

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp
3 WHERE Deptno IN (SELECT Deptno
4 FROM Emp
5 GROUP BY Deptno) AND
6 Sal IN (SELECT MAX(Sal)
7 FROM Emp
8 GROUP BY Deptno);

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
SCOTT 20 3000
FORD 20 3000
BLAKE 30 2850

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1234, 'SAMPLE01', 10, 3000);

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1235, 'SAMPLE02', 10, 2850);

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1236, 'SAMPLE03', 20, 2850);

1 row created.

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp
3 WHERE (Deptno, Sal) IN (SELECT Deptno, MAX(Sal)
4 FROM Emp
5 GROUP BY Deptno);

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
SCOTT 20 3000
FORD 20 3000
BLAKE 30 2850

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp
3 WHERE Deptno IN (SELECT Deptno
4 FROM Emp
5 GROUP BY Deptno) AND
6 Sal IN (SELECT MAX(Sal)
7 FROM Emp
8 GROUP BY Deptno);

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
SCOTT 20 3000
FORD 20 3000
SAMPLE01 10 3000
BLAKE 30 2850
SAMPLE03 20 2850
SAMPLE02 10 2850

7 rows selected.

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 /

ENAME SAL COMM


---------- ---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250 1400
ALLEN 1600 300
TURNER 1500 0
JAMES 950
WARD 1250 500
FORD 3000
SMITH 800

ENAME SAL COMM


---------- ---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Comm IN(1400, 300, NULL);

ENAME SAL COMM


---------- ---------- ----------
MARTIN 1250 1400
ALLEN 1600 300

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Comm NOT IN(1400, 300, NULL);

no rows selected

SQL> cl scr

SQL> SELECT Ename, Empno, MGR


2 FROM Emp;

ENAME EMPNO MGR


---------- ---------- ----------
KING 7839
BLAKE 7698 7839
CLARK 7782 7839
JONES 7566 7839
MARTIN 7654 7698
ALLEN 7499 7698
TURNER 7844 7698
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JAMES 7900 7698


WARD 7521 7698
FORD 7902 7566
SMITH 7369 7902

ENAME EMPNO MGR


---------- ---------- ----------
SCOTT 7788 7566
ADAMS 7876 7788
MILLER 7934 7782

14 rows selected.

SQL> SELECT E.Ename


2 FROM Emp E
3 WHERE E.Empno IN(SELECT M.Mgr
4 FROM Emp M);

ENAME
----------
JONES
BLAKE
CLARK
SCOTT
KING
FORD

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT E.Ename
2 FROM Emp E
3 WHERE E.Empno NOT IN(SELECT M.Mgr
4* FROM Emp M)
SQL> /

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT E.Ename
2 FROM Emp E
3 WHERE E.Empno NOT IN(SELECT NVL(M.Mgr, 0)
4* FROM Emp M)
SQL> /

ENAME
----------
SMITH
ALLEN
WARD
MARTIN
TURNER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS
JAMES
MILLER

8 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Comm IN(SELECT Comm
4 FROM Emp);

ENAME SAL COMM


---------- ---------- ----------
MARTIN 1250 1400
ALLEN 1600 300
TURNER 1500 0
WARD 1250 500

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Comm NOT IN(SELECT Comm
4* FROM Emp)
SQL> /

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Comm


2 FROM Emp
3 WHERE Comm NOT IN(SELECT NVL(Comm, 0)
4* FROM Emp)
SQL> /

no rows selected

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal, HireDate


2 FROM Emp;

ENAME DEPTNO SAL HIREDATE


---------- ---------- ---------- ---------
KING 10 5000 17-NOV-81
BLAKE 30 2850 01-MAY-81
CLARK 10 2450 09-JUN-81
JONES 20 2975 02-APR-81
MARTIN 30 1250 28-SEP-81
ALLEN 30 1600 20-FEB-81
TURNER 30 1500 08-SEP-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JAMES 30 950 03-DEC-81


WARD 30 1250 22-FEB-81
FORD 20 3000 03-DEC-81
SMITH 20 800 17-DEC-80

ENAME DEPTNO SAL HIREDATE


---------- ---------- ---------- ---------
SCOTT 20 3000 09-DEC-82
ADAMS 20 1100 12-JAN-83
MILLER 10 1300 23-JAN-82

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM (
3 SELECT Ename, Deptno, Sal, HireDate
4 FROM Emp
5* )
SQL> /

ENAME DEPTNO SAL HIREDATE


---------- ---------- ---------- ---------
KING 10 5000 17-NOV-81
BLAKE 30 2850 01-MAY-81
CLARK 10 2450 09-JUN-81
JONES 20 2975 02-APR-81
MARTIN 30 1250 28-SEP-81
ALLEN 30 1600 20-FEB-81
TURNER 30 1500 08-SEP-81
JAMES 30 950 03-DEC-81
WARD 30 1250 22-FEB-81
FORD 20 3000 03-DEC-81
SMITH 20 800 17-DEC-80

ENAME DEPTNO SAL HIREDATE


---------- ---------- ---------- ---------
SCOTT 20 3000 09-DEC-82
ADAMS 20 1100 12-JAN-83
MILLER 10 1300 23-JAN-82

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Sal * 12 AnnSal, HireDate


2 FROM (
3 SELECT Ename, Deptno, Sal, HireDate
4 FROM Emp
5* )
SQL> /

ENAME SAL ANNSAL HIREDATE


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- ---------


KING 5000 60000 17-NOV-81
BLAKE 2850 34200 01-MAY-81
CLARK 2450 29400 09-JUN-81
JONES 2975 35700 02-APR-81
MARTIN 1250 15000 28-SEP-81
ALLEN 1600 19200 20-FEB-81
TURNER 1500 18000 08-SEP-81
JAMES 950 11400 03-DEC-81
WARD 1250 15000 22-FEB-81
FORD 3000 36000 03-DEC-81
SMITH 800 9600 17-DEC-80

ENAME SAL ANNSAL HIREDATE


---------- ---------- ---------- ---------
SCOTT 3000 36000 09-DEC-82
ADAMS 1100 13200 12-JAN-83
MILLER 1300 15600 23-JAN-82

14 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Deptno, Dname, Loc


2 FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp;

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
BLAKE 30 2850
CLARK 10 2450
JONES 20 2975
MARTIN 30 1250
ALLEN 30 1600
TURNER 30 1500
JAMES 30 950
WARD 30 1250
FORD 20 3000
SMITH 20 800

ENAME DEPTNO SAL


---------- ---------- ----------
SCOTT 20 3000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ADAMS 20 1100
MILLER 10 1300

14 rows selected.

SQL> SELECT Deptno, AVG(Sal) SalAvg


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SALAVG
---------- ----------
10 2916.66667
20 2175
30 1566.66667

SQL> SELECT Ename, E.Deptno, Sal, AvgSal


2 FROM Emp E, (
3 SELECT Deptno, AVG(Sal) AvgSal
4 FROM Emp
5 GROUP BY Deptno
6 ) E1
7 WHERE E.Deptno = E1.Deptno;

ENAME DEPTNO SAL AVGSAL


---------- ---------- ---------- ----------
KING 10 5000 2916.66667
BLAKE 30 2850 1566.66667
CLARK 10 2450 2916.66667
JONES 20 2975 2175
MARTIN 30 1250 1566.66667
ALLEN 30 1600 1566.66667
TURNER 30 1500 1566.66667
JAMES 30 950 1566.66667
WARD 30 1250 1566.66667
FORD 20 3000 2175
SMITH 20 800 2175

ENAME DEPTNO SAL AVGSAL


---------- ---------- ---------- ----------
SCOTT 20 3000 2175
ADAMS 20 1100 2175
MILLER 10 1300 2916.66667

14 rows selected.

SQL> SELECT E.Ename, E.Sal , E.Deptno, E1.SalAvg


2 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
3 FROM Emp
4 GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno AND
6 E.Sal > E1.SalAvg;

ENAME SAL DEPTNO SALAVG


---------- ---------- ---------- ----------
KING 5000 10 2916.66667
BLAKE 2850 30 1566.66667
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 2975 20 2175


ALLEN 1600 30 1566.66667
FORD 3000 20 2175
SCOTT 3000 20 2175

6 rows selected.

SQL> cl scr

SQL> SELECT E.Ename, E.Sal, E.Deptno,


2 ROUND(E1.SalAvg, 2) DeptAvgSal,
3 ROUND(E.Sal - E1.SalAvg) DiffSalAvg
4 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
5 FROM Emp
6 GROUP BY Deptno) E1
7 WHERE E.Deptno = E1.Deptno
8 ORDER BY Deptno
9 /

ENAME SAL DEPTNO DEPTAVGSAL DIFFSALAVG


---------- ---------- ---------- ---------- ----------
KING 5000 10 2916.67 2083
CLARK 2450 10 2916.67 -467
MILLER 1300 10 2916.67 -1617
JONES 2975 20 2175 800
FORD 3000 20 2175 825
SMITH 800 20 2175 -1375
SCOTT 3000 20 2175 825
ADAMS 1100 20 2175 -1075
BLAKE 2850 30 1566.67 1283
MARTIN 1250 30 1566.67 -317
ALLEN 1600 30 1566.67 33

ENAME SAL DEPTNO DEPTAVGSAL DIFFSALAVG


---------- ---------- ---------- ---------- ----------
TURNER 1500 30 1566.67 -67
JAMES 950 30 1566.67 -617
WARD 1250 30 1566.67 -317

14 rows selected.

SQL> SELECT E.Ename, E.Sal, E.Deptno, E1.SalSum


2 FROM Emp E, (SELECT Deptno, SUM(Sal) SalSUM
3 FROM Emp
4 GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno
6 ORDER BY Deptno;

ENAME SAL DEPTNO SALSUM


---------- ---------- ---------- ----------
KING 5000 10 8750
CLARK 2450 10 8750
MILLER 1300 10 8750
JONES 2975 20 10875
FORD 3000 20 10875
SMITH 800 20 10875
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT 3000 20 10875


ADAMS 1100 20 10875
BLAKE 2850 30 9400
MARTIN 1250 30 9400
ALLEN 1600 30 9400

ENAME SAL DEPTNO SALSUM


---------- ---------- ---------- ----------
TURNER 1500 30 9400
JAMES 950 30 9400
WARD 1250 30 9400

14 rows selected.

SQL> cl scr

SQL> SELECT T1.Deptno, Dname, Staff


2 FROM Dept T1,
3 (SELECT Deptno, COUNT(*) AS Staff
4 FROM Emp
5 GROUP BY Deptno) T2
6 WHERE T1.Deptno = T2.Deptno
7 AND Staff >= 5;

DEPTNO DNAME STAFF


---------- -------------- ----------
20 RESEARCH 5
30 SALES 6

SQL> SELECT E.Deptno, Dname, COUNT(*) Staff


2 FROM Emp E, Dept D
3 WHERE E.Deptno = D.Deptno
4 GROUP BY E.Deptno, Dname
5 HAVING COUNT(*) >= 5;

DEPTNO DNAME STAFF


---------- -------------- ----------
20 RESEARCH 5
30 SALES 6

SQL> cl scr

SQL> SELECT Deptno, SUM(Sal),


2 SUM(Sal)/Tot_Sal * 100 "Salary%"
3 FROM Emp,
4 (SELECT SUM(Sal) Tot_Sal
5 FROM Emp)
6 GROUP BY Deptno, Tot_Sal;

DEPTNO SUM(SAL) Salary%


---------- ---------- ----------
10 8750 30.1464255
20 10875 37.4677003
30 9400 32.3858742

SQL> SELECT Job, SUM(Sal),


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 ROUND(SUM(Sal)/Tot_Sal * 100, 2) "Salary%"


3 FROM Emp, (SELECT SUM(Sal) Tot_Sal
4 FROM Emp)
5 GROUP BY Job, Tot_Sal;

JOB SUM(SAL) Salary%


--------- ---------- ----------
CLERK 4150 14.3
ANALYST 6000 20.67
MANAGER 8275 28.51
SALESMAN 5600 19.29
PRESIDENT 5000 17.23

SQL> cl scr

SQL> SELECT Ename, Sal, SUM(Sal)


2 FROM Emp
3 GROUP BY Ename, Sal;

ENAME SAL SUM(SAL)


---------- ---------- ----------
FORD 3000 3000
KING 5000 5000
WARD 1250 1250
ADAMS 1100 1100
ALLEN 1600 1600
BLAKE 2850 2850
CLARK 2450 2450
JAMES 950 950
JONES 2975 2975
SCOTT 3000 3000
SMITH 800 800

ENAME SAL SUM(SAL)


---------- ---------- ----------
MARTIN 1250 1250
MILLER 1300 1300
TURNER 1500 1500

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, (SUM(Sal) / OrgSal) * 100


2 FROM Emp, (
3 SELECT SUM(Sal) OrgSal
4 FROM Emp
5 )
6* GROUP BY Ename, Sal, OrgSal
SQL> /

ENAME SAL (SUM(SAL)/ORGSAL)*100


---------- ---------- ---------------------
FORD 3000 10.3359173
KING 5000 17.2265289
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

WARD 1250 4.30663221


ADAMS 1100 3.78983635
ALLEN 1600 5.51248923
BLAKE 2850 9.81912145
CLARK 2450 8.44099914
JAMES 950 3.27304048
JONES 2975 10.2497847
SCOTT 3000 10.3359173
SMITH 800 2.75624462

ENAME SAL (SUM(SAL)/ORGSAL)*100


---------- ---------- ---------------------
MARTIN 1250 4.30663221
MILLER 1300 4.4788975
TURNER 1500 5.16795866

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal,


2 TRUNC((SUM(Sal) / OrgSal) * 100, 2)||' % Share' "%Share"
3 FROM Emp, (
4 SELECT SUM(Sal) OrgSal
5 FROM Emp
6 )
7* GROUP BY Ename, Sal, OrgSal
SQL> /

ENAME SAL %Share


---------- ---------- ------------------------------------------------
FORD 3000 10.33 % Share
KING 5000 17.22 % Share
WARD 1250 4.3 % Share
ADAMS 1100 3.78 % Share
ALLEN 1600 5.51 % Share
BLAKE 2850 9.81 % Share
CLARK 2450 8.44 % Share
JAMES 950 3.27 % Share
JONES 2975 10.24 % Share
SCOTT 3000 10.33 % Share
SMITH 800 2.75 % Share

ENAME SAL %Share


---------- ---------- ------------------------------------------------
MARTIN 1250 4.3 % Share
MILLER 1300 4.47 % Share
TURNER 1500 5.16 % Share

14 rows selected.

SQL> cl scr

SQL> SELECT TO_CHAR(HireDate, 'YYYY') Year,


2 SUM(Sal),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 ROUND(SUM(Sal)/Tot_Sal * 100, 2) "Salary%"


4 FROM Emp, (SELECT SUM(Sal) Tot_Sal
5 FROM Emp)
6 GROUP BY TO_CHAR(HireDate, 'YYYY'), Tot_Sal;

YEAR SUM(SAL) Salary%


---- ---------- ----------
1980 800 2.76
1981 22825 78.64
1982 4300 14.81
1983 1100 3.79

SQL> SELECT
2 TO_CHAR(HireDate, 'YYYY') Year,
3 TO_CHAR(HireDate, 'Month') "Month",
4 SUM(Sal),
5 ROUND(SUM(Sal)/Tot_Sal * 100, 2) "Salary%"
6 FROM Emp, (SELECT SUM(Sal) Tot_Sal
7 FROM Emp)
8 WHERE TO_CHAR(HireDate, 'YYYY') = &GiveYear
9 GROUP BY TO_CHAR(HireDate, 'YYYY'), TO_CHAR(HireDate, 'Month'), Tot_Sal;
Enter value for giveyear: 1981
old 8: WHERE TO_CHAR(HireDate, 'YYYY') = &GiveYear
new 8: WHERE TO_CHAR(HireDate, 'YYYY') = 1981

YEAR Month SUM(SAL) Salary%


---- --------- ---------- ----------
1981 April 2975 10.25
1981 December 3950 13.61
1981 February 2850 9.82
1981 June 2450 8.44
1981 May 2850 9.82
1981 November 5000 17.23
1981 September 2750 9.47

7 rows selected.

SQL> cl scr

SQL> SELECT E.EmpCount, D.DeptCount, S.GradeCnt


2 FROM
3 (SELECT COUNT(*) EmpCount
4 FROM Emp) E,
5 (SELECT COUNT(*) DeptCount
6 FROM Dept) D,
7 (SELECT COUNT(*) GradeCnt FROM
8 SalGrade) S;

EMPCOUNT DEPTCOUNT GRADECNT


---------- ---------- ----------
14 4 5

SQL> SELECT
2 E.EmpCount,
3 D.DeptCount,
4 S.GradeCnt,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 E.EmpCount + D.DeptCount + S.GradeCnt TotalRecCnt


6 FROM
7 (SELECT COUNT(*) EmpCount
8 FROM Emp) E,
9 (SELECT COUNT(*) DeptCount
10 FROM Dept) D,
11 (SELECT COUNT(*) GradeCnt
12 FROM SalGrade) S;

EMPCOUNT DEPTCOUNT GRADECNT TOTALRECCNT


---------- ---------- ---------- -----------
14 4 5 23

SQL> SELECT
2 E.EmpCount,
3 D.DeptCount,
4 S.GradeCnt,
5 E.EmpCount + D.DeptCount + S.GradeCnt TotalRecCnt,
6 GREATEST(E.EmpCount, D.DeptCount, S.GradeCnt) HighRecinTab,
7 LEAST(E.EmpCount, D.DeptCount, S.GradeCnt) LowRecinTab
8 FROM
9 (SELECT COUNT(*) EmpCount
10 FROM Emp) E,
11 (SELECT COUNT(*) DeptCount
12 FROM Dept) D,
13 (SELECT COUNT(*) GradeCnt
14 FROM SalGrade) S;

EMPCOUNT DEPTCOUNT GRADECNT TOTALRECCNT HIGHRECINTAB LOWRECINTAB


---------- ---------- ---------- ----------- ------------ -----------
14 4 5 23 14 4

SQL> cl scr

SQL> SELECT A.Deptno "Department Number",


2 (A.NumEmp / B.TotalCount ) * 100 "%Employees",
3 (A.SalSum / B.TotalSal ) * 100 "%Salary"
4 FROM
5 (SELECT Deptno, COUNT(*) NumEmp,
6 SUM(Sal) SalSum
7 FROM Emp
8 GROUP BY Deptno) A,
9 (SELECT COUNT(*) TotalCount,
10 SUM(Sal) TotalSal
11 FROM Emp) B;

Department Number %Employees %Salary


----------------- ---------- ----------
10 21.4285714 30.1464255
20 35.7142857 37.4677003
30 42.8571429 32.3858742

SQL> cl scr

SQL> SELECT Ename, Sal FROM Emp;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
JAMES 950
WARD 1250
FORD 3000
SMITH 800

ENAME SAL
---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> SELECT SUM(Sal) FROM Emp;

SUM(SAL)
----------
29025

SQL> SELECT Ename, Sal, (SELECT SUM(Sal) FROM Emp) OrgSal FROM Emp;

ENAME SAL ORGSAL


---------- ---------- ----------
KING 5000 29025
BLAKE 2850 29025
CLARK 2450 29025
JONES 2975 29025
MARTIN 1250 29025
ALLEN 1600 29025
TURNER 1500 29025
JAMES 950 29025
WARD 1250 29025
FORD 3000 29025
SMITH 800 29025

ENAME SAL ORGSAL


---------- ---------- ----------
SCOTT 3000 29025
ADAMS 1100 29025
MILLER 1300 29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal,


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 (SELECT SUM(Sal) FROM Emp) OrgSal,


3 (SELECT AVG(Sal) FROM Emp) OrgAvg
4* FROM Emp
SQL> /

ENAME SAL ORGSAL ORGAVG


---------- ---------- ---------- ----------
KING 5000 29025 2073.21429
BLAKE 2850 29025 2073.21429
CLARK 2450 29025 2073.21429
JONES 2975 29025 2073.21429
MARTIN 1250 29025 2073.21429
ALLEN 1600 29025 2073.21429
TURNER 1500 29025 2073.21429
JAMES 950 29025 2073.21429
WARD 1250 29025 2073.21429
FORD 3000 29025 2073.21429
SMITH 800 29025 2073.21429

ENAME SAL ORGSAL ORGAVG


---------- ---------- ---------- ----------
SCOTT 3000 29025 2073.21429
ADAMS 1100 29025 2073.21429
MILLER 1300 29025 2073.21429

14 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp
3 WHERE Sal > (
4 SELECT AVG(Sal)
5 FROM Emp
6 WHERE Deptno = Deptno
7 )
8
SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal


2 FROM Emp OE
3 WHERE OE.Sal > (
4 SELECT AVG(Sal)
5 FROM Emp IE
6 WHERE IE.Deptno = OE.Deptno
7* )
SQL> /

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
BLAKE 30 2850
JONES 20 2975
ALLEN 30 1600
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

FORD 20 3000
SCOTT 20 3000

6 rows selected.

SQL> SELECT Deptno, AVG(Sal) SalAvg


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SALAVG
---------- ----------
10 2916.66667
20 2175
30 1566.66667

SQL> SELECT Ename, OE.Deptno, Sal


2 FROM Emp OE, (
3 SELECT Deptno, AVG(Sal) SalAvg
4 FROM Emp IE
5 GROUP BY Deptno
6 ) IE
7 WHERE OE.Deptno = IE.Deptno AND
8 OE.Sal > IE.SalAvg;

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
SCOTT 20 3000
FORD 20 3000
JONES 20 2975
ALLEN 30 1600
BLAKE 30 2850

6 rows selected.

SQL> SELECT Ename, Deptno, Sal


2 FROM Emp OE
3 WHERE OE.Sal > (
4 SELECT AVG(Sal)
5 FROM Emp IE
6 WHERE IE.Deptno = OE.Deptno
7 );

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
BLAKE 30 2850
JONES 20 2975
ALLEN 30 1600
FORD 20 3000
SCOTT 20 3000

6 rows selected.

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT Ename, OE.Deptno, Sal, SalAvg


2 FROM Emp OE, (
3 SELECT Deptno, AVG(Sal) SalAvg
4 FROM Emp IE
5 GROUP BY Deptno
6 ) IE
7 WHERE OE.Deptno = IE.Deptno AND
8* OE.Sal > IE.SalAvg
SQL> /

ENAME DEPTNO SAL SALAVG


---------- ---------- ---------- ----------
KING 10 5000 2916.66667
SCOTT 20 3000 2175
FORD 20 3000 2175
JONES 20 2975 2175
ALLEN 30 1600 1566.66667
BLAKE 30 2850 1566.66667

6 rows selected.

SQL> cl scr

SQL> SELECT Empno, Ename, E.Deptno, Sal, MGR


2 FROM Emp E
3 WHERE E.Sal > (
4 SELECT M.Sal
5 FROM Emp M
6 WHERE M.Empno = E.MGR
7 );

EMPNO ENAME DEPTNO SAL MGR


---------- ---------- ---------- ---------- ----------
7902 FORD 20 3000 7566
7788 SCOTT 20 3000 7566

SQL> SELECT Empno, Ename, Sal, MGR


2 FROM Emp
3 WHERE Empno = 7566;

EMPNO ENAME SAL MGR


---------- ---------- ---------- ----------
7566 JONES 2975 7839

SQL> cl scr

SQL> SELECT Deptno, Dname


2 FROM Dept D
3 WHERE EXISTS (
4 SELECT *
5 FROM Emp E
6 WHERE E.Deptno = D.Deptno
7 );

DEPTNO DNAME
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- --------------
10 ACCOUNTING
30 SALES
20 RESEARCH

SQL> SELECT Deptno, Dname


2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;
SELECT Deptno, Dname
*
ERROR at line 1:
ORA-00918: column ambiguously defined

SQL> ED
Wrote file afiedt.buf

1 SELECT Dept.Deptno, Dname


2 FROM Emp, Dept
3* WHERE Emp.Deptno = Dept.Deptno
SQL> /

DEPTNO DNAME
---------- --------------
10 ACCOUNTING
30 SALES
10 ACCOUNTING
20 RESEARCH
30 SALES
30 SALES
30 SALES
30 SALES
30 SALES
20 RESEARCH
20 RESEARCH

DEPTNO DNAME
---------- --------------
20 RESEARCH
20 RESEARCH
10 ACCOUNTING

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT DISTINCT Dept.Deptno, Dname


2 FROM Emp, Dept
3* WHERE Emp.Deptno = Dept.Deptno
SQL> /

DEPTNO DNAME
---------- --------------
10 ACCOUNTING
20 RESEARCH
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

30 SALES

SQL> ED
Wrote file afiedt.buf

1 SELECT Dept.Deptno, Dname


2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno
4* GROUP BY Dept.Deptno, Dname
SQL> /

DEPTNO DNAME
---------- --------------
10 ACCOUNTING
20 RESEARCH
30 SALES

SQL> SELECT Dept.Deptno, Dname


2 FROM Dept
3 WHERE Dept.Deptno IN (
4 SELECT Deptno
5 FROM Emp
6* )
SQL> /

DEPTNO DNAME
---------- --------------
10 ACCOUNTING
30 SALES
20 RESEARCH

SQL> cl scr

SQL> SELECT Deptno, Dname


2 FROM Dept D
3 WHERE NOT EXISTS (
4 SELECT *
5 FROM Emp E
6 WHERE E.Deptno = D.Deptno
7 );

DEPTNO DNAME
---------- --------------
40 OPERATIONS

SQL> cl scr

SQL> SELECT E.Ename


2 FROM Emp E
3 WHERE EXISTS (
4 SELECT *
5 FROM Emp E1
6 WHERE E1.Empno = E.Mgr
7 );

ENAME
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

ENAME
----------
ADAMS
MILLER

13 rows selected.

SQL> SELECT Ename FROM Emp WHERE MGR IS NOT NULL;

ENAME
----------
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH
SCOTT

ENAME
----------
ADAMS
MILLER

13 rows selected.

SQL> cl scr

SQL> SELECT E.Ename


2 FROM Emp E
3 WHERE NOT EXISTS (
4 SELECT *
5 FROM Emp E1
6 WHERE E1.Empno = E.Mgr
7 );

ENAME
----------
KING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT E.Ename


2 FROM Emp E
3 WHERE EXISTS (
4 SELECT *
5 FROM Emp E1
6 WHERE E1.Mgr = E.Empno
7 );

ENAME
----------
KING
BLAKE
JONES
FORD
SCOTT
CLARK

6 rows selected.

SQL> SELECT E.Ename


2 FROM Emp E
3 WHERE NOT EXISTS (
4 SELECT *
5 FROM Emp E1
6 WHERE E1.Mgr = E.Empno
7 );

ENAME
----------
TURNER
WARD
MARTIN
ALLEN
MILLER
SMITH
ADAMS
JAMES

8 rows selected.

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job


2 FROM Emp
3 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
FORD 7902 7566 ANALYST
SMITH 7369 7902 CLERK
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK
MARTIN 7654 7698 SALESMAN
ALLEN 7499 7698 SALESMAN
JAMES 7900 7698 CLERK
WARD 7521 7698 SALESMAN
TURNER 7844 7698 SALESMAN
MILLER 7934 7782 CLERK
ADAMS 7876 7788 CLERK

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
BLAKE 7698 7839 MANAGER
MARTIN 7654 7698 SALESMAN
ALLEN 7499 7698 SALESMAN
JAMES 7900 7698 CLERK
WARD 7521 7698 SALESMAN
TURNER 7844 7698 SALESMAN
CLARK 7782 7839 MANAGER
MILLER 7934 7782 CLERK
JONES 7566 7839 MANAGER
FORD 7902 7566 ANALYST
SMITH 7369 7902 CLERK

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK
SMITH 7369 7902 CLERK
KING 7839 PRESIDENT
BLAKE 7698 7839 MANAGER
MARTIN 7654 7698 SALESMAN
ALLEN 7499 7698 SALESMAN
JAMES 7900 7698 CLERK
WARD 7521 7698 SALESMAN
TURNER 7844 7698 SALESMAN
CLARK 7782 7839 MANAGER

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
MILLER 7934 7782 CLERK
JONES 7566 7839 MANAGER
FORD 7902 7566 ANALYST
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SMITH 7369 7902 CLERK


SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK

39 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job


2 FROM Emp
3 START WITH Job = 'PRESIDENT'
4 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
KING 7839 PRESIDENT
BLAKE 7698 7839 MANAGER
MARTIN 7654 7698 SALESMAN
ALLEN 7499 7698 SALESMAN
TURNER 7844 7698 SALESMAN
JAMES 7900 7698 CLERK
WARD 7521 7698 SALESMAN
CLARK 7782 7839 MANAGER
MILLER 7934 7782 CLERK
JONES 7566 7839 MANAGER
FORD 7902 7566 ANALYST

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
SMITH 7369 7902 CLERK
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job


2 FROM Emp
3 START WITH Ename = 'KING'
4* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
KING 7839 PRESIDENT
BLAKE 7698 7839 MANAGER
MARTIN 7654 7698 SALESMAN
ALLEN 7499 7698 SALESMAN
TURNER 7844 7698 SALESMAN
JAMES 7900 7698 CLERK
WARD 7521 7698 SALESMAN
CLARK 7782 7839 MANAGER
MILLER 7934 7782 CLERK
JONES 7566 7839 MANAGER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

FORD 7902 7566 ANALYST

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
SMITH 7369 7902 CLERK
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK

14 rows selected.

SQL> SELECT Ename, Empno, Mgr, Job


2 FROM Emp;

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
KING 7839 PRESIDENT
BLAKE 7698 7839 MANAGER
CLARK 7782 7839 MANAGER
JONES 7566 7839 MANAGER
MARTIN 7654 7698 SALESMAN
ALLEN 7499 7698 SALESMAN
TURNER 7844 7698 SALESMAN
JAMES 7900 7698 CLERK
WARD 7521 7698 SALESMAN
FORD 7902 7566 ANALYST
SMITH 7369 7902 CLERK

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK
MILLER 7934 7782 CLERK

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Sal = 5000
4 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Sal = (SELECT MAX(Sal)
4 FROM Emp)
5 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

14 rows selected.

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Sal IN (SELECT Sal
4 FROM Emp
5 WHERE Job = 'ANALYST')
6 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
FORD 7902 7566 ANALYST 3000
SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Sal = (SELECT MAX(Sal)
4 FROM Emp
5 WHERE Deptno = (SELECT Deptno
6 FROM
Dept
7
WHERE Dname = 'ACCOUNTING')
8 )
9 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Sal = (SELECT MAX(Sal)
4 FROM Emp
5 WHERE Deptno = (SELECT Deptno
6 FROM
Dept
7
WHERE Dname = 'RESEARCH')
8 )
9* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
FORD 7902 7566 ANALYST 3000
SMITH 7369 7902 CLERK 800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT 7788 7566 ANALYST 3000


ADAMS 7876 7788 CLERK 1100

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Sal = (SELECT MAX(Sal)
4 FROM Emp
5 WHERE Deptno = (SELECT Deptno
6 FROM
Dept
7
WHERE Dname = 'SALES')
8 )
9* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250

6 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = (SELECT Ename
4 FROM Emp, SalGrade
5 WHERE Emp.Sal BETWEEN SalGrade.LOSAL AND
SalGrade.HiSal
6 AND grade = 5)
7 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000

ENAME EMPNO MGR JOB SAL


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- --------- ----------


SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, MGR, Job


2 FROM Emp
3 START WITH Job = 'ANALYST'
4 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
FORD 7902 7566 ANALYST
SMITH 7369 7902 CLERK
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, MGR, Job


2 FROM Emp
3 START WITH Ename = 'JONES'
4* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
JONES 7566 7839 MANAGER
FORD 7902 7566 ANALYST
SMITH 7369 7902 CLERK
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, MGR, Job


2 FROM Emp
3 START WITH Ename = 'JONES'
4* CONNECT BY Empno = PRIOR MGR
SQL> /

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
JONES 7566 7839 MANAGER
KING 7839 PRESIDENT

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, MGR, Job


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Emp
3 START WITH Job = 'ANALYST'
4* CONNECT BY Empno = PRIOR MGR
SQL> /

ENAME EMPNO MGR JOB


---------- ---------- ---------- ---------
SCOTT 7788 7566 ANALYST
JONES 7566 7839 MANAGER
KING 7839 PRESIDENT
FORD 7902 7566 ANALYST
JONES 7566 7839 MANAGER
KING 7839 PRESIDENT

6 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5 /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

14 rows selected.

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5 AND Job = 'MANAGER';

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CLARK 7782 7839 MANAGER 2450


JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 WHERE Job = 'MANAGER'
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'JONES'
4* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000
SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'BLAKE'
4* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250

6 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'CLARK'
4* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'JONES'
4 CONNECT BY PRIOR Empno = MGR AND
5* Job = 'MANAGER'
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
JONES 7566 7839 MANAGER 2975

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5 AND Job = 'MANAGER';

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND Job = 'SALESMAN'
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND Job = 'MANAGER' OR Job = 'SALESMAN'
SQL> /
ERROR:
ORA-01436: CONNECT BY loop in user data

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND Job = 'MANAGER' AND Job = 'SALESMAN'
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND (Job = 'MANAGER' OR Job = 'SALESMAN')
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

8 rows selected.

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND Job IN('MANAGER', 'SALESMAN')
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

8 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5 AND Job <> 'SALESMAN';

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
JAMES 7900 7698 CLERK 950
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000
SMITH 7369 7902 CLERK 800
SCOTT 7788 7566 ANALYST 3000
ADAMS 7876 7788 CLERK 1100

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND Job <> 'CLERK'
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 7839 PRESIDENT 5000


BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000
SCOTT 7788 7566 ANALYST 3000

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* AND Job <> 'ANALYST'
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 WHERE Job <> 'ANALYST'
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

WARD 7521 7698 SALESMAN 1250


CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
SMITH 7369 7902 CLERK 800

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
ADAMS 7876 7788 CLERK 1100

12 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5 AND Job <> 'SALESMAN'
6 AND Sal > 1500;

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000
SCOTT 7788 7566 ANALYST 3000

6 rows selected.

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 WHERE Job <> 'SALESMAN' AND Sal > 1500
4 START WITH Ename = 'KING'
5 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975
FORD 7902 7566 ANALYST 3000
SCOTT 7788 7566 ANALYST 3000

6 rows selected.

SQL> SELECT Ename, Empno, Mgr, Job, Sal


2 FROM Emp
3 WHERE Deptno = (SELECT Deptno
4 FROM Dept
5 WHERE DName = 'SALES')
6 START WITH Ename = 'KING'
7 CONNECT BY PRIOR Empno = MGR;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME EMPNO MGR JOB SAL


---------- ---------- ---------- --------- ----------
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250

6 rows selected.

SQL> cl scr

SQL> SELECT Ename, Empno, Mgr, Job, Sal,


2 ROUND(SalAvg, 2) SalAvg
3 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
4 FROM Emp
5 GROUP BY Deptno) E1
6 WHERE E.Deptno = E1.Deptno
7 START WITH Ename = 'KING'
8 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL SALAVG


---------- ---------- ---------- --------- ---------- ----------
KING 7839 PRESIDENT 5000 2916.67
CLARK 7782 7839 MANAGER 2450 2916.67
MILLER 7934 7782 CLERK 1300 2916.67
JONES 7566 7839 MANAGER 2975 2175
SCOTT 7788 7566 ANALYST 3000 2175
ADAMS 7876 7788 CLERK 1100 2175
FORD 7902 7566 ANALYST 3000 2175
SMITH 7369 7902 CLERK 800 2175
BLAKE 7698 7839 MANAGER 2850 1566.67
WARD 7521 7698 SALESMAN 1250 1566.67
JAMES 7900 7698 CLERK 950 1566.67

ENAME EMPNO MGR JOB SAL SALAVG


---------- ---------- ---------- --------- ---------- ----------
TURNER 7844 7698 SALESMAN 1500 1566.67
ALLEN 7499 7698 SALESMAN 1600 1566.67
MARTIN 7654 7698 SALESMAN 1250 1566.67

14 rows selected.

SQL> SELECT Ename, Empno, Mgr, Job, Sal,


2 ROUND(SalAvg, 2) SalAvg
3 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
4 FROM Emp
5 GROUP BY Deptno) E1
6 WHERE E.Deptno = E1.Deptno AND
7 E1.Deptno = (SELECT Deptno
8 FROM Dept
9 WHERE Dname = 'SALES')
10 START WITH Ename = 'KING'
11 CONNECT BY PRIOR Empno = MGR;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME EMPNO MGR JOB SAL SALAVG


---------- ---------- ---------- --------- ---------- ----------
BLAKE 7698 7839 MANAGER 2850 1566.67
WARD 7521 7698 SALESMAN 1250 1566.67
JAMES 7900 7698 CLERK 950 1566.67
TURNER 7844 7698 SALESMAN 1500 1566.67
ALLEN 7499 7698 SALESMAN 1600 1566.67
MARTIN 7654 7698 SALESMAN 1250 1566.67

6 rows selected.

SQL> SELECT Ename, Empno, Mgr, Job, Sal, ROUND(SalAvg, 2) SalAvg, ROUND(((SELECT
AVG(Sal) FROM Emp) - SalAvg), 2) AvgDif
2 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
3 FROM Emp
4 GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno AND
6 E1.Deptno = (SELECT Deptno
7 FROM Dept
8 WHERE Dname = 'SALES')
9 START WITH Ename = 'KING'
10 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR JOB SAL SALAVG AVGDIF


---------- ---------- ---------- --------- ---------- ---------- ----------
BLAKE 7698 7839 MANAGER 2850 1566.67 506.55
WARD 7521 7698 SALESMAN 1250 1566.67 506.55
JAMES 7900 7698 CLERK 950 1566.67 506.55
TURNER 7844 7698 SALESMAN 1500 1566.67 506.55
ALLEN 7499 7698 SALESMAN 1600 1566.67 506.55
MARTIN 7654 7698 SALESMAN 1250 1566.67 506.55

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal, ROUND(SalAvg, 2) SalAvg, ROUND(((SELECT


AVG(Sal) FROM Emp) - SalAvg), 2) AvgDif
2 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
3 FROM Emp
4 GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno AND
6 E1.Deptno = (SELECT Deptno
7 FROM Dept
8 WHERE Dname = 'SALES')
9 START WITH Ename = (
10 SELECT Ename
11 FROM Emp
12 WHERE Sal = (
13 SELECT
14 MAX(Sal)
15 FROM Emp
16 WHERE Deptno = (
17 SELECT Deptno
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

18 FROM Dept
19 WHERE Dname = 'ACCOUNTING'
20 )
21 )
22 )
23* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR JOB SAL SALAVG AVGDIF


---------- ---------- ---------- --------- ---------- ---------- ----------
BLAKE 7698 7839 MANAGER 2850 1566.67 506.55
WARD 7521 7698 SALESMAN 1250 1566.67 506.55
JAMES 7900 7698 CLERK 950 1566.67 506.55
TURNER 7844 7698 SALESMAN 1500 1566.67 506.55
ALLEN 7499 7698 SALESMAN 1600 1566.67 506.55
MARTIN 7654 7698 SALESMAN 1250 1566.67 506.55

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, Mgr, Job, Sal, ROUND(SalAvg, 2) SalAvg, ROUND(((SELECT


AVG(Sal) FROM Emp) - SalAvg), 2) AvgDif
2 FROM Emp E, (SELECT Deptno, AVG(Sal) SalAvg
3 FROM Emp
4 GROUP BY Deptno) E1
5 WHERE E.Deptno = E1.Deptno AND
6 E1.Deptno = (SELECT Deptno
7 FROM Dept
8 WHERE Dname = 'SALES')
9 START WITH Ename = (
10 SELECT Ename
11 FROM Emp
12 WHERE Sal = (
13 SELECT
14 MAX(Sal)
15 FROM Emp
16 WHERE Deptno = (
17 SELECT Deptno
18 FROM Dept
19 WHERE Dname = 'ACCOUNTING'
20 )
21 )
22 )
23* CONNECT BY PRIOR Empno = MGR
SQL> SPOOL OFF
SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT Ename, Sal, Job,


2 CONNECT_BY_ROOT(Ename) Boss
3 FROM Emp
4 START WITH Ename = 'KING'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 CONNECT BY PRIOR Empno = MGR;

ENAME SAL JOB BOSS


---------- ---------- --------- ----------
KING 5000 PRESIDENT KING
BLAKE 2850 MANAGER KING
MARTIN 1250 SALESMAN KING
ALLEN 1600 SALESMAN KING
TURNER 1500 SALESMAN KING
JAMES 950 CLERK KING
WARD 1250 SALESMAN KING
CLARK 2450 MANAGER KING
MILLER 1300 CLERK KING
JONES 2975 MANAGER KING
FORD 3000 ANALYST KING

ENAME SAL JOB BOSS


---------- ---------- --------- ----------
SMITH 800 CLERK KING
SCOTT 3000 ANALYST KING
ADAMS 1100 CLERK KING

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job,


2 CONNECT_BY_ROOT(Job) BossJob
3 FROM Emp
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME SAL JOB BOSSJOB


---------- ---------- --------- ---------
KING 5000 PRESIDENT PRESIDENT
BLAKE 2850 MANAGER PRESIDENT
MARTIN 1250 SALESMAN PRESIDENT
ALLEN 1600 SALESMAN PRESIDENT
TURNER 1500 SALESMAN PRESIDENT
JAMES 950 CLERK PRESIDENT
WARD 1250 SALESMAN PRESIDENT
CLARK 2450 MANAGER PRESIDENT
MILLER 1300 CLERK PRESIDENT
JONES 2975 MANAGER PRESIDENT
FORD 3000 ANALYST PRESIDENT

ENAME SAL JOB BOSSJOB


---------- ---------- --------- ---------
SMITH 800 CLERK PRESIDENT
SCOTT 3000 ANALYST PRESIDENT
ADAMS 1100 CLERK PRESIDENT

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job,


2 CONNECT_BY_ROOT(Sal) - Sal DiffBossEmpSal
3 FROM Emp
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME SAL JOB DIFFBOSSEMPSAL


---------- ---------- --------- --------------
KING 5000 PRESIDENT 0
BLAKE 2850 MANAGER 2150
MARTIN 1250 SALESMAN 3750
ALLEN 1600 SALESMAN 3400
TURNER 1500 SALESMAN 3500
JAMES 950 CLERK 4050
WARD 1250 SALESMAN 3750
CLARK 2450 MANAGER 2550
MILLER 1300 CLERK 3700
JONES 2975 MANAGER 2025
FORD 3000 ANALYST 2000

ENAME SAL JOB DIFFBOSSEMPSAL


---------- ---------- --------- --------------
SMITH 800 CLERK 4200
SCOTT 3000 ANALYST 2000
ADAMS 1100 CLERK 3900

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Sal EmpSal,


2 CONNECT_BY_ROOT(Sal) BossSal,
3 CONNECT_BY_ROOT(Sal) - Sal DiffBossEmpSal
4 FROM Emp
5 START WITH Ename = 'KING'
6* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME JOB EMPSAL BOSSSAL DIFFBOSSEMPSAL


---------- --------- ---------- ---------- --------------
KING PRESIDENT 5000 5000 0
BLAKE MANAGER 2850 5000 2150
MARTIN SALESMAN 1250 5000 3750
ALLEN SALESMAN 1600 5000 3400
TURNER SALESMAN 1500 5000 3500
JAMES CLERK 950 5000 4050
WARD SALESMAN 1250 5000 3750
CLARK MANAGER 2450 5000 2550
MILLER CLERK 1300 5000 3700
JONES MANAGER 2975 5000 2025
FORD ANALYST 3000 5000 2000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME JOB EMPSAL BOSSSAL DIFFBOSSEMPSAL


---------- --------- ---------- ---------- --------------
SMITH CLERK 800 5000 4200
SCOTT ANALYST 3000 5000 2000
ADAMS CLERK 1100 5000 3900

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job,


2 CONNECT_BY_ROOT(Ename) BossName
3 FROM Emp
4 START WITH Ename = 'KING'
5* CONNECT BY Empno = PRIOR MGR
SQL> /

ENAME JOB BOSSNAME


---------- --------- ----------
KING PRESIDENT KING

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job,


2 CONNECT_BY_ROOT(Ename) BossName
3 FROM Emp
4 START WITH Job = 'ANALYST'
5* CONNECT BY Empno = PRIOR MGR
SQL> /

ENAME JOB BOSSNAME


---------- --------- ----------
SCOTT ANALYST SCOTT
JONES MANAGER SCOTT
KING PRESIDENT SCOTT
FORD ANALYST FORD
JONES MANAGER FORD
KING PRESIDENT FORD

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job,


2 CONNECT_BY_ROOT(Ename) BossName
3 FROM Emp
4 START WITH Empno = 7839
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME JOB BOSSNAME


---------- --------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING PRESIDENT KING


BLAKE MANAGER KING
MARTIN SALESMAN KING
ALLEN SALESMAN KING
TURNER SALESMAN KING
JAMES CLERK KING
WARD SALESMAN KING
CLARK MANAGER KING
MILLER CLERK KING
JONES MANAGER KING
FORD ANALYST KING

ENAME JOB BOSSNAME


---------- --------- ----------
SMITH CLERK KING
SCOTT ANALYST KING
ADAMS CLERK KING

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job,


2 CONNECT_BY_ROOT(Ename) BossName
3 FROM Emp
4 START WITH MGR = 7839
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME JOB BOSSNAME


---------- --------- ----------
BLAKE MANAGER BLAKE
MARTIN SALESMAN BLAKE
ALLEN SALESMAN BLAKE
TURNER SALESMAN BLAKE
JAMES CLERK BLAKE
WARD SALESMAN BLAKE
CLARK MANAGER CLARK
MILLER CLERK CLARK
JONES MANAGER JONES
FORD ANALYST JONES
SMITH CLERK JONES

ENAME JOB BOSSNAME


---------- --------- ----------
SCOTT ANALYST JONES
ADAMS CLERK JONES

13 rows selected.

SQL> cl scr

SQL> SELECT ENAME Name, HireDate,


2 CONNECT_BY_ROOT Ename Boss,
3 CONNECT_BY_ROOT HireDate BossHire,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 ROUND(CONNECT_BY_ROOT HireDate - HireDate) Days


5 FROM EMP
6 START WITH Job = 'PRESIDENT'
7 CONNECT BY PRIOR EMPNO = MGR;

NAME HIREDATE BOSS BOSSHIRE DAYS


---------- --------- ---------- --------- ----------
KING 17-NOV-81 KING 17-NOV-81 0
BLAKE 01-MAY-81 KING 17-NOV-81 200
MARTIN 28-SEP-81 KING 17-NOV-81 50
ALLEN 20-FEB-81 KING 17-NOV-81 270
TURNER 08-SEP-81 KING 17-NOV-81 70
JAMES 03-DEC-81 KING 17-NOV-81 -16
WARD 22-FEB-81 KING 17-NOV-81 268
CLARK 09-JUN-81 KING 17-NOV-81 161
MILLER 23-JAN-82 KING 17-NOV-81 -67
JONES 02-APR-81 KING 17-NOV-81 229
FORD 03-DEC-81 KING 17-NOV-81 -16

NAME HIREDATE BOSS BOSSHIRE DAYS


---------- --------- ---------- --------- ----------
SMITH 17-DEC-80 KING 17-NOV-81 335
SCOTT 09-DEC-82 KING 17-NOV-81 -387
ADAMS 12-JAN-83 KING 17-NOV-81 -421

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT ENAME Name, HireDate,


2 CONNECT_BY_ROOT Ename Boss,
3 CONNECT_BY_ROOT HireDate BossHire,
4 ROUND(CONNECT_BY_ROOT HireDate - HireDate) Days
5 FROM EMP
6 WHERE
7 ROUND(CONNECT_BY_ROOT HireDate - HireDate) = &GVal
8 START WITH Job = 'PRESIDENT'
9* CONNECT BY PRIOR EMPNO = MGR
SQL> /
Enter value for gval: 1

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT ENAME Name, HireDate,


2 CONNECT_BY_ROOT Ename Boss,
3 CONNECT_BY_ROOT HireDate BossHire,
4 ROUND(CONNECT_BY_ROOT HireDate - HireDate) Days
5 FROM EMP
6 WHERE
7 SIGN(ROUND(CONNECT_BY_ROOT HireDate - HireDate)) = &GVal
8 START WITH Job = 'PRESIDENT'
9* CONNECT BY PRIOR EMPNO = MGR
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for gval: 1

NAME HIREDATE BOSS BOSSHIRE DAYS


---------- --------- ---------- --------- ----------
BLAKE 01-MAY-81 KING 17-NOV-81 200
MARTIN 28-SEP-81 KING 17-NOV-81 50
ALLEN 20-FEB-81 KING 17-NOV-81 270
TURNER 08-SEP-81 KING 17-NOV-81 70
WARD 22-FEB-81 KING 17-NOV-81 268
CLARK 09-JUN-81 KING 17-NOV-81 161
JONES 02-APR-81 KING 17-NOV-81 229
SMITH 17-DEC-80 KING 17-NOV-81 335

8 rows selected.

SQL> /
Enter value for gval: -1

NAME HIREDATE BOSS BOSSHIRE DAYS


---------- --------- ---------- --------- ----------
JAMES 03-DEC-81 KING 17-NOV-81 -16
MILLER 23-JAN-82 KING 17-NOV-81 -67
FORD 03-DEC-81 KING 17-NOV-81 -16
SCOTT 09-DEC-82 KING 17-NOV-81 -387
ADAMS 12-JAN-83 KING 17-NOV-81 -421

SQL> cl cr
SP2-0158: unknown CLEAR option "cr"
SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT ENAME Name, HireDate


2 FROM EMP
3 WHERE
4 START WITH Job = 'PRESIDENT'
5* CONNECT BY PRIOR EMPNO = MGR
SQL> /
START WITH Job = 'PRESIDENT'
*
ERROR at line 4:
ORA-00936: missing expression

SQL> ED
Wrote file afiedt.buf

1 SELECT ENAME Name, HireDate


2 FROM EMP
3 START WITH Job = 'PRESIDENT'
4* CONNECT BY PRIOR EMPNO = MGR
SQL> /

NAME HIREDATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------
KING 17-NOV-81
BLAKE 01-MAY-81
MARTIN 28-SEP-81
ALLEN 20-FEB-81
TURNER 08-SEP-81
JAMES 03-DEC-81
WARD 22-FEB-81
CLARK 09-JUN-81
MILLER 23-JAN-82
JONES 02-APR-81
FORD 03-DEC-81

NAME HIREDATE
---------- ---------
SMITH 17-DEC-80
SCOTT 09-DEC-82
ADAMS 12-JAN-83

14 rows selected.

SQL> cl scr

SQL> COLUMN Path FORMAT A35


SQL> SELECT Ename,
2 SYS_CONNECT_BY_PATH(Ename, '/') "Path"
3 FROM Emp
4 START WITH Ename = 'KING'
5 CONNECT BY PRIOR Empno = MGR;

ENAME Path
---------- -----------------------------------
KING /KING
BLAKE /KING/BLAKE
MARTIN /KING/BLAKE/MARTIN
ALLEN /KING/BLAKE/ALLEN
TURNER /KING/BLAKE/TURNER
JAMES /KING/BLAKE/JAMES
WARD /KING/BLAKE/WARD
CLARK /KING/CLARK
MILLER /KING/CLARK/MILLER
JONES /KING/JONES
FORD /KING/JONES/FORD

ENAME Path
---------- -----------------------------------
SMITH /KING/JONES/FORD/SMITH
SCOTT /KING/JONES/SCOTT
ADAMS /KING/JONES/SCOTT/ADAMS

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 SYS_CONNECT_BY_PATH(Ename, '=>') "Path"


3 FROM Emp
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME Path
---------- -----------------------------------
KING =>KING
BLAKE =>KING=>BLAKE
MARTIN =>KING=>BLAKE=>MARTIN
ALLEN =>KING=>BLAKE=>ALLEN
TURNER =>KING=>BLAKE=>TURNER
JAMES =>KING=>BLAKE=>JAMES
WARD =>KING=>BLAKE=>WARD
CLARK =>KING=>CLARK
MILLER =>KING=>CLARK=>MILLER
JONES =>KING=>JONES
FORD =>KING=>JONES=>FORD

ENAME Path
---------- -----------------------------------
SMITH =>KING=>JONES=>FORD=>SMITH
SCOTT =>KING=>JONES=>SCOTT
ADAMS =>KING=>JONES=>SCOTT=>ADAMS

14 rows selected.

SQL> cl scr

SQL> SELECT Empno, Ename, MGR


2 FROM Emp;

EMPNO ENAME MGR


---------- ---------- ----------
7839 KING
7698 BLAKE 7839
7782 CLARK 7839
7566 JONES 7839
7654 MARTIN 7698
7499 ALLEN 7698
7844 TURNER 7698
7900 JAMES 7698
7521 WARD 7698
7902 FORD 7566
7369 SMITH 7902

EMPNO ENAME MGR


---------- ---------- ----------
7788 SCOTT 7566
7876 ADAMS 7788
7934 MILLER 7782

14 rows selected.

SQL> UPDATE Emp


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 SET MGR = 7566


3 WHERE Empno = 7839;

1 row updated.

SQL> SELECT Empno, Ename, MGR


2 FROM Emp;

EMPNO ENAME MGR


---------- ---------- ----------
7839 KING 7566
7698 BLAKE 7839
7782 CLARK 7839
7566 JONES 7839
7654 MARTIN 7698
7499 ALLEN 7698
7844 TURNER 7698
7900 JAMES 7698
7521 WARD 7698
7902 FORD 7566
7369 SMITH 7902

EMPNO ENAME MGR


---------- ---------- ----------
7788 SCOTT 7566
7876 ADAMS 7788
7934 MILLER 7782

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, MGR


2 FROM Emp
3 START WITH Ename = 'KING'
4* CONNECT BY PRIOR Empno = MGR
SQL> /
ERROR:
ORA-01436: CONNECT BY loop in user data

no rows selected

SQL> SELECT Ename,


2 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
3 FROM Emp
4 START WITH Ename = 'KING'
5 CONNECT BY NOCYCLE PRIOR Empno = MGR;

ENAME
----------
SalPath
--------------------------------------------------------------------------------
KING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

/5000

BLAKE
/5000/2850

MARTIN
/5000/2850/1250

ENAME
----------
SalPath
--------------------------------------------------------------------------------
ALLEN
/5000/2850/1600

TURNER
/5000/2850/1500

JAMES
/5000/2850/950

ENAME
----------
SalPath
--------------------------------------------------------------------------------
WARD
/5000/2850/1250

CLARK
/5000/2450

MILLER
/5000/2450/1300

ENAME
----------
SalPath
--------------------------------------------------------------------------------
JONES
/5000/2975

FORD
/5000/2975/3000

SMITH
/5000/2975/3000/800

ENAME
----------
SalPath
--------------------------------------------------------------------------------
SCOTT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

/5000/2975/3000

ADAMS
/5000/2975/3000/1100

14 rows selected.

SQL> COLUMN "SalPath" FORMAT A25


SQL> /

ENAME SalPath
---------- -------------------------
KING /5000
BLAKE /5000/2850
MARTIN /5000/2850/1250
ALLEN /5000/2850/1600
TURNER /5000/2850/1500
JAMES /5000/2850/950
WARD /5000/2850/1250
CLARK /5000/2450
MILLER /5000/2450/1300
JONES /5000/2975
FORD /5000/2975/3000

ENAME SalPath
---------- -------------------------
SMITH /5000/2975/3000/800
SCOTT /5000/2975/3000
ADAMS /5000/2975/3000/1100

14 rows selected.

SQL> cl scr

SQL> ROLLBACK
2 /

Rollback complete.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
3 FROM Emp
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR;
SQL> /
CONNECT BY PRIOR Empno = MGR;
*
ERROR at line 5:
ORA-00911: invalid character

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
3 FROM Emp
4 START WITH Ename = 'KING'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME SalPath
---------- -------------------------
KING /5000
BLAKE /5000/2850
MARTIN /5000/2850/1250
ALLEN /5000/2850/1600
TURNER /5000/2850/1500
JAMES /5000/2850/950
WARD /5000/2850/1250
CLARK /5000/2450
MILLER /5000/2450/1300
JONES /5000/2975
FORD /5000/2975/3000

ENAME SalPath
---------- -------------------------
SMITH /5000/2975/3000/800
SCOTT /5000/2975/3000
ADAMS /5000/2975/3000/1100

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
3 FROM Emp
4 START WITH Ename = 'KING'
5 CONNECT BY PRIOR Empno = MGR
6* ORDER BY Sal
SQL> /

ENAME SalPath
---------- -------------------------
SMITH /5000/2975/3000/800
JAMES /5000/2850/950
ADAMS /5000/2975/3000/1100
MARTIN /5000/2850/1250
WARD /5000/2850/1250
MILLER /5000/2450/1300
TURNER /5000/2850/1500
ALLEN /5000/2850/1600
CLARK /5000/2450
BLAKE /5000/2850
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES /5000/2975

ENAME SalPath
---------- -------------------------
FORD /5000/2975/3000
SCOTT /5000/2975/3000
KING /5000

14 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job


2 FROM Emp
3 START WITH Ename = 'KING'
4* CONNECT BY PRIOR Empno = MGR
SQL> /

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
MARTIN 1250 SALESMAN
ALLEN 1600 SALESMAN
TURNER 1500 SALESMAN
JAMES 950 CLERK
WARD 1250 SALESMAN
CLARK 2450 MANAGER
MILLER 1300 CLERK
JONES 2975 MANAGER
FORD 3000 ANALYST

ENAME SAL JOB


---------- ---------- ---------
SMITH 800 CLERK
SCOTT 3000 ANALYST
ADAMS 1100 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* ORDER SIBLINGS BY Sal
SQL> /

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CLARK 2450 MANAGER


MILLER 1300 CLERK
BLAKE 2850 MANAGER
JAMES 950 CLERK
MARTIN 1250 SALESMAN
WARD 1250 SALESMAN
TURNER 1500 SALESMAN
ALLEN 1600 SALESMAN
JONES 2975 MANAGER
FORD 3000 ANALYST

ENAME SAL JOB


---------- ---------- ---------
SMITH 800 CLERK
SCOTT 3000 ANALYST
ADAMS 1100 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR
5* ORDER SIBLINGS BY Ename
SQL> /

ENAME SAL JOB


---------- ---------- ---------
KING 5000 PRESIDENT
BLAKE 2850 MANAGER
ALLEN 1600 SALESMAN
JAMES 950 CLERK
MARTIN 1250 SALESMAN
TURNER 1500 SALESMAN
WARD 1250 SALESMAN
CLARK 2450 MANAGER
MILLER 1300 CLERK
JONES 2975 MANAGER
FORD 3000 ANALYST

ENAME SAL JOB


---------- ---------- ---------
SMITH 800 CLERK
SCOTT 3000 ANALYST
ADAMS 1100 CLERK

14 rows selected.

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT SequenceName.CURRVAL


2
SQL> SELECT SequenceName.NEXTVAL
2
SQL> INSERT INTO TableName
2 VALUES(SequenceName.CURRVAL,
3
SQL> INSERT INTO TableName
2 VALUES(SequenceName.NEXTVAL,
3
SQL> UPDATE TableName
2 SET
3 ColumnName = SequenceName.CURRVAL
4
SQL> UPDATE TableName
2 SET
3 ColumnName = SequenceName.NEXTVAL
4
SQL> cl scr

SQL> SELECT
2 SequenceName1.CURRVAL, SequenceName1.NEXTVAL
3
SQL> cl scr

SQL> CREATE TABLE Sample01


2 (
3 SampID NUMBER(4)
4 Constraint SampID_PK01 PRIMARY KEY,
5 SampName VARCHAR2(25),
6 SampDate DATE
7 );

Table created.

SQL> CREATE SEQUENCE SampleSeq01


2 INCREMENT BY 1
3 START WITH 0
4 MINVALUE 0
5 MAXVALUE 5
6 NOCACHE
7 NOCYCLE
8 /

Sequence created.

SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;


SELECT SampleSeq01.CURRVAL FROM DUAL
*
ERROR at line 1:
ORA-08002: sequence SAMPLESEQ01.CURRVAL is not yet defined in this session

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT * FROM Sample01;

no rows selected

SQL> INSERT INTO Sample01


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;

CURRVAL
----------
0

SQL> SELECT * FROM Sample01;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
0 SAMPLE 31-AUG-05

SQL> INSERT INTO Sample01


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;

CURRVAL
----------
1

SQL> SELECT * FROM Sample01;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
0 SAMPLE 31-AUG-05
1 SAMPLE 31-AUG-05

SQL> INSERT INTO Sample01


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
1 INSERT INTO Sample01
2 (SampID, SampName, SampDate)
3 VALUES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4* (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample01
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample01
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample01
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq01.NEXTVAL, 'SAMPLE', '31-AUG-05')
INSERT INTO Sample01
*
ERROR at line 1:
ORA-08004: sequence SAMPLESEQ01.NEXTVAL exceeds MAXVALUE and cannot be
instantiated

SQL> SELECT SampleSeq01.CURRVAL FROM DUAL;

CURRVAL
----------
5

SQL> cl scr

SQL> CREATE TABLE Sample02


2 (
3 SampID NUMBER(4)
4 Constraint SampID_PK02 PRIMARY KEY,
5 SampName VARCHAR2(25),
6 SampDate DATE
7 );

Table created.

SQL> CREATE SEQUENCE SampleSeq02


2 INCREMENT BY 1
3 START WITH 0
4 MINVALUE 0
5 MAXVALUE 5
6 NOCACHE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 CYCLE
8 /

Sequence created.

SQL> INSERT INTO Sample02


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
1 INSERT INTO Sample02
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample02
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample02
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample02
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample02
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> SELECT SampleSeq02.CURRVAL FROM DUAL;

CURRVAL
----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT * FROM Sample02;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
0 SAMPLE 31-AUG-05
1 SAMPLE 31-AUG-05
2 SAMPLE 31-AUG-05
3 SAMPLE 31-AUG-05
4 SAMPLE 31-AUG-05
5 SAMPLE 31-AUG-05

6 rows selected.

SQL> INSERT INTO Sample02


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq02.NEXTVAL, 'SAMPLE', '31-AUG-05');
INSERT INTO Sample02
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.SAMPID_PK02) violated

SQL> SELECT SampleSeq02.CURRVAL FROM DUAL;

CURRVAL
----------
0

SQL> cl scr

SQL> CREATE TABLE Sample03


2 (
3 SampID NUMBER(4)
4 SampName VARCHAR2(25),
5 SampDate DATE
6 );
(
*
ERROR at line 2:
ORA-00922: missing or invalid option

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE Sample03


2 (
3 SampID NUMBER(4),
4 SampName VARCHAR2(25),
5 SampDate DATE
6* )
SQL> /

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Table created.

SQL> cl scr

SQL> CREATE SEQUENCE SampleSeq03


2 INCREMENT BY 1
3 START WITH 10
4 MINVALUE 0
5 MAXVALUE 20
6 NOCACHE
7 CYCLE
8 /

Sequence created.

SQL> INSERT INTO Sample03


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> SELECT SampleSeq03.CURRVAL FROM DUAL;

CURRVAL
----------
10

SQL> INSERT INTO Sample03


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample03
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> SELECT * FROM Sample03;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
10 SAMPLE 31-AUG-05
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

11 SAMPLE 31-AUG-05
12 SAMPLE 31-AUG-05
13 SAMPLE 31-AUG-05
14 SAMPLE 31-AUG-05
15 SAMPLE 31-AUG-05
16 SAMPLE 31-AUG-05
17 SAMPLE 31-AUG-05
18 SAMPLE 31-AUG-05
19 SAMPLE 31-AUG-05
20 SAMPLE 31-AUG-05

11 rows selected.

SQL> INSERT INTO Sample03


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq03.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> /

1 row created.

SQL> /

1 row created.

SQL> SELECT SampleSeq03.CURRVAL FROM DUAL;

CURRVAL
----------
2

SQL> SELECT * FROM Sample03;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
10 SAMPLE 31-AUG-05
11 SAMPLE 31-AUG-05
12 SAMPLE 31-AUG-05
13 SAMPLE 31-AUG-05
14 SAMPLE 31-AUG-05
15 SAMPLE 31-AUG-05
16 SAMPLE 31-AUG-05
17 SAMPLE 31-AUG-05
18 SAMPLE 31-AUG-05
19 SAMPLE 31-AUG-05
20 SAMPLE 31-AUG-05

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
0 SAMPLE 31-AUG-05
1 SAMPLE 31-AUG-05
2 SAMPLE 31-AUG-05

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.

SQL> cl scr

SQL> CREATE TABLE Sample04


2 (
3 SampID NUMBER(4)
4 SampName VARCHAR2(25),
5 SampDate DATE
6 );
(
*
ERROR at line 2:
ORA-00922: missing or invalid option

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE Sample04


2 (
3 SampID NUMBER(4),
4 SampName VARCHAR2(25),
5 SampDate DATE
6* )
SQL> /

Table created.

SQL> cl scr

SQL> CREATE SEQUENCE SampleSeq04


2 INCREMENT BY 10
3 START WITH 0
4 MINVALUE 0
5 MAXVALUE 100
6 NOCACHE
7 NOCYCLE
8 /

Sequence created.

SQL> INSERT INTO Sample04


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
1 INSERT INTO Sample04
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> R
1 INSERT INTO Sample04
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample04
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq04.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> SELECT * FROM Sample04;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
0 SAMPLE 31-AUG-05
10 SAMPLE 31-AUG-05
20 SAMPLE 31-AUG-05
30 SAMPLE 31-AUG-05

SQL> cl scr

SQL> CREATE TABLE Sample05


2 (
3 SampID NUMBER(4),
4 SampName VARCHAR2(25),
5 SampDate DATE
6 );

Table created.

SQL> CREATE SEQUENCE SampleSeq05


2 INCREMENT BY -1
3 START WITH 10
4 MINVALUE 0
5 MAXVALUE 10
6 NOCACHE
7 NOCYCLE
8 /

Sequence created.

SQL> INSERT INTO Sample05


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq05.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 INSERT INTO Sample05


2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq05.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample05
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq05.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> SELECT * FROM Sample05;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
10 SAMPLE 31-AUG-05
9 SAMPLE 31-AUG-05
8 SAMPLE 31-AUG-05

SQL> cl scr

SQL> CREATE TABLE Sample06


2 (
3 SampID NUMBER(4),
4 SampName VARCHAR2(25),
5 SampDate DATE
6 );

Table created.

SQL> CREATE SEQUENCE SampleSeq06


2 INCREMENT BY 1
3 START WITH 0
4 MINVALUE 0
5 MAXVALUE 20
6 NOCACHE
7 NOCYCLE
8 /

Sequence created.

SQL> INSERT INTO Sample06


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
1 INSERT INTO Sample06
2 (SampID, SampName, SampDate)
3 VALUES
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4* (SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample06
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> SELECT SampleSeq06.NEXTVAL FROM DUAL;

NEXTVAL
----------
3

SQL> R
1* SELECT SampleSeq06.NEXTVAL FROM DUAL

NEXTVAL
----------
4

SQL> R
1* SELECT SampleSeq06.NEXTVAL FROM DUAL

NEXTVAL
----------
5

SQL> INSERT INTO Sample06


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
1 INSERT INTO Sample06
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample06
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq06.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> SELECT * FROM Sample06;


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
0 SAMPLE 31-AUG-05
1 SAMPLE 31-AUG-05
2 SAMPLE 31-AUG-05
6 SAMPLE 31-AUG-05
7 SAMPLE 31-AUG-05
8 SAMPLE 31-AUG-05

6 rows selected.

SQL> CREATE TABLE Sample07_1


2 (
3 SampID NUMBER(4),
4 SampName VARCHAR2(25),
5 SampDate DATE
6 );

Table created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE Sample07_2


2 (
3 SampID NUMBER(4),
4 SampName VARCHAR2(25),
5 SampDate DATE
6* )
SQL> /

Table created.

SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE Sample07_3


2 (
3 SampID NUMBER(4),
4 SampName VARCHAR2(25),
5 SampDate DATE
6* )
SQL> /

Table created.

SQL> CREATE SEQUENCE SampleSeq07


2 INCREMENT BY 1
3 START WITH 0
4 MINVALUE 0
5 MAXVALUE 20
6 NOCACHE
7 NOCYCLE
8 /

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Sequence created.

SQL> INSERT INTO Sample07_1


2 (SampID, SampName, SampDate)
3 VALUES
4 (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05');

1 row created.

SQL> R
1 INSERT INTO Sample07_1
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample07_1
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Sample07_2


2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')
SQL> /

1 row created.

SQL> R
1 INSERT INTO Sample07_2
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample07_2
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> ED
Wrote file afiedt.buf

1 INSERT INTO Sample07_3


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 (SampID, SampName, SampDate)


3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')
SQL> /

1 row created.

SQL> R
1 INSERT INTO Sample07_3
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> R
1 INSERT INTO Sample07_3
2 (SampID, SampName, SampDate)
3 VALUES
4* (SampleSeq07.NEXTVAL, 'SAMPLE', '31-AUG-05')

1 row created.

SQL> SELECT * FROM Sample07_1;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
0 SAMPLE 31-AUG-05
1 SAMPLE 31-AUG-05
2 SAMPLE 31-AUG-05

SQL> SELECT * FROM Sample07_2;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
3 SAMPLE 31-AUG-05
4 SAMPLE 31-AUG-05
5 SAMPLE 31-AUG-05

SQL> SELECT * FROM Sample07_3;

SAMPID SAMPNAME SAMPDATE


---------- ------------------------- ---------
6 SAMPLE 31-AUG-05
7 SAMPLE 31-AUG-05
8 SAMPLE 31-AUG-05

SQL> SPOOL OFF


SQL> cl scr

SQL> DESC USER_OBJECTS


Name Null? Type
----------------------------------------- -------- ----------------------------
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)

SQL> COLUMN OBJECT_NAME FORMAT A25


SQL> COLUMN OBJECT_TYPE FORMAT A20
SQL> SELECT OBJECT_NAME, OBJECT_TYPE
2 FROM USER_OBJECTS
3 ORDER BY OBJECT_TYPE;

OBJECT_NAME OBJECT_TYPE
------------------------- --------------------
SAMPID_PK01 INDEX
SAMPID_PK02 INDEX
EMP_PRIMARY_KEY INDEX
DEPT_PRIMARY_KEY INDEX
ORD_PRIMARY_KEY INDEX
PRODUCT_PRIMARY_KEY INDEX
PRICE_INDEX INDEX
ITEM_PRIMARY_KEY INDEX
CUSTOMER_PRIMARY_KEY INDEX
ORDID SEQUENCE
PRODID SEQUENCE

OBJECT_NAME OBJECT_TYPE
------------------------- --------------------
SAMPLESEQ03 SEQUENCE
SAMPLESEQ05 SEQUENCE
SAMPLESEQ07 SEQUENCE
SAMPLESEQ06 SEQUENCE
SAMPLESEQ04 SEQUENCE
SAMPLESEQ02 SEQUENCE
SAMPLESEQ01 SEQUENCE
CUSTID SEQUENCE
SAMPLE TABLE
PRICE TABLE
PRODUCT TABLE

OBJECT_NAME OBJECT_TYPE
------------------------- --------------------
BONUS TABLE
EMP TABLE
DEPT TABLE
SAMPLE07_3 TABLE
SAMPLE07_2 TABLE
SAMPLE07_1 TABLE
SAMPLE06 TABLE
SAMPLE05 TABLE
SAMPLE04 TABLE
ITEM TABLE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORD TABLE

OBJECT_NAME OBJECT_TYPE
------------------------- --------------------
CUSTOMER TABLE
DUMMY TABLE
SALGRADE TABLE
SAMPLE03 TABLE
SAMPLE02 TABLE
STUDENTS TABLE
SAMPLETAB TABLE
SAMPLESP TABLE
SAMPLEINS TABLE
SAMPLE01 TABLE
SALES VIEW

44 rows selected.

SQL> cl scr

SQL> DESC USER_SEQUENCES


Name Null? Type
----------------------------------------- -------- ----------------------------
SEQUENCE_NAME NOT NULL VARCHAR2(30)
MIN_VALUE NUMBER
MAX_VALUE NUMBER
INCREMENT_BY NOT NULL NUMBER
CYCLE_FLAG VARCHAR2(1)
ORDER_FLAG VARCHAR2(1)
CACHE_SIZE NOT NULL NUMBER
LAST_NUMBER NOT NULL NUMBER

SQL> COLUMN SEQUENCE_NAME FORMAT A15


SQL> COLUMN MIN_VALUE FORMAT 99
SQL> COLUMN MAX_VALUE FORMAT 999
SQL> COLUMN INCREMENT_BY FORMAT 999
SQL> COLUMN LAST_NUMBER FORMAT 99
SQL> SELECT SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY, LAST_NUMBER
2 FROM USER_SEQUENCES
3 WHERE SEQUENCE_NAME = 'SAMPLESEQ0'||'&GVal';
Enter value for gval: 1

SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY LAST_NUMBER


--------------- --------- --------- ------------ -----------
SAMPLESEQ01 0 5 1 6

SQL> SELECT SAMPLESEQ01.CURRVAL FROM DUAL;


SELECT SAMPLESEQ01.CURRVAL FROM DUAL
*
ERROR at line 1:
ORA-08002: sequence SAMPLESEQ01.CURRVAL is not yet defined in this session

SQL> SELECT SAMPLESEQ01.NEXTVAL FROM DUAL;


SELECT SAMPLESEQ01.NEXTVAL FROM DUAL
*
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ERROR at line 1:
ORA-08004: sequence SAMPLESEQ01.NEXTVAL exceeds MAXVALUE and cannot be
instantiated

SQL> SELECT SAMPLESEQ01.CURRVAL FROM DUAL;


SELECT SAMPLESEQ01.CURRVAL FROM DUAL
*
ERROR at line 1:
ORA-08002: sequence SAMPLESEQ01.CURRVAL is not yet defined in this session

SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 START WITH Ename = 'KING'
4 CONNECT BY PRIOR Empno = MGR;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
CLARK 2450 10 MANAGER
MILLER 1300 10 CLERK
JONES 2975 20 MANAGER
FORD 3000 20 ANALYST

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SMITH 800 20 CLERK
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, Ename, Sal, Deptno, Job


2 FROM Emp
3 START WITH Ename = 'KING'
4* CONNECT BY PRIOR Empno = MGR
SQL> /

LEVEL ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------- ---------
1 KING 5000 10 PRESIDENT
2 BLAKE 2850 30 MANAGER
3 MARTIN 1250 30 SALESMAN
3 ALLEN 1600 30 SALESMAN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 TURNER 1500 30 SALESMAN


3 JAMES 950 30 CLERK
3 WARD 1250 30 SALESMAN
2 CLARK 2450 10 MANAGER
3 MILLER 1300 10 CLERK
2 JONES 2975 20 MANAGER
3 FORD 3000 20 ANALYST

LEVEL ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------- ---------
4 SMITH 800 20 CLERK
3 SCOTT 3000 20 ANALYST
4 ADAMS 1100 20 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, Ename, Sal, Deptno, Job


2* FROM Emp
3 /
FROM Emp
*
ERROR at line 2:
ORA-01788: CONNECT BY clause required in this query block

SQL> cl scr

SQL> COLUMN Org_Level FORMAT A15


SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1)) Org_Level,
3 Ename, Empno, Mgr, Job
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY PRIOR Empno = MGR;

ORG_LEVEL ENAME EMPNO MGR JOB


--------------- ---------- ---------- ---------- ---------
1 KING 7839 PRESIDENT
2 BLAKE 7698 7839 MANAGER
3 MARTIN 7654 7698 SALESMAN
3 ALLEN 7499 7698 SALESMAN
3 TURNER 7844 7698 SALESMAN
3 JAMES 7900 7698 CLERK
3 WARD 7521 7698 SALESMAN
2 CLARK 7782 7839 MANAGER
3 MILLER 7934 7782 CLERK
2 JONES 7566 7839 MANAGER
3 FORD 7902 7566 ANALYST

ORG_LEVEL ENAME EMPNO MGR JOB


--------------- ---------- ---------- ---------- ---------
4 SMITH 7369 7902 CLERK
3 SCOTT 7788 7566 ANALYST
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 ADAMS 7876 7788 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Level, Empno, Mgr, Job
3 FROM Emp
4 START WITH Job = 'PRESIDENT'
5* CONNECT BY PRIOR Empno = MGR
SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Level, Empno, Mgr, Job
3 FROM Emp
4 START WITH Job = 'PRESIDENT'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ORG_LEVEL EMPNO MGR JOB


--------------- ---------- ---------- ---------
1 KING 7839 PRESIDENT
2 BLAKE 7698 7839 MANAGER
3 MARTIN 7654 7698 SALESMAN
3 ALLEN 7499 7698 SALESMAN
3 TURNER 7844 7698 SALESMAN
3 JAMES 7900 7698 CLERK
3 WARD 7521 7698 SALESMAN
2 CLARK 7782 7839 MANAGER
3 MILLER 7934 7782 CLERK
2 JONES 7566 7839 MANAGER
3 FORD 7902 7566 ANALYST

ORG_LEVEL EMPNO MGR JOB


--------------- ---------- ---------- ---------
4 SMITH 7369 7902 CLERK
3 SCOTT 7788 7566 ANALYST
4 ADAMS 7876 7788 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||Ename Org_Level, Empno, Mgr, Job
3 FROM Emp
4 START WITH Job = 'PRESIDENT'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

ORG_LEVEL EMPNO MGR JOB


--------------- ---------- ---------- ---------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 7839 PRESIDENT


BLAKE 7698 7839 MANAGER
MARTIN 7654 7698 SALESMAN
ALLEN 7499 7698 SALESMAN
TURNER 7844 7698 SALESMAN
JAMES 7900 7698 CLERK
WARD 7521 7698 SALESMAN
CLARK 7782 7839 MANAGER
MILLER 7934 7782 CLERK
JONES 7566 7839 MANAGER
FORD 7902 7566 ANALYST

ORG_LEVEL EMPNO MGR JOB


--------------- ---------- ---------- ---------
SMITH 7369 7902 CLERK
SCOTT 7788 7566 ANALYST
ADAMS 7876 7788 CLERK

14 rows selected.

SQL> cl scr

SQL> SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job , Sal
4 FROM Emp
5 WHERE Job != 'ANALYST'
6 START WITH Job = 'PRESIDENT'
7 CONNECT BY PRIOR Empno = MGR;

ORG_CHART
--------------------------------------------------------------------------------
EMPNO MGR JOB SAL
---------- ---------- --------- ----------
KING
7839 PRESIDENT 5000

BLAKE
7698 7839 MANAGER 2850

MARTIN
7654 7698 SALESMAN 1250

ORG_CHART
--------------------------------------------------------------------------------
EMPNO MGR JOB SAL
---------- ---------- --------- ----------
ALLEN
7499 7698 SALESMAN 1600

TURNER
7844 7698 SALESMAN 1500

JAMES
7900 7698 CLERK 950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORG_CHART
--------------------------------------------------------------------------------
EMPNO MGR JOB SAL
---------- ---------- --------- ----------
WARD
7521 7698 SALESMAN 1250

CLARK
7782 7839 MANAGER 2450

MILLER
7934 7782 CLERK 1300

ORG_CHART
--------------------------------------------------------------------------------
EMPNO MGR JOB SAL
---------- ---------- --------- ----------
JONES
7566 7839 MANAGER 2975

SMITH
7369 7902 CLERK 800

ADAMS
7876 7788 CLERK 1100

12 rows selected.

SQL> COLUMN Org_Chart FORMAT A20


SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
MARTIN 7654 7698 SALESMAN 1250
ALLEN 7499 7698 SALESMAN 1600
TURNER 7844 7698 SALESMAN 1500
JAMES 7900 7698 CLERK 950
WARD 7521 7698 SALESMAN 1250
CLARK 7782 7839 MANAGER 2450
MILLER 7934 7782 CLERK 1300
JONES 7566 7839 MANAGER 2975
SMITH 7369 7902 CLERK 800

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
ADAMS 7876 7788 CLERK 1100

12 rows selected.

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job , Sal
4 FROM Emp
5 WHERE Job != 'ANALYST'
6 START WITH Job = 'PRESIDENT'
7* CONNECT BY PRIOR Empno = MGR
SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
1 KING 7839 PRESIDENT 5000
2 BLAKE 7698 7839 MANAGER 2850
3 MARTIN 7654 7698 SALESMAN 1250
3 ALLEN 7499 7698 SALESMAN 1600
3 TURNER 7844 7698 SALESMAN 1500
3 JAMES 7900 7698 CLERK 950
3 WARD 7521 7698 SALESMAN 1250
2 CLARK 7782 7839 MANAGER 2450
3 MILLER 7934 7782 CLERK 1300
2 JONES 7566 7839 MANAGER 2975
4 SMITH 7369 7902 CLERK 800

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
4 ADAMS 7876 7788 CLERK 1100

12 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job , Sal
4 FROM Emp
5 START WITH Ename = 'BLAKE'
6* CONNECT BY PRIOR Empno = MGR
SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
1 BLAKE 7698 7839 MANAGER 2850
2 MARTIN 7654 7698 SALESMAN 1250
2 ALLEN 7499 7698 SALESMAN 1600
2 TURNER 7844 7698 SALESMAN 1500
2 JAMES 7900 7698 CLERK 950
2 WARD 7521 7698 SALESMAN 1250

6 rows selected.

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job , Sal
4 FROM Emp
5 START WITH Ename = 'JONES'
6* CONNECT BY PRIOR Empno = MGR
SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
1 JONES 7566 7839 MANAGER 2975
2 FORD 7902 7566 ANALYST 3000
3 SMITH 7369 7902 CLERK 800
2 SCOTT 7788 7566 ANALYST 3000
3 ADAMS 7876 7788 CLERK 1100

SQL> cl scr

SQL> SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY PRIOR Empno = MGR
7 AND LEVEL <= 2;

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE LEVEL <= 2
6 START WITH Job = 'PRESIDENT'
7* CONNECT BY PRIOR Empno = MGR
8 /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE LEVEL = 2
6 START WITH Job = 'PRESIDENT'
7* CONNECT BY PRIOR Empno = MGR
SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY PRIOR Empno = MGR
7* LEVEL = 2
SQL> /
LEVEL = 2
*
ERROR at line 7:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY PRIOR Empno = MGR AND
7* LEVEL = 2
SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf

1 SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 LPAD(' ', ((2 * LEVEL) - 1))||' '||Ename Org_Chart,


3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY PRIOR Empno = MGR AND
7* LEVEL = 2
SQL> SPOOL OFF
SQL> cl scr

SQL> COLUMN Org_Chart FORMAT A20


SQL> cl scr

SQL> SELECT
2 LPAD(' ', ((2 * LEVEL) - 1))||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY NOCYCLE PRIOR Empno = MGR
7 AND LEVEL = 2;

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
KING 7839 PRESIDENT 5000
BLAKE 7698 7839 MANAGER 2850
CLARK 7782 7839 MANAGER 2450
JONES 7566 7839 MANAGER 2975

SQL> cl scr

SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY NOCYCLE PRIOR Empno = MGR
7 AND LEVEL IN(2, 4);

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
1 KING 7839 PRESIDENT 5000
2 BLAKE 7698 7839 MANAGER 2850
2 CLARK 7782 7839 MANAGER 2450
2 JONES 7566 7839 MANAGER 2975

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY NOCYCLE PRIOR Empno = MGR
7* AND LEVEL IN(2, 3, 4)
SQL> /

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
1 KING 7839 PRESIDENT 5000
2 BLAKE 7698 7839 MANAGER 2850
3 MARTIN 7654 7698 SALESMAN 1250
3 ALLEN 7499 7698 SALESMAN 1600
3 TURNER 7844 7698 SALESMAN 1500
3 JAMES 7900 7698 CLERK 950
3 WARD 7521 7698 SALESMAN 1250
2 CLARK 7782 7839 MANAGER 2450
3 MILLER 7934 7782 CLERK 1300
2 JONES 7566 7839 MANAGER 2975
3 FORD 7902 7566 ANALYST 3000

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
4 SMITH 7369 7902 CLERK 800
3 SCOTT 7788 7566 ANALYST 3000
4 ADAMS 7876 7788 CLERK 1100

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE LEVEL IN(2, 4)
6 START WITH Job = 'PRESIDENT'
7* CONNECT BY NOCYCLE PRIOR Empno = MGR
8 /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
2 BLAKE 7698 7839 MANAGER 2850
2 CLARK 7782 7839 MANAGER 2450
2 JONES 7566 7839 MANAGER 2975
4 SMITH 7369 7902 CLERK 800
4 ADAMS 7876 7788 CLERK 1100

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE LEVEL NOT IN(2, 4)
6 START WITH Job = 'PRESIDENT'
7* CONNECT BY NOCYCLE PRIOR Empno = MGR
SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 KING 7839 PRESIDENT 5000


3 MARTIN 7654 7698 SALESMAN 1250
3 ALLEN 7499 7698 SALESMAN 1600
3 TURNER 7844 7698 SALESMAN 1500
3 JAMES 7900 7698 CLERK 950
3 WARD 7521 7698 SALESMAN 1250
3 MILLER 7934 7782 CLERK 1300
3 FORD 7902 7566 ANALYST 3000
3 SCOTT 7788 7566 ANALYST 3000

9 rows selected.

SQL> cl scr

SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE MOD(LEVEL, 2) = 0
6 START WITH Job = 'PRESIDENT'
7 CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
2 BLAKE 7698 7839 MANAGER 2850
2 CLARK 7782 7839 MANAGER 2450
2 JONES 7566 7839 MANAGER 2975
4 SMITH 7369 7902 CLERK 800
4 ADAMS 7876 7788 CLERK 1100

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE MOD(LEVEL, 2) = 1
6 START WITH Job = 'PRESIDENT'
7* CONNECT BY NOCYCLE PRIOR Empno = MGR
SQL> /

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
1 KING 7839 PRESIDENT 5000
3 MARTIN 7654 7698 SALESMAN 1250
3 ALLEN 7499 7698 SALESMAN 1600
3 TURNER 7844 7698 SALESMAN 1500
3 JAMES 7900 7698 CLERK 950
3 WARD 7521 7698 SALESMAN 1250
3 MILLER 7934 7782 CLERK 1300
3 FORD 7902 7566 ANALYST 3000
3 SCOTT 7788 7566 ANALYST 3000

9 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE LEVEL BETWEEN 2 AND 4
6 START WITH Job = 'PRESIDENT'
7 CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
2 BLAKE 7698 7839 MANAGER 2850
3 MARTIN 7654 7698 SALESMAN 1250
3 ALLEN 7499 7698 SALESMAN 1600
3 TURNER 7844 7698 SALESMAN 1500
3 JAMES 7900 7698 CLERK 950
3 WARD 7521 7698 SALESMAN 1250
2 CLARK 7782 7839 MANAGER 2450
3 MILLER 7934 7782 CLERK 1300
2 JONES 7566 7839 MANAGER 2975
3 FORD 7902 7566 ANALYST 3000
4 SMITH 7369 7902 CLERK 800

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
3 SCOTT 7788 7566 ANALYST 3000
4 ADAMS 7876 7788 CLERK 1100

13 rows selected.

SQL> cl scr

SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, MGR, Job, Sal
4 FROM Emp
5 WHERE Sal = (SELECT MAX(Sal)
6 FROM Emp
7 WHERE LEVEL = 2
8 START WITH Job = 'PRESIDENT'
9 CONNECT BY PRIOR Empno = MGR)
10 START WITH Job = 'PRESIDENT'
11 CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART EMPNO MGR JOB SAL


-------------------- ---------- ---------- --------- ----------
2 JONES 7566 7839 MANAGER 2975

SQL> cl scr

SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, Dept.Deptno, Dname, Sal
4 FROM Emp, Dept
5 WHERE Sal > (SELECT MAX(Sal)
6 FROM Emp
7 WHERE LEVEL = 2
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

8 START WITH Job = 'PRESIDENT'


9 CONNECT BY PRIOR Empno = MGR) AND Dept.Deptno =
Emp.Deptno
10 START WITH Job = 'PRESIDENT'
11 CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART EMPNO DEPTNO DNAME SAL


-------------------- ---------- ---------- -------------- ----------
1 KING 7839 10 ACCOUNTING 5000
3 SCOTT 7788 20 RESEARCH 3000
3 FORD 7902 20 RESEARCH 3000

SQL> SELECT
2 LPAD(LEVEL, ((2 * LEVEL) - 1))||' '||Ename Org_Chart,
3 Empno, Dept.Deptno, Dname, Sal, Grade
4 FROM Emp, Dept, SalGrade
5 WHERE Sal > (SELECT MAX(Sal)
6 FROM Emp
7 WHERE LEVEL = 2
8 START WITH Job = 'PRESIDENT'
9 CONNECT BY PRIOR Empno = MGR) AND Dept.Deptno =
Emp.Deptno AND
10 Sal BETWEEN Losal AND HiSal
11 START WITH Job = 'PRESIDENT'
12 CONNECT BY NOCYCLE PRIOR Empno = MGR;

ORG_CHART EMPNO DEPTNO DNAME SAL GRADE


-------------------- ---------- ---------- -------------- ---------- ----------
1 KING 7839 10 ACCOUNTING 5000 5
3 FORD 7902 20 RESEARCH 3000 4
3 SCOTT 7788 20 RESEARCH 3000 4

SQL> cl scr

SQL> SELECT LEVEL, MAX(Sal)


2 FROM EMP
3 CONNECT BY PRIOR Sal > Sal
4 GROUP BY LEVEL;

LEVEL MAX(SAL)
---------- ----------
1 5000
2 3000
3 2975
4 2850
5 2450
6 1600
7 1500
8 1300
9 1250
10 1100
11 950

LEVEL MAX(SAL)
---------- ----------
12 800
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

12 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MIN(Sal)


2 FROM EMP
3 CONNECT BY PRIOR Sal < Sal
4* GROUP BY LEVEL
SQL> /

LEVEL MIN(SAL)
---------- ----------
1 800
2 950
3 1100
4 1250
5 1300
6 1500
7 1600
8 2450
9 2850
10 2975
11 3000

LEVEL MIN(SAL)
---------- ----------
12 5000

12 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT MIN(Sal)
2 FROM EMP
3* GROUP BY Sal
SQL> /

MIN(SAL)
----------
800
950
1100
1250
1300
1500
1600
2450
2850
2975
3000

MIN(SAL)
----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5000

12 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MAX(Ename)


2 FROM EMP
3 CONNECT BY PRIOR Ename > Ename
4* GROUP BY LEVEL;
SQL> /
GROUP BY LEVEL;
*
ERROR at line 4:
ORA-00911: invalid character

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MAX(Ename)


2 FROM EMP
3 CONNECT BY PRIOR Ename > Ename
4* GROUP BY LEVEL
SQL> /

LEVEL MAX(ENAME)
---------- ----------
1 WARD
2 TURNER
3 SMITH
4 SCOTT
5 MILLER
6 MARTIN
7 KING
8 JONES
9 JAMES
10 FORD
11 CLARK

LEVEL MAX(ENAME)
---------- ----------
12 BLAKE
13 ALLEN
14 ADAMS

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MIN(Ename)


2 FROM EMP
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 CONNECT BY PRIOR Ename < Ename


4* GROUP BY LEVEL
SQL> /

LEVEL MIN(ENAME)
---------- ----------
1 ADAMS
2 ALLEN
3 BLAKE
4 CLARK
5 FORD
6 JAMES
7 JONES
8 KING
9 MARTIN
10 MILLER
11 SCOTT

LEVEL MIN(ENAME)
---------- ----------
12 SMITH
13 TURNER
14 WARD

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MIN(HireDate)


2 FROM EMP
3 CONNECT BY PRIOR HireDate < HireDate
4* GROUP BY LEVEL
SQL> /

LEVEL MIN(HIRED
---------- ---------
1 17-DEC-80
2 20-FEB-81
3 22-FEB-81
4 02-APR-81
5 01-MAY-81
6 09-JUN-81
7 08-SEP-81
8 28-SEP-81
9 17-NOV-81
10 03-DEC-81
11 23-JAN-82

LEVEL MIN(HIRED
---------- ---------
12 09-DEC-82
13 12-JAN-83

13 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MAX(HireDate)


2 FROM EMP
3 CONNECT BY PRIOR HireDate < HireDate
4* GROUP BY LEVEL
SQL> /

LEVEL MAX(HIRED
---------- ---------
1 12-JAN-83
2 12-JAN-83
3 12-JAN-83
4 12-JAN-83
5 12-JAN-83
6 12-JAN-83
7 12-JAN-83
8 12-JAN-83
9 12-JAN-83
10 12-JAN-83
11 12-JAN-83

LEVEL MAX(HIRED
---------- ---------
12 12-JAN-83
13 12-JAN-83

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MAX(HireDate)


2 FROM EMP
3 CONNECT BY PRIOR HireDate > HireDate
4* GROUP BY LEVEL
SQL> /

LEVEL MAX(HIRED
---------- ---------
1 12-JAN-83
2 09-DEC-82
3 23-JAN-82
4 03-DEC-81
5 17-NOV-81
6 28-SEP-81
7 08-SEP-81
8 09-JUN-81
9 01-MAY-81
10 02-APR-81
11 22-FEB-81

LEVEL MAX(HIRED
---------- ---------
12 20-FEB-81
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

13 17-DEC-80

13 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT LEVEL, MAX(Ename), MAX(HireDate)


2 FROM EMP
3 CONNECT BY PRIOR HireDate > HireDate
4* GROUP BY LEVEL
SQL> /

LEVEL MAX(ENAME) MAX(HIRED


---------- ---------- ---------
1 WARD 12-JAN-83
2 WARD 09-DEC-82
3 WARD 23-JAN-82
4 WARD 03-DEC-81
5 WARD 17-NOV-81
6 WARD 28-SEP-81
7 WARD 08-SEP-81
8 WARD 09-JUN-81
9 WARD 01-MAY-81
10 WARD 02-APR-81
11 WARD 22-FEB-81

LEVEL MAX(ENAME) MAX(HIRED


---------- ---------- ---------
12 SMITH 20-FEB-81
13 SMITH 17-DEC-80

13 rows selected.

SQL> cl scr

SQL> SELECT LEVEL, MAX(Sal)


2 FROM EMP
3 CONNECT BY PRIOR Sal > Sal
4 GROUP BY LEVEL;

LEVEL MAX(SAL)
---------- ----------
1 5000
2 3000
3 2975
4 2850
5 2450
6 1600
7 1500
8 1300
9 1250
10 1100
11 950
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

LEVEL MAX(SAL)
---------- ----------
12 800

12 rows selected.

SQL> cl scr

SQL> SELECT LEVEL, MAX(Sal)


2 FROM EMP
3 WHERE LEVEL = &LEVELNO
4 CONNECT BY PRIOR Sal > Sal
5 GROUP BY LEVEL;
Enter value for levelno: 1

LEVEL MAX(SAL)
---------- ----------
1 5000

SQL> /
Enter value for levelno: 2

LEVEL MAX(SAL)
---------- ----------
2 3000

SQL> /
Enter value for levelno: 3

LEVEL MAX(SAL)
---------- ----------
3 2975

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Sal = (SELECT MAX(Sal)
4 FROM EMP
5 WHERE LEVEL = &LEVELNO
6 CONNECT BY PRIOR Sal > Sal
7 GROUP BY LEVEL);
Enter value for levelno: 1

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT

SQL> /
Enter value for levelno: 2

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST

SQL> /
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for levelno: 3

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
JONES 2975 20 MANAGER

SQL> cl scr

SQL> SELECT LEVEL, MIN(Sal)


2 FROM EMP
3 WHERE LEVEL = &LEVELNO
4 CONNECT BY PRIOR Sal < Sal
5 GROUP BY LEVEL;
Enter value for levelno: 1

LEVEL MIN(SAL)
---------- ----------
1 800

SQL> /
Enter value for levelno: 2

LEVEL MIN(SAL)
---------- ----------
2 950

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Sal = (SELECT MIN(Sal)
4 FROM EMP
5 WHERE LEVEL = &LEVELNO
6 CONNECT BY PRIOR Sal < Sal
7 GROUP BY LEVEL);
Enter value for levelno: 1

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SMITH 800 20 CLERK

SQL> /
Enter value for levelno: 2

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
JAMES 950 30 CLERK

SQL> /
Enter value for levelno: 3

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
ADAMS 1100 20 CLERK

SQL> cl scr

SQL> SELECT LEVEL, MIN(HireDate) Senior


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM EMP
3 WHERE LEVEL = &LEVELNO
4 CONNECT BY PRIOR HireDate < HireDate
5 GROUP BY LEVEL;
Enter value for levelno: 1

LEVEL SENIOR
---------- ---------
1 17-DEC-80

SQL> /
Enter value for levelno: 5

LEVEL SENIOR
---------- ---------
5 01-MAY-81

SQL> SELECT Ename, Sal, HireDate


2 FROm Emp
3 WHERE HireDate = (SELECT MIN(HireDate)
4 FROM EMP
5 WHERE LEVEL = &LEVELNO
6 CONNECT BY
7 PRIOR HireDate < HireDate
8 GROUP BY LEVEL);
Enter value for levelno: 1

ENAME SAL HIREDATE


---------- ---------- ---------
SMITH 800 17-DEC-80

SQL> /
Enter value for levelno: 6

ENAME SAL HIREDATE


---------- ---------- ---------
CLARK 2450 09-JUN-81

SQL> /
Enter value for levelno: 2

ENAME SAL HIREDATE


---------- ---------- ---------
ALLEN 1600 20-FEB-81

SQL> cl scr

SQL> COLUMN "Path" FORMAT A30


SQL> SELECT
2 Ename Employee,
3 CONNECT_BY_ROOT Ename "Manager",
4 LEVEL - 1 "Pathlen",
5 SYS_CONNECT_BY_PATH(Ename, '/') "Path"
6 FROM Emp
7 WHERE LEVEL > 1 AND Deptno = &Deptno
8 CONNECT BY PRIOR Empno = MGR;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Enter value for deptno: 20

EMPLOYEE Manager Pathlen Path


---------- ---------- ---------- ------------------------------
SMITH FORD 1 /FORD/SMITH
ADAMS SCOTT 1 /SCOTT/ADAMS
FORD JONES 1 /JONES/FORD
SMITH JONES 2 /JONES/FORD/SMITH
SCOTT JONES 1 /JONES/SCOTT
ADAMS JONES 2 /JONES/SCOTT/ADAMS
JONES KING 1 /KING/JONES
FORD KING 2 /KING/JONES/FORD
SMITH KING 3 /KING/JONES/FORD/SMITH
SCOTT KING 2 /KING/JONES/SCOTT
ADAMS KING 3 /KING/JONES/SCOTT/ADAMS

11 rows selected.

SQL> cl scr

SQL> SELECT
2 Name,
3 SUM(Sal) "Total Salary"
4 FROM (
5 SELECT
6 CONNECT_BY_ROOT Ename AS Name,
7 Sal
8 FROM Emp
9 WHERE Deptno = &GiveDeptno
10 CONNECT BY PRIOR Empno = MGR
11 )
12 GROUP BY Name;
Enter value for givedeptno: 20

NAME Total Salary


---------- ------------
ADAMS 1100
FORD 3800
JONES 10875
KING 10875
SCOTT 4100
SMITH 800

6 rows selected.

SQL> SELECT SUM(Sal) FROm Emp;

SUM(SAL)
----------
29025

SQL> cl ascr
SP2-0158: unknown CLEAR option "ascr"
SQL> cl scr

SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 Ename Employee,
3 CONNECT_BY_ROOT Empno "Root",
4 LEVEL,
5 SYS_CONNECT_BY_PATH(Ename, '/') NamePath
6 FROM Emp
7 WHERE Level <= 4 AND Deptno = &GiveDeptno
8 START WITH Ename = 'KING'
9 CONNECT BY NOCYCLE PRIOR Empno = MGR AND
10 LEVEL <= 4;
Enter value for givedeptno: 30

EMPLOYEE Root LEVEL


---------- ---------- ----------
NAMEPATH
--------------------------------------------------------------------------------
BLAKE 7839 2
/KING/BLAKE

MARTIN 7839 3
/KING/BLAKE/MARTIN

ALLEN 7839 3
/KING/BLAKE/ALLEN

EMPLOYEE Root LEVEL


---------- ---------- ----------
NAMEPATH
--------------------------------------------------------------------------------
TURNER 7839 3
/KING/BLAKE/TURNER

JAMES 7839 3
/KING/BLAKE/JAMES

WARD 7839 3
/KING/BLAKE/WARD

6 rows selected.

SQL> COLUMN NAMEPATH FORMAT A30


SQL> /
Enter value for givedeptno: 30

EMPLOYEE Root LEVEL NAMEPATH


---------- ---------- ---------- ------------------------------
BLAKE 7839 2 /KING/BLAKE
MARTIN 7839 3 /KING/BLAKE/MARTIN
ALLEN 7839 3 /KING/BLAKE/ALLEN
TURNER 7839 3 /KING/BLAKE/TURNER
JAMES 7839 3 /KING/BLAKE/JAMES
WARD 7839 3 /KING/BLAKE/WARD

6 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT ROWNUM, Ename, Sal, Deptno


2 FROM Emp;

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
1 KING 5000 10
2 BLAKE 2850 30
3 CLARK 2450 10
4 JONES 2975 20
5 MARTIN 1250 30
6 ALLEN 1600 30
7 TURNER 1500 30
8 JAMES 950 30
9 WARD 1250 30
10 FORD 3000 20
11 SMITH 800 20

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
12 SCOTT 3000 20
13 ADAMS 1100 20
14 MILLER 1300 10

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, Ename, Sal, Deptno


2 FROM Emp
3* WHERE Deptno = 30
SQL> /

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
1 BLAKE 2850 30
2 MARTIN 1250 30
3 ALLEN 1600 30
4 TURNER 1500 30
5 JAMES 950 30
6 WARD 1250 30

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, Ename, Sal, Deptno


2 FROM Emp
3* WHERE Deptno = 10
SQL> /

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 KING 5000 10
2 CLARK 2450 10
3 MILLER 1300 10

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, Ename, Sal, Deptno


2 FROM Emp
3* ORDER BY Sal
SQL> /

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
11 SMITH 800 20
8 JAMES 950 30
13 ADAMS 1100 20
5 MARTIN 1250 30
9 WARD 1250 30
14 MILLER 1300 10
7 TURNER 1500 30
6 ALLEN 1600 30
3 CLARK 2450 10
2 BLAKE 2850 30
4 JONES 2975 20

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
10 FORD 3000 20
12 SCOTT 3000 20
1 KING 5000 10

14 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT ROWNUM, Ename, Sal


2 FROM Emp;

ROWNUM ENAME SAL


---------- ---------- ----------
1 KING 5000
2 BLAKE 2850
3 CLARK 2450
4 JONES 2975
5 MARTIN 1250
6 ALLEN 1600
7 TURNER 1500
8 JAMES 950
9 WARD 1250
10 FORD 3000
11 SMITH 800

ROWNUM ENAME SAL


---------- ---------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

12 SCOTT 3000
13 ADAMS 1100
14 MILLER 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, Ename, Sal


2 FROM Emp
3* WHERE ROWNUM = 1
SQL> /

ROWNUM ENAME SAL


---------- ---------- ----------
1 KING 5000

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, Ename, Sal


2 FROM Emp
3* WHERE ROWNUM = 2
SQL> /

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, Ename, Sal


2 FROM Emp
3* WHERE ROWNUM <= 5
SQL> /

ROWNUM ENAME SAL


---------- ---------- ----------
1 KING 5000
2 BLAKE 2850
3 CLARK 2450
4 JONES 2975
5 MARTIN 1250

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, Ename, Sal


2 FROM Emp
3* WHERE ROWNUM >= 5
SQL> /

no rows selected

SQL> cl scr

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> COLUMN SelectGraph FORMAT A16


SQL> SELECT
2 Ename,
3 LPAD('*' , ROWNUM, '*') SelectGraph
4 FROM Emp;

ENAME SELECTGRAPH
---------- ----------------
KING *
BLAKE **
CLARK ***
JONES ****
MARTIN *****
ALLEN ******
TURNER *******
JAMES ********
WARD *********
FORD **********
SMITH ***********

ENAME SELECTGRAPH
---------- ----------------
SCOTT ************
ADAMS *************
MILLER **************

14 rows selected.

SQL> SELECT ROWNUM, Ename


2 FROM Emp;

ROWNUM ENAME
---------- ----------
1 KING
2 BLAKE
3 CLARK
4 JONES
5 MARTIN
6 ALLEN
7 TURNER
8 JAMES
9 WARD
10 FORD
11 SMITH

ROWNUM ENAME
---------- ----------
12 SCOTT
13 ADAMS
14 MILLER

14 rows selected.

SQL> SELECT ROWNUM, Ename, Sal


2 FROM Emp
3 ORDER BY Sal;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ROWNUM ENAME SAL


---------- ---------- ----------
11 SMITH 800
8 JAMES 950
13 ADAMS 1100
5 MARTIN 1250
9 WARD 1250
14 MILLER 1300
7 TURNER 1500
6 ALLEN 1600
3 CLARK 2450
2 BLAKE 2850
4 JONES 2975

ROWNUM ENAME SAL


---------- ---------- ----------
10 FORD 3000
12 SCOTT 3000
1 KING 5000

14 rows selected.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Ename, Sal,
3 LPAD('*' , ROWNUM, '*') SelectGraph
4 FROM Emp
5* ORDER BY Sal
SQL> /

ENAME SAL SELECTGRAPH


---------- ---------- ----------------
SMITH 800 ***********
JAMES 950 ********
ADAMS 1100 *************
MARTIN 1250 *****
WARD 1250 *********
MILLER 1300 **************
TURNER 1500 *******
ALLEN 1600 ******
CLARK 2450 ***
BLAKE 2850 **
JONES 2975 ****

ENAME SAL SELECTGRAPH


---------- ---------- ----------------
FORD 3000 **********
SCOTT 3000 ************
KING 5000 *

14 rows selected.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> COLUMN SelectGraph FORMAT A16


SQL> COLUMN RecGraph FORMAT A20
SQL> COLUMN SalGraph FORMAT A20
SQL> SELECT
2 Ename,
3 LPAD('*' , ROWNUM, '*' ) SelectGraph,
4 LPAD('*', Sal/500, '*') SalGraph,
5 LPAD('*', (SYSDATE-HireDate)/500, '*') RecGraph
6 FROM Emp;

ENAME SELECTGRAPH SALGRAPH RECGRAPH


---------- ---------------- -------------------- --------------------
KING * ********** ********************
*

BLAKE ** ***** ********************


*

CLARK *** **** ********************


*

JONES **** ***** ********************


*

ENAME SELECTGRAPH SALGRAPH RECGRAPH


---------- ---------------- -------------------- --------------------

MARTIN ***** ** ********************


*

ALLEN ****** *** ********************


*

TURNER ******* *** ********************


*

JAMES ******** * ********************

ENAME SELECTGRAPH SALGRAPH RECGRAPH


---------- ---------------- -------------------- --------------------
WARD ********* ** ********************
*

FORD ********** ****** ********************


SMITH *********** * ********************
*

SCOTT ************ ****** ********************


ADAMS ************* ** ********************
MILLER ************** ** ********************

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> COLUMN SelectGraph FORMAT A15


SQL> COLUMN SALGRAPH FORMAT A18
SQL> COLUMN RecGraph FORMAT A35
SQL> /

ENAME SELECTGRAPH SALGRAPH


---------- --------------- ------------------
RECGRAPH
-----------------------------------
KING * **********
*********************

BLAKE ** *****
*********************

CLARK *** ****


*********************

ENAME SELECTGRAPH SALGRAPH


---------- --------------- ------------------
RECGRAPH
-----------------------------------
JONES **** *****
*********************

MARTIN ***** **
*********************

ALLEN ****** ***


*********************

ENAME SELECTGRAPH SALGRAPH


---------- --------------- ------------------
RECGRAPH
-----------------------------------
TURNER ******* ***
*********************

JAMES ******** *
********************

WARD ********* **
*********************

ENAME SELECTGRAPH SALGRAPH


---------- --------------- ------------------
RECGRAPH
-----------------------------------
FORD ********** ******
********************

SMITH *********** *
*********************
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT ************ ******


********************

ENAME SELECTGRAPH SALGRAPH


---------- --------------- ------------------
RECGRAPH
-----------------------------------
ADAMS ************* **
********************

MILLER ************** **
********************

14 rows selected.

SQL> COLUMN RecGraph FORMAT A30


SQL> /

ENAME SELECTGRAPH SALGRAPH RECGRAPH


---------- --------------- ------------------ ------------------------------
KING * ********** *********************
BLAKE ** ***** *********************
CLARK *** **** *********************
JONES **** ***** *********************
MARTIN ***** ** *********************
ALLEN ****** *** *********************
TURNER ******* *** *********************
JAMES ******** * ********************
WARD ********* ** *********************
FORD ********** ****** ********************
SMITH *********** * *********************

ENAME SELECTGRAPH SALGRAPH RECGRAPH


---------- --------------- ------------------ ------------------------------
SCOTT ************ ****** ********************
ADAMS ************* ** ********************
MILLER ************** ** ********************

14 rows selected.

SQL> cl scr

SQL> R
1 SELECT
2 Ename,
3 LPAD('*' , ROWNUM, '*' ) SelectGraph,
4 LPAD('*', Sal/500, '*') SalGraph,
5 LPAD('*', (SYSDATE-HireDate)/500, '*') RecGraph
6* FROM Emp

ENAME SELECTGRAPH SALGRAPH RECGRAPH


---------- --------------- ------------------ ------------------------------
KING * ********** *********************
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

BLAKE ** ***** *********************


CLARK *** **** *********************
JONES **** ***** *********************
MARTIN ***** ** *********************
ALLEN ****** *** *********************
TURNER ******* *** *********************
JAMES ******** * ********************
WARD ********* ** *********************
FORD ********** ****** ********************
SMITH *********** * *********************

ENAME SELECTGRAPH SALGRAPH RECGRAPH


---------- --------------- ------------------ ------------------------------
SCOTT ************ ****** ********************
ADAMS ************* ** ********************
MILLER ************** ** ********************

14 rows selected.

SQL> cl scr

SQL> COLUMN Org_Chart FORMAT A15


SQL> SELECT
2 LPAD('*', ((2 * LEVEL) - 1))||Ename Org_Chart,
3 Empno, MGR, Job
4 FROM Emp
5 START WITH Job = 'PRESIDENT'
6 CONNECT BY PRIOR Empno = MGR;

ORG_CHART EMPNO MGR JOB


--------------- ---------- ---------- ---------
*KING 7839 PRESIDENT
*BLAKE 7698 7839 MANAGER
*MARTIN 7654 7698 SALESMAN
*ALLEN 7499 7698 SALESMAN
*TURNER 7844 7698 SALESMAN
*JAMES 7900 7698 CLERK
*WARD 7521 7698 SALESMAN
*CLARK 7782 7839 MANAGER
*MILLER 7934 7782 CLERK
*JONES 7566 7839 MANAGER
*FORD 7902 7566 ANALYST

ORG_CHART EMPNO MGR JOB


--------------- ---------- ---------- ---------
*SMITH 7369 7902 CLERK
*SCOTT 7788 7566 ANALYST
*ADAMS 7876 7788 CLERK

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 LPAD('*', ((2 * LEVEL) - 1)) LevelVAL, Ename Org_Chart
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 FROM Emp
4 START WITH Job = 'PRESIDENT'
5* CONNECT BY PRIOR Empno = MGR
SQL> /

LEVELVAL
--------------------------------------------------------------------------------
ORG_CHART
---------------
*
KING

*
BLAKE

*
MARTIN

LEVELVAL
--------------------------------------------------------------------------------
ORG_CHART
---------------
*
ALLEN

*
TURNER

*
JAMES

LEVELVAL
--------------------------------------------------------------------------------
ORG_CHART
---------------
*
WARD

*
CLARK

*
MILLER

LEVELVAL
--------------------------------------------------------------------------------
ORG_CHART
---------------
*
JONES

*
FORD
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

*
SMITH

LEVELVAL
--------------------------------------------------------------------------------
ORG_CHART
---------------
*
SCOTT

*
ADAMS

14 rows selected.

SQL> COLUMN LEVELVAL FORMAT A15


SQL> /

LEVELVAL ORG_CHART
--------------- ---------------
* KING
* BLAKE
* MARTIN
* ALLEN
* TURNER
* JAMES
* WARD
* CLARK
* MILLER
* JONES
* FORD

LEVELVAL ORG_CHART
--------------- ---------------
* SMITH
* SCOTT
* ADAMS

14 rows selected.

SQL> cl scr

SQL> SELECT ROWNUM "S.No", SUM(ROWNUM) Sum


2 FROM Emp
3 WHERE ROWNUM <= &GSeqVal;
Enter value for gseqval: 5
SELECT ROWNUM "S.No", SUM(ROWNUM) Sum
*
ERROR at line 1:
ORA-00937: not a single-group group function

SQL> ED
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Wrote file afiedt.buf

1 SELECT ROWNUM "S.No", SUM(ROWNUM) Sum


2 FROM Emp
3 WHERE ROWNUM <= &GSeqVal
4* GROUP BY ROWNUM
SQL> /
Enter value for gseqval: 5

S.No SUM
---------- ----------
1 1
2 2
3 3
4 4
5 5

SQL> cl scr

SQL> SELECT ROWNUM, Ename, Sal


2 FROM Emp
3 WHERE ROWNUM < 6
4 ORDER BY Sal DESC;

ROWNUM ENAME SAL


---------- ---------- ----------
1 KING 5000
4 JONES 2975
2 BLAKE 2850
3 CLARK 2450
5 MARTIN 1250

SQL> SELECT *
2 FROM (SELECT Ename, Sal, Deptno, Job
3 FROM Emp
4 ORDER BY Sal DESC)
5 WHERE ROWNUM < 6;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
FORD 3000 20 ANALYST
SCOTT 3000 20 ANALYST
JONES 2975 20 MANAGER
BLAKE 2850 30 MANAGER

SQL> cl scr

SQL> SELECT LEVEL, ROWNUM, Ename, Sal


2 FROM Emp
3 WHERE ROWNUM < 6
4 START WITH Ename = 'KING'
5 CONNECT BY PRIOR Empno = MGR
6 ORDER BY Sal DESC;

LEVEL ROWNUM ENAME SAL


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- ----------


1 1 KING 5000
2 2 BLAKE 2850
3 4 ALLEN 1600
3 5 TURNER 1500
3 3 MARTIN 1250

SQL> cl scr

SQL> SELECT ROWNUM, E1.*


2 FROM (SELECT ROWNUM, Ename, Sal, Deptno, Job
3 FROM Emp
4 ORDER BY Sal DESC) E1
5 WHERE ROWNUM < 6;

ROWNUM ROWNUM ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------- ---------- ---------
1 1 KING 5000 10 PRESIDENT
2 10 FORD 3000 20 ANALYST
3 12 SCOTT 3000 20 ANALYST
4 4 JONES 2975 20 MANAGER
5 2 BLAKE 2850 30 MANAGER

SQL> cl scr

SQL> SELECT RN, Ename, Sal


2 FROM (SELECT ROWNUM RN, Ename, Sal
3 FROM Emp)
4 WHERE RN = &GiveRn;
Enter value for givern: 1

RN ENAME SAL
---------- ---------- ----------
1 KING 5000

SQL> /
Enter value for givern: 2

RN ENAME SAL
---------- ---------- ----------
2 BLAKE 2850

SQL> /
Enter value for givern: 3

RN ENAME SAL
---------- ---------- ----------
3 CLARK 2450

SQL> cl scr

SQL> SELECT ROWNUM, Ename, Sal, Deptno


2 FROM Emp
3 GROUP BY ROWNUM, Ename, Sal, Deptno
4 HAVING ROWNUM = &GRownum;
Enter value for grownum: 1
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
1 KING 5000 10

SQL> /
Enter value for grownum: 2

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
2 BLAKE 2850 30

SQL> /
Enter value for grownum: 3

ROWNUM ENAME SAL DEPTNO


---------- ---------- ---------- ----------
3 CLARK 2450 10

SQL> cl scr

SQL> SELECT RN, E2.Ename, E2.Sal


2 FROM (SELECT ROWNUM RN, E1.*
3 FROM (SELECT Ename, Sal, Deptno, Job
4 FROM Emp
5 ORDER BY Sal DESC) E1) E2
6 WHERE RN = &GiveSalNum;
Enter value for givesalnum: 1

RN ENAME SAL
---------- ---------- ----------
1 KING 5000

SQL> /
Enter value for givesalnum: 2

RN ENAME SAL
---------- ---------- ----------
2 FORD 3000

SQL> SELECT Ename, Sal, E.Deptno, Dname, Grade


2 FROM Emp E, Dept D, Salgrade S
3 WHERE Sal IN (SELECT E2.Sal
4 FROM (SELECT ROWNUM RN, E1.*
5 FROM (SELECT Ename, Sal, Deptno, Job
6 FROM Emp
7 ORDER BY Sal DESC) E1) E2
8 WHERE E2.RN = &Rn)
9 AND E.Deptno = D.Deptno AND
10 E.Sal BETWEEN S.Losal AND S.HiSal;
Enter value for rn: 1

ENAME SAL DEPTNO DNAME GRADE


---------- ---------- ---------- -------------- ----------
KING 5000 10 ACCOUNTING 5

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for rn: 2

ENAME SAL DEPTNO DNAME GRADE


---------- ---------- ---------- -------------- ----------
SCOTT 3000 20 RESEARCH 4
FORD 3000 20 RESEARCH 4

SQL> cl scr

SQL> SELECT RN, Ename, Sal


2 FROM (SELECT ROWNUM RN, Ename, Sal
3 FROM Emp)
4 WHERE MOD(RN, 2) = 0;

RN ENAME SAL
---------- ---------- ----------
2 BLAKE 2850
4 JONES 2975
6 ALLEN 1600
8 JAMES 950
10 FORD 3000
12 SCOTT 3000
14 MILLER 1300

7 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT RN, Ename, Sal


2 FROM (SELECT ROWNUM RN, Ename, Sal
3 FROM Emp)
4* WHERE MOD(RN, 2) = 1
SQL> /

RN ENAME SAL
---------- ---------- ----------
1 KING 5000
3 CLARK 2450
5 MARTIN 1250
7 TURNER 1500
9 WARD 1250
11 SMITH 800
13 ADAMS 1100

7 rows selected.

SQL> cl scr

SQL> SELECT RN, Ename, Sal


2 FROM (SELECT ROWNUM RN, Ename, Sal
3 FROM Emp)
4 WHERE RN BETWEEN &GineRn1 AND &GiveRn2;
Enter value for ginern1: 1
Enter value for givern2: 5
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

RN ENAME SAL
---------- ---------- ----------
1 KING 5000
2 BLAKE 2850
3 CLARK 2450
4 JONES 2975
5 MARTIN 1250

SQL> /
Enter value for ginern1: 6
Enter value for givern2: 10

RN ENAME SAL
---------- ---------- ----------
6 ALLEN 1600
7 TURNER 1500
8 JAMES 950
9 WARD 1250
10 FORD 3000

SQL> /
Enter value for ginern1: 11
Enter value for givern2: 16

RN ENAME SAL
---------- ---------- ----------
11 SMITH 800
12 SCOTT 3000
13 ADAMS 1100
14 MILLER 1300

SQL> cl scr

SQL> SELECT ROWNUM, Ename, Sal


2 FROM Emp
3 GROUP BY ROWNUM, Ename, Sal
4 HAVING ROWNUM BETWEEN &GiveRowNum1 AND &GiveRowNum2;
Enter value for giverownum1: 1
Enter value for giverownum2: 5

ROWNUM ENAME SAL


---------- ---------- ----------
1 KING 5000
2 BLAKE 2850
3 CLARK 2450
4 JONES 2975
5 MARTIN 1250

SQL> /
Enter value for giverownum1: 6
Enter value for giverownum2: 10

ROWNUM ENAME SAL


---------- ---------- ----------
6 ALLEN 1600
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 TURNER 1500
8 JAMES 950
9 WARD 1250
10 FORD 3000

SQL> /
Enter value for giverownum1: 11
Enter value for giverownum2: 15

ROWNUM ENAME SAL


---------- ---------- ----------
11 SMITH 800
12 SCOTT 3000
13 ADAMS 1100
14 MILLER 1300

SQL> cl scr

SQL> SELECT Ename, Sal, E.Deptno, Dname, Grade


2 FROM Emp E, Dept D, Salgrade S
3 WHERE Sal IN (SELECT E2.Sal
4 FROM (SELECT ROWNUM RN, E1.*
5 FROM (SELECT Ename, Sal, Deptno, Job
6 FROM Emp
7 ORDER BY Sal DESC) E1) E2
8 WHERE E2.RN BETWEEN &RN1 AND &RN2)
9 AND E.Deptno = D.Deptno AND
10 E.Sal BETWEEN S.Losal AND S.HiSal;
Enter value for rn1: 1
Enter value for rn2: 6

ENAME SAL DEPTNO DNAME GRADE


---------- ---------- ---------- -------------- ----------
KING 5000 10 ACCOUNTING 5
SCOTT 3000 20 RESEARCH 4
FORD 3000 20 RESEARCH 4
JONES 2975 20 RESEARCH 4
BLAKE 2850 30 SALES 4
CLARK 2450 10 ACCOUNTING 4

6 rows selected.

SQL> cl scr

SQL> SELECT ROWID, Ename, Sal, Deptno


2 FROM Emp;

ROWID ENAME SAL DEPTNO


------------------ ---------- ---------- ----------
AAANCuAAEAAAAG/AAA KING 5000 10
AAANCuAAEAAAAG/AAB BLAKE 2850 30
AAANCuAAEAAAAG/AAC CLARK 2450 10
AAANCuAAEAAAAG/AAD JONES 2975 20
AAANCuAAEAAAAG/AAE MARTIN 1250 30
AAANCuAAEAAAAG/AAF ALLEN 1600 30
AAANCuAAEAAAAG/AAG TURNER 1500 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

AAANCuAAEAAAAG/AAH JAMES 950 30


AAANCuAAEAAAAG/AAI WARD 1250 30
AAANCuAAEAAAAG/AAJ FORD 3000 20
AAANCuAAEAAAAG/AAK SMITH 800 20

ROWID ENAME SAL DEPTNO


------------------ ---------- ---------- ----------
AAANCuAAEAAAAG/AAL SCOTT 3000 20
AAANCuAAEAAAAG/AAM ADAMS 1100 20
AAANCuAAEAAAAG/AAN MILLER 1300 10

14 rows selected.

SQL> SELECT ROWID, Ename, Sal, Deptno


2 FROM Emp
3 WHERE ROWID =
4 'AAANCuAAEAAAAG/AAI';

ROWID ENAME SAL DEPTNO


------------------ ---------- ---------- ----------
AAANCuAAEAAAAG/AAI WARD 1250 30

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT ROWID, Ename, Sal, Deptno
2 FROM Emp
3 WHERE Ename = 'WARD';

ROWID ENAME SAL DEPTNO


------------------ ---------- ---------- ----------
AAANCuAAEAAAAG/AAI WARD 1250 30

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=20)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
20)

SQL> SELECT ROWID, Ename, Sal, Deptno


2 FROM Emp
3 WHERE ROWID = 'AAANCuAAEAAAAG/AAI';

ROWID ENAME SAL DEPTNO


------------------ ---------- ---------- ----------
AAANCuAAEAAAAG/AAI WARD 1250 30

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=20)
1 0 TABLE ACCESS (BY USER ROWID) OF 'EMP' (TABLE) (Cost=1 Card
=1 Bytes=20)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWID, Ename, Sal, Deptno


2 FROM Emp
3* WHERE ROWID < 'AAANCuAAEAAAAG/AAI'
SQL> /

ROWID ENAME SAL DEPTNO


------------------ ---------- ---------- ----------
AAANCuAAEAAAAG/AAA KING 5000 10
AAANCuAAEAAAAG/AAB BLAKE 2850 30
AAANCuAAEAAAAG/AAC CLARK 2450 10
AAANCuAAEAAAAG/AAD JONES 2975 20
AAANCuAAEAAAAG/AAE MARTIN 1250 30
AAANCuAAEAAAAG/AAF ALLEN 1600 30
AAANCuAAEAAAAG/AAG TURNER 1500 30
AAANCuAAEAAAAG/AAH JAMES 950 30

8 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=20)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
20)

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWID, Ename, Sal, Deptno


2 FROM Emp
3* WHERE ROWID > 'AAANCuAAEAAAAG/AAI'
SQL> /

ROWID ENAME SAL DEPTNO


------------------ ---------- ---------- ----------
AAANCuAAEAAAAG/AAJ FORD 3000 20
AAANCuAAEAAAAG/AAK SMITH 800 20
AAANCuAAEAAAAG/AAL SCOTT 3000 20
AAANCuAAEAAAAG/AAM ADAMS 1100 20
AAANCuAAEAAAAG/AAN MILLER 1300 10

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=20)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
20)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT Ename, Sal, Job


2 FROM Emp
3 WHERE ROWID = 'AAAMoOAAEAAAAzXAAJ';
FROM Emp
*
ERROR at line 2:
ORA-01410: invalid ROWID

SQL> cl scr

SQL> SELECT B.Sal, SUM(A.Sal) "Cum Sal"


2 FROM Emp A, Emp B
3 WHERE A.ROWID < = B.ROWID
4 GROUP BY B.ROWID, B.Sal;

SAL Cum Sal


---------- ----------
5000 5000
2850 7850
2450 10300
2975 13275
1250 14525
1600 16125
1500 17625
950 18575
1250 19825
3000 22825
800 23625

SAL Cum Sal


---------- ----------
3000 26625
1100 27725
1300 29025

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=10 Bytes=22
0)

1 0 SORT (GROUP BY) (Cost=9 Card=10 Bytes=220)


2 1 MERGE JOIN (Cost=8 Card=10 Bytes=220)
3 2 SORT (JOIN) (Cost=4 Card=14 Bytes=154)
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=154)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 2 SORT (JOIN) (Cost=4 Card=14 Bytes=154)


6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=154)

SQL> cl scr

SQL> SELECT B.Ename, B.Sal, Sum(A.Sal) "Cum Sal"


2 FROM Emp A, Emp B
3 WHERE A.ROWID < = B.ROWID
4 GROUP BY B.ROWID, B.Sal, B.Ename
5 ORDER BY "Cum Sal"
6 /

ENAME SAL Cum Sal


---------- ---------- ----------
KING 5000 5000
BLAKE 2850 7850
CLARK 2450 10300
JONES 2975 13275
MARTIN 1250 14525
ALLEN 1600 16125
TURNER 1500 17625
JAMES 950 18575
WARD 1250 19825
FORD 3000 22825
SMITH 800 23625

ENAME SAL Cum Sal


---------- ---------- ----------
SCOTT 3000 26625
ADAMS 1100 27725
MILLER 1300 29025

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=10 Bytes=2
80)

1 0 SORT (ORDER BY) (Cost=10 Card=10 Bytes=280)


2 1 SORT (GROUP BY) (Cost=10 Card=10 Bytes=280)
3 2 MERGE JOIN (Cost=8 Card=10 Bytes=280)
4 3 SORT (JOIN) (Cost=4 Card=14 Bytes=238)
5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=238)

6 3 SORT (JOIN) (Cost=4 Card=14 Bytes=154)


7 6 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=154)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT B.Ename, B.Sal,


2 Sum(A.Sal) "Cum Sal",
3 AVG(A.Sal) "Mov Avg"
4 FROM Emp A, Emp B
5 WHERE A.ROWID < = B.ROWID
6 GROUP BY B.ROWID, B.Sal, B.Ename
7* ORDER BY "Cum Sal"
SQL> /

ENAME SAL Cum Sal Mov Avg


---------- ---------- ---------- ----------
KING 5000 5000 5000
BLAKE 2850 7850 3925
CLARK 2450 10300 3433.33333
JONES 2975 13275 3318.75
MARTIN 1250 14525 2905
ALLEN 1600 16125 2687.5
TURNER 1500 17625 2517.85714
JAMES 950 18575 2321.875
WARD 1250 19825 2202.77778
FORD 3000 22825 2282.5
SMITH 800 23625 2147.72727

ENAME SAL Cum Sal Mov Avg


---------- ---------- ---------- ----------
SCOTT 3000 26625 2218.75
ADAMS 1100 27725 2132.69231
MILLER 1300 29025 2073.21429

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=10 Bytes=2
80)

1 0 SORT (ORDER BY) (Cost=10 Card=10 Bytes=280)


2 1 SORT (GROUP BY) (Cost=10 Card=10 Bytes=280)
3 2 MERGE JOIN (Cost=8 Card=10 Bytes=280)
4 3 SORT (JOIN) (Cost=4 Card=14 Bytes=238)
5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=238)

6 3 SORT (JOIN) (Cost=4 Card=14 Bytes=154)


7 6 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=154)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT Ename, Empno, MGR


2 FROM Emp
3 START WITH Empno = 7839
4 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR


---------- ---------- ----------
KING 7839
BLAKE 7698 7839
MARTIN 7654 7698
ALLEN 7499 7698
TURNER 7844 7698
JAMES 7900 7698
WARD 7521 7698
CLARK 7782 7839
MILLER 7934 7782
JONES 7566 7839
FORD 7902 7566

ENAME EMPNO MGR


---------- ---------- ----------
SMITH 7369 7902
SCOTT 7788 7566
ADAMS 7876 7788

14 rows selected.

SQL> UPDATE Emp


2 SET MGR = 7566
3 WHERE Empno = 7839;

1 row updated.

SQL> SELECT Ename, Empno, MGR


2 FROM Emp;

ENAME EMPNO MGR


---------- ---------- ----------
KING 7839 7566
BLAKE 7698 7839
CLARK 7782 7839
JONES 7566 7839
MARTIN 7654 7698
ALLEN 7499 7698
TURNER 7844 7698
JAMES 7900 7698
WARD 7521 7698
FORD 7902 7566
SMITH 7369 7902

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME EMPNO MGR


---------- ---------- ----------
SCOTT 7788 7566
ADAMS 7876 7788
MILLER 7934 7782

14 rows selected.

SQL> SELECT Ename, Empno, MGR


2 FROM Emp
3 START WITH Empno = 7839
4 CONNECT BY PRIOR Empno = MGR;
ERROR:
ORA-01436: CONNECT BY loop in user data

no rows selected

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Empno, MGR


2 FROM Emp
3 START WITH Empno = 7839
4* CONNECT BY NOCYCLE PRIOR Empno = MGR
SQL> /

ENAME EMPNO MGR


---------- ---------- ----------
KING 7839 7566
BLAKE 7698 7839
MARTIN 7654 7698
ALLEN 7499 7698
TURNER 7844 7698
JAMES 7900 7698
WARD 7521 7698
CLARK 7782 7839
MILLER 7934 7782
JONES 7566 7839
FORD 7902 7566

ENAME EMPNO MGR


---------- ---------- ----------
SMITH 7369 7902
SCOTT 7788 7566
ADAMS 7876 7788

14 rows selected.

SQL> cl scr

SQL> COLUMN SalPath FORMAT A20


SQL> SELECT Ename,
2 CONNECT_BY_ISCYCLE "Cycle",
3 LEVEL,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"


5 FROM Emp
6 START WITH Ename = 'KING'
7 CONNECT BY NOCYCLE PRIOR Empno = MGR;

ENAME Cycle LEVEL SalPath


---------- ---------- ---------- --------------------
KING 0 1 /5000
BLAKE 0 2 /5000/2850
MARTIN 0 3 /5000/2850/1250
ALLEN 0 3 /5000/2850/1600
TURNER 0 3 /5000/2850/1500
JAMES 0 3 /5000/2850/950
WARD 0 3 /5000/2850/1250
CLARK 0 2 /5000/2450
MILLER 0 3 /5000/2450/1300
JONES 1 2 /5000/2975
FORD 0 3 /5000/2975/3000

ENAME Cycle LEVEL SalPath


---------- ---------- ---------- --------------------
SMITH 0 4 /5000/2975/3000/800
SCOTT 0 3 /5000/2975/3000
ADAMS 0 4 /5000/2975/3000/1100

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 CONNECT_BY_ISCYCLE "Cycle",
3 LEVEL,
4 SYS_CONNECT_BY_PATH(Sal, '/') "SalPath"
5 FROM Emp
6 WHERE CONNECT_BY_ISCYCLE = &GCycle
7 START WITH Ename = 'KING'
8* CONNECT BY NOCYCLE PRIOR Empno = MGR
SQL> /
Enter value for gcycle: 0

ENAME Cycle LEVEL SalPath


---------- ---------- ---------- --------------------
KING 0 1 /5000
BLAKE 0 2 /5000/2850
MARTIN 0 3 /5000/2850/1250
ALLEN 0 3 /5000/2850/1600
TURNER 0 3 /5000/2850/1500
JAMES 0 3 /5000/2850/950
WARD 0 3 /5000/2850/1250
CLARK 0 2 /5000/2450
MILLER 0 3 /5000/2450/1300
FORD 0 3 /5000/2975/3000
SMITH 0 4 /5000/2975/3000/800

ENAME Cycle LEVEL SalPath


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- --------------------


SCOTT 0 3 /5000/2975/3000
ADAMS 0 4 /5000/2975/3000/1100

13 rows selected.

SQL> /
Enter value for gcycle: 1

ENAME Cycle LEVEL SalPath


---------- ---------- ---------- --------------------
JONES 1 2 /5000/2975

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT Ename, Empno, MGR


2 FROM Emp
3 START WITH Empno = 7839
4 CONNECT BY PRIOR Empno = MGR;

ENAME EMPNO MGR


---------- ---------- ----------
KING 7839
BLAKE 7698 7839
MARTIN 7654 7698
ALLEN 7499 7698
TURNER 7844 7698
JAMES 7900 7698
WARD 7521 7698
CLARK 7782 7839
MILLER 7934 7782
JONES 7566 7839
FORD 7902 7566

ENAME EMPNO MGR


---------- ---------- ----------
SMITH 7369 7902
SCOTT 7788 7566
ADAMS 7876 7788

14 rows selected.

SQL> SELECT Ename "Employee", CONNECT_BY_ISLEAF "IsLeaf",


2 LEVEL, SYS_CONNECT_BY_PATH(Ename, '/') "Path"
3 FROM Emp
4 START WITH Empno = 7839
5 CONNECT BY PRIOR Empno = MGR;

Employee IsLeaf LEVEL


---------- ---------- ----------
Path
--------------------------------------------------------------------------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

KING 0 1
/KING

BLAKE 0 2
/KING/BLAKE

MARTIN 1 3
/KING/BLAKE/MARTIN

Employee IsLeaf LEVEL


---------- ---------- ----------
Path
--------------------------------------------------------------------------------
ALLEN 1 3
/KING/BLAKE/ALLEN

TURNER 1 3
/KING/BLAKE/TURNER

JAMES 1 3
/KING/BLAKE/JAMES

Employee IsLeaf LEVEL


---------- ---------- ----------
Path
--------------------------------------------------------------------------------
WARD 1 3
/KING/BLAKE/WARD

CLARK 0 2
/KING/CLARK

MILLER 1 3
/KING/CLARK/MILLER

Employee IsLeaf LEVEL


---------- ---------- ----------
Path
--------------------------------------------------------------------------------
JONES 0 2
/KING/JONES

FORD 0 3
/KING/JONES/FORD

SMITH 1 4
/KING/JONES/FORD/SMITH

Employee IsLeaf LEVEL


---------- ---------- ----------
Path
--------------------------------------------------------------------------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT 0 3
/KING/JONES/SCOTT

ADAMS 1 4
/KING/JONES/SCOTT/ADAMS

14 rows selected.

SQL> COLUMN "Path" FORMAT A25


SQL> /

Employee IsLeaf LEVEL Path


---------- ---------- ---------- -------------------------
KING 0 1 /KING
BLAKE 0 2 /KING/BLAKE
MARTIN 1 3 /KING/BLAKE/MARTIN
ALLEN 1 3 /KING/BLAKE/ALLEN
TURNER 1 3 /KING/BLAKE/TURNER
JAMES 1 3 /KING/BLAKE/JAMES
WARD 1 3 /KING/BLAKE/WARD
CLARK 0 2 /KING/CLARK
MILLER 1 3 /KING/CLARK/MILLER
JONES 0 2 /KING/JONES
FORD 0 3 /KING/JONES/FORD

Employee IsLeaf LEVEL Path


---------- ---------- ---------- -------------------------
SMITH 1 4 /KING/JONES/FORD/SMITH
SCOTT 0 3 /KING/JONES/SCOTT
ADAMS 1 4 /KING/JONES/SCOTT/ADAMS

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename "Employee", CONNECT_BY_ISLEAF "IsLeaf",


2 LEVEL, SYS_CONNECT_BY_PATH(Ename, '/') "Path"
3 FROM Emp
4 WHERE CONNECT_BY_ISLEAF = &GLeaf
5 START WITH Empno = 7839
6* CONNECT BY PRIOR Empno = MGR
SQL> /
Enter value for gleaf: 1

Employee IsLeaf LEVEL Path


---------- ---------- ---------- -------------------------
MARTIN 1 3 /KING/BLAKE/MARTIN
ALLEN 1 3 /KING/BLAKE/ALLEN
TURNER 1 3 /KING/BLAKE/TURNER
JAMES 1 3 /KING/BLAKE/JAMES
WARD 1 3 /KING/BLAKE/WARD
MILLER 1 3 /KING/CLARK/MILLER
SMITH 1 4 /KING/JONES/FORD/SMITH
ADAMS 1 4 /KING/JONES/SCOTT/ADAMS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

8 rows selected.

SQL> /
Enter value for gleaf: 0

Employee IsLeaf LEVEL Path


---------- ---------- ---------- -------------------------
KING 0 1 /KING
BLAKE 0 2 /KING/BLAKE
CLARK 0 2 /KING/CLARK
JONES 0 2 /KING/JONES
FORD 0 3 /KING/JONES/FORD
SCOTT 0 3 /KING/JONES/SCOTT

6 rows selected.

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT ColumnName


2 FROM TableName
3 WHERE ColumnName = Condition
4 <SET OPERATOR>
5 SELECT ColumnName
6 FROM TableName
7 WHERE ColumnName = Condition
8
SQL> SELECT Ename, Dname
2 FROM Emp, Dept
3 WHERE Emp.Deptno = Dept.Deptno;

ENAME DNAME
---------- --------------
KING ACCOUNTING
CLARK ACCOUNTING
MILLER ACCOUNTING
JONES RESEARCH
SCOTT RESEARCH
ADAMS RESEARCH
SMITH RESEARCH
FORD RESEARCH
BLAKE SALES
MARTIN SALES
ALLEN SALES

ENAME DNAME
---------- --------------
TURNER SALES
JAMES SALES
WARD SALES

14 rows selected.

SQL> SELECT Ename


2 FROM Emp
3 UNION
4 SELECT Dname
5 FROM Dept;

ENAME
--------------
ACCOUNTING
ADAMS
ALLEN
BLAKE
CLARK
FORD
JAMES
JONES
KING
MARTIN
MILLER

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME
--------------
OPERATIONS
RESEARCH
SALES
SCOTT
SMITH
TURNER
WARD

18 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno


2 FROM Emp
3 UNION
4 SELECT Dname, Deptno
5* FROM Dept
SQL> /

ENAME DEPTNO
-------------- ----------
ACCOUNTING 10
ADAMS 20
ALLEN 30
BLAKE 30
CLARK 10
FORD 20
JAMES 30
JONES 20
KING 10
MARTIN 30
MILLER 10

ENAME DEPTNO
-------------- ----------
OPERATIONS 40
RESEARCH 20
SALES 30
SCOTT 20
SMITH 20
TURNER 30
WARD 30

18 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno


2 FROM Emp
3 UNION
4 SELECT Dname
5* FROM Dept
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
SELECT Ename, Deptno
*
ERROR at line 1:
ORA-01789: query block has incorrect number of result columns

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno


2 FROM Emp
3 UNION
4 SELECT Deptno, Dname
5* FROM Dept
SQL> /
SELECT Ename, Deptno
*
ERROR at line 1:
ORA-01790: expression must have same datatype as corresponding expression

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno


2 FROM Emp
3 ORDER BY Ename
4 UNION
5 SELECT Dname, Deptno
6* FROM Dept
SQL> /
UNION
*
ERROR at line 4:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno


2 FROM Emp
3 UNION
4 SELECT Dname, Deptno
5 FROM Dept
6* ORDER BY Ename
SQL> /

ENAME DEPTNO
-------------- ----------
ACCOUNTING 10
ADAMS 20
ALLEN 30
BLAKE 30
CLARK 10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

FORD 20
JAMES 30
JONES 20
KING 10
MARTIN 30
MILLER 10

ENAME DEPTNO
-------------- ----------
OPERATIONS 40
RESEARCH 20
SALES 30
SCOTT 20
SMITH 20
TURNER 30
WARD 30

18 rows selected.

SQL> ED
Wrote file afiedt.buf

1 (
2 SELECT Ename, Deptno
3 FROM Emp
4 UNION
5 SELECT Dname, Deptno
6 FROM Dept
7 )
8* ORDER BY Ename
SQL> /

ENAME DEPTNO
-------------- ----------
ACCOUNTING 10
ADAMS 20
ALLEN 30
BLAKE 30
CLARK 10
FORD 20
JAMES 30
JONES 20
KING 10
MARTIN 30
MILLER 10

ENAME DEPTNO
-------------- ----------
OPERATIONS 40
RESEARCH 20
SALES 30
SCOTT 20
SMITH 20
TURNER 30
WARD 30

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

18 rows selected.

SQL> ED
Wrote file afiedt.buf

1 (
2 SELECT Ename, Deptno
3 FROM Emp
4 UNION
5 SELECT Dname, Deptno
6 FROM Dept
7 )
8* ORDER BY Dname
SQL> /
ORDER BY Dname
*
ERROR at line 8:
ORA-00904: "DNAME": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 (
2 SELECT Ename, Deptno
3 FROM Emp
4 UNION
5 SELECT Dname, Deptno
6 FROM Dept
7 )
8* ORDER BY 1
SQL> /

ENAME DEPTNO
-------------- ----------
ACCOUNTING 10
ADAMS 20
ALLEN 30
BLAKE 30
CLARK 10
FORD 20
JAMES 30
JONES 20
KING 10
MARTIN 30
MILLER 10

ENAME DEPTNO
-------------- ----------
OPERATIONS 40
RESEARCH 20
SALES 30
SCOTT 20
SMITH 20
TURNER 30
WARD 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

18 rows selected.

SQL> cl scr

SQL> SELECT Ename


2 FROM Emp
3 WHERE Deptno = 10
4 UNION
5 SELECT Ename
6 FROM Emp
7 WHERE Deptno = 30;

ENAME
----------
ALLEN
BLAKE
CLARK
JAMES
KING
MARTIN
MILLER
TURNER
WARD

9 rows selected.

SQL> SELECT Ename


2 FROM Emp
3 WHERE Deptno IN(10, 30);

ENAME
----------
KING
BLAKE
CLARK
MARTIN
ALLEN
TURNER
JAMES
WARD
MILLER

9 rows selected.

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT Ename
2 FROM Emp
3 WHERE Deptno IN(10, 30);

ENAME
----------
KING
BLAKE
CLARK
MARTIN
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ALLEN
TURNER
JAMES
WARD
MILLER

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=9 Bytes=81)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=9 Bytes=
81)

SQL> SELECT Ename


2 FROM Emp
3 WHERE Deptno = 10
4 UNION
5 SELECT Ename
6 FROM Emp
7 WHERE Deptno = 30;

ENAME
----------
ALLEN
BLAKE
CLARK
JAMES
KING
MARTIN
MILLER
TURNER
WARD

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=10 Bytes=90
)

1 0 SORT (UNIQUE) (Cost=8 Card=10 Bytes=90)


2 1 UNION-ALL
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)

4 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=45)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename
2 FROM Emp
3 WHERE Deptno = 10
4 INTERSECT
5 SELECT Ename
6 FROM Emp
7* WHERE Deptno = 30
SQL> /

no rows selected

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=90)
1 0 INTERSECTION
2 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)

4 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)


5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename
2 FROM Emp
3 WHERE Deptno = 10
4 MINUS
5 SELECT Ename
6 FROM Emp
7* WHERE Deptno = 30
SQL> /

ENAME
----------
CLARK
KING
MILLER

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=90)
1 0 MINUS
2 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

tes=45)

4 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=45)


5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=45)

SQL> cl scr

SQL> SELECT Job


2 FROM Emp
3 WHERE Deptno = 10
4 UNION
5 SELECT Job
6 FROM Emp
7 WHERE Deptno = 30;

JOB
---------
CLERK
MANAGER
PRESIDENT
SALESMAN

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=10 Bytes=11
0)

1 0 SORT (UNIQUE) (Cost=8 Card=10 Bytes=110)


2 1 UNION-ALL
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

4 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=55)

SQL> ED
Wrote file afiedt.buf

1 SELECT Job
2 FROM Emp
3 WHERE Deptno = 10
4 UNION ALL
5 SELECT Job
6 FROM Emp
7* WHERE Deptno = 30
SQL> /

JOB
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------
PRESIDENT
MANAGER
CLERK
MANAGER
SALESMAN
SALESMAN
SALESMAN
CLERK
SALESMAN

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=10 Bytes=11
0)

1 0 UNION-ALL
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 Byte
s=55)

3 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 Byte


s=55)

SQL> ED
Wrote file afiedt.buf

1 SELECT Job
2 FROM Emp
3 WHERE Deptno = 10
4 INTESECT
5 SELECT Job
6 FROM Emp
7* WHERE Deptno = 30
SQL> /
INTESECT
*
ERROR at line 4:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf

1 SELECT Job
2 FROM Emp
3 WHERE Deptno = 10
4 INTERSECT
5 SELECT Job
6 FROM Emp
7* WHERE Deptno = 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /

JOB
---------
CLERK
MANAGER

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=110
)

1 0 INTERSECTION
2 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

4 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

SQL> ED
Wrote file afiedt.buf

1 SELECT Job
2 FROM Emp
3 WHERE Deptno = 10
4 MINUS
5 SELECT Job
6 FROM Emp
7* WHERE Deptno = 30
SQL> /

JOB
---------
PRESIDENT

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=5 Bytes=110
)

1 0 MINUS
2 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

4 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT Job


2 FROM Emp
3 WHERE Deptno = 10
4 UNION
5 SELECT Job
6 FROM Emp
7 WHERE Deptno = 20
8 INTERSECT
9 SELECT Job
10 FROM Emp
11 WHERE Deptno = 30;

JOB
---------
CLERK
MANAGER

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=12 Card=5 Bytes=16
5)

1 0 INTERSECTION
2 1 SORT (UNIQUE) (Cost=12 Card=5 Bytes=165)
3 2 UNION-ALL
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5
Bytes=55)

5 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5


Bytes=55)

6 1 SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


7 6 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

SQL> ED
Wrote file afiedt.buf

1 SELECT Job
2 FROM Emp
3 WHERE Deptno = 10
4 UNION
5 (
6 SELECT Job
7 FROM Emp
8 WHERE Deptno = 20
9 INTERSECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

10 SELECT Job
11 FROM Emp
12 WHERE Deptno = 30
13* )
SQL> /

JOB
---------
CLERK
MANAGER
PRESIDENT

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=12 Card=10 Bytes=1
65)

1 0 SORT (UNIQUE) (Cost=12 Card=10 Bytes=165)


2 1 UNION-ALL
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By
tes=55)

4 2 INTERSECTION
5 4 SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)
6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
5 Bytes=55)

7 4 SORT (UNIQUE) (Cost=4 Card=5 Bytes=55)


8 7 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
5 Bytes=55)

SQL> cl scr

SQL> SELECT Deptno, Dname


2 FROM Emp
3 WHERE Deptno = &GDeptno1
4 UNION
5 SELECT Ename, Sal, HireDate
6 FROm Emp
7 WHERE Deptno = &GDeptno2;
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10
SELECT Deptno, Dname
*
ERROR at line 1:
ORA-00904: "DNAME": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Dname


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM Dept
3 WHERE Deptno = &GDeptno1
4 UNION
5 SELECT Ename, Sal, HireDate
6 FROm Emp
7* WHERE Deptno = &GDeptno2
SQL>
SQL> 10
SP2-0226: Invalid line number
SQL> 10
SP2-0226: Invalid line number
SQL> /
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10
SELECT Deptno, Dname
*
ERROR at line 1:
ORA-01789: query block has incorrect number of result columns

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Dname, NULL Ename, NULL Sal, NULL HireDate


2 FROM Dept
3 WHERE Deptno = &GDeptno1
4 UNION
5 SELECT NULL, NULL, Ename, Sal, HireDate
6 FROm Emp
7* WHERE Deptno = &GDeptno2
SQL> /
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10

DEPTNO DNAME ENAME SAL HIREDATE


---------- -------------- ---------- ---------- ---------
10 ACCOUNTING
CLARK 2450 09-JUN-81
KING 5000 17-NOV-81
MILLER 1300 23-JAN-82

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=6 Bytes=118
)

1 0 SORT (UNIQUE) (Cost=6 Card=6 Bytes=118)


2 1 UNION-ALL
3 2 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=
1 Card=1 Bytes=13)

4 3 INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=105)

SQL> /
Enter value for gdeptno1: 20
Enter value for gdeptno2: 20

DEPTNO DNAME ENAME SAL HIREDATE


---------- -------------- ---------- ---------- ---------
20 RESEARCH
ADAMS 1100 12-JAN-83
FORD 3000 03-DEC-81
JONES 2975 02-APR-81
SCOTT 3000 09-DEC-82
SMITH 800 17-DEC-80

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=6 Bytes=118
)

1 0 SORT (UNIQUE) (Cost=6 Card=6 Bytes=118)


2 1 UNION-ALL
3 2 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=
1 Card=1 Bytes=13)

4 3 INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)

5 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=105)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Dname, NULL Ename, NULL Sal, NULL HireDate


2 FROM Dept
3 WHERE Deptno = &GDeptno1
4 UNION
5 SELECT NULL, NULL, Ename, Sal, HireDate
6 FROm Emp
7 WHERE Deptno = &GDeptno2
8 UNION
9 SELECT NULL, NULL, NULL, SUM(Sal), NULL
10 FROM Emp
11* WHERE Deptno = &GDeptno3
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> /
Enter value for gdeptno1: 10
Enter value for gdeptno2: 10
Enter value for gdeptno3: 10

DEPTNO DNAME ENAME SAL HIREDATE


---------- -------------- ---------- ---------- ---------
10 ACCOUNTING
CLARK 2450 09-JUN-81
KING 5000 17-NOV-81
MILLER 1300 23-JAN-82
8750

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=7 Bytes=12
5)

1 0 SORT (UNIQUE) (Cost=10 Card=7 Bytes=125)


2 1 UNION-ALL
3 2 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=
1 Card=1 Bytes=13)

4 3 INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)

5 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 By


tes=105)

6 2 SORT (AGGREGATE) (Cost=4 Card=1 Bytes=7)


7 6 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5
Bytes=35)

SQL> cl scr

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
---------- ----------
10 8750
20 10875
30 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=3 Bytes=21)
1 0 SORT (GROUP BY) (Cost=4 Card=3 Bytes=21)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=98)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT SUM(Sal)


2 FROM Emp;

SUM(SAL)
----------
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=4)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=56)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUM(Sal), (SELECT SUM(Sal) FROM Emp) OrgSal


2 FROM Emp
3* GROUP BY Deptno
SQL> /

DEPTNO SUM(SAL) ORGSAL


---------- ---------- ----------
10 8750 29025
20 10875 29025
30 9400 29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=3 Bytes=21)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=56)

3 0 SORT (GROUP BY) (Cost=4 Card=3 Bytes=21)


4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=98)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUM(Sal), OrGSal


2 FROM Emp, (
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 SELECT
4 SUM(Sal) OrGSal
5 FROM Emp)
6* GROUP BY Deptno, OrGSal
SQL> /

DEPTNO SUM(SAL) ORGSAL


---------- ---------- ----------
10 8750 29025
20 10875 29025
30 9400 29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=3 Bytes=60)
1 0 SORT (GROUP BY) (Cost=7 Card=3 Bytes=60)
2 1 MERGE JOIN (CARTESIAN) (Cost=6 Card=14 Bytes=280)
3 2 VIEW (Cost=3 Card=1 Bytes=13)
4 3 SORT (AGGREGATE)
5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=56)

6 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B


ytes=98)

SQL> SELECT Deptno, SUM(Sal) SalSum


2 FROM Emp
3 GROUP BY Deptno
4 UNION
5 SELECT NULL, SUM(Sal)
6 FROM Emp;

DEPTNO SALSUM
---------- ----------
10 8750
20 10875
30 9400
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=4 Bytes=25)
1 0 SORT (UNIQUE) (Cost=9 Card=4 Bytes=25)
2 1 UNION-ALL
3 2 SORT (GROUP BY) (Cost=5 Card=3 Bytes=21)
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=98)

5 2 SORT (AGGREGATE) (Cost=4 Card=1 Bytes=4)


6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=56)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=11 Bytes=16
5)

1 0 SORT (GROUP BY) (Cost=4 Card=11 Bytes=165)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=210)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
---------- ----------
10 8750
20 10875
30 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=3 Bytes=21)
1 0 SORT (GROUP BY) (Cost=4 Card=3 Bytes=21)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=98)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT SUM(Sal)


2 FROM Emp;

SUM(SAL)
----------
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=4)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=56)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job, SUM(Sal) SalSum


2 FROM Emp
3 GROUP BY Deptno, Job
4 UNION
5 SELECT Deptno,NULL, SUM(Sal)
6 FROM Emp
7 GROUP BY Deptno
8 UNION
9 SELECT NULL, NULL, SUM(Sal)
10* FROM Emp
SQL> /

DEPTNO JOB SALSUM


---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SALSUM


---------- --------- ----------
30 9400
29025

13 rows selected.

Execution Plan
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=14 Card=15 Bytes=1
90)

1 0 SORT (UNIQUE) (Cost=14 Card=15 Bytes=190)


2 1 UNION-ALL
3 2 SORT (GROUP BY) (Cost=5 Card=11 Bytes=165)
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=210)

5 2 SORT (GROUP BY) (Cost=5 Card=3 Bytes=21)


6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=98)

7 2 SORT (AGGREGATE) (Cost=4 Card=1 Bytes=4)


8 7 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=56)
SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> CREATE VIEW Employees


2 AS
3 SELECT
4 Empno "ID Number",
5 Ename Name,
6 Sal "Basic Salary",
7 Job Designation
8 FROM Emp;

View created.

SQL> SELECT
2 Empno "ID Number",
3 Ename Name,
4 Sal "Basic Salary",
5 Job Designation
6 FROM Emp;

ID Number NAME Basic Salary DESIGNATI


---------- ---------- ------------ ---------
7839 KING 5000 PRESIDENT
7698 BLAKE 2850 MANAGER
7782 CLARK 2450 MANAGER
7566 JONES 2975 MANAGER
7654 MARTIN 1250 SALESMAN
7499 ALLEN 1600 SALESMAN
7844 TURNER 1500 SALESMAN
7900 JAMES 950 CLERK
7521 WARD 1250 SALESMAN
7902 FORD 3000 ANALYST
7369 SMITH 800 CLERK

ID Number NAME Basic Salary DESIGNATI


---------- ---------- ------------ ---------
7788 SCOTT 3000 ANALYST
7876 ADAMS 1100 CLERK
7934 MILLER 1300 CLERK

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=54
6)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=546)

SQL> DESC Employees


Name Null? Type
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------------------------------------- -------- ----------------------------


ID Number NOT NULL NUMBER(4)
NAME VARCHAR2(10)
Basic Salary NUMBER(7,2)
DESIGNATION VARCHAR2(9)

SQL> SELECT * FROM Employees;

ID Number NAME Basic Salary DESIGNATI


---------- ---------- ------------ ---------
7839 KING 5000 PRESIDENT
7698 BLAKE 2850 MANAGER
7782 CLARK 2450 MANAGER
7566 JONES 2975 MANAGER
7654 MARTIN 1250 SALESMAN
7499 ALLEN 1600 SALESMAN
7844 TURNER 1500 SALESMAN
7900 JAMES 950 CLERK
7521 WARD 1250 SALESMAN
7902 FORD 3000 ANALYST
7369 SMITH 800 CLERK

ID Number NAME Basic Salary DESIGNATI


---------- ---------- ------------ ---------
7788 SCOTT 3000 ANALYST
7876 ADAMS 1100 CLERK
7934 MILLER 1300 CLERK

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=54
6)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=546)

SQL> SELECT Empno, Ename, Sal FROM Employees;


SELECT Empno, Ename, Sal FROM Employees
*
ERROR at line 1:
ORA-00904: "SAL": invalid identifier

SQL> SELECT "ID Number", Name, "Basic Salary", HireDate


2 FROM Employees;
SELECT "ID Number", Name, "Basic Salary", HireDate
*
ERROR at line 1:
ORA-00904: "HIREDATE": invalid identifier

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT "ID Number", Name, "Basic Salary"


2 FROM Employees;

ID Number NAME Basic Salary


---------- ---------- ------------
7839 KING 5000
7698 BLAKE 2850
7782 CLARK 2450
7566 JONES 2975
7654 MARTIN 1250
7499 ALLEN 1600
7844 TURNER 1500
7900 JAMES 950
7521 WARD 1250
7902 FORD 3000
7369 SMITH 800

ID Number NAME Basic Salary


---------- ---------- ------------
7788 SCOTT 3000
7876 ADAMS 1100
7934 MILLER 1300

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=46
2)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=462)

SQL> ED
Wrote file afiedt.buf

1 SELECT "ID Number", Name, "Basic Salary"


2 FROM Employees
3* WHERE "Basic Salary" > 1500
SQL> /

ID Number NAME Basic Salary


---------- ---------- ------------
7839 KING 5000
7698 BLAKE 2850
7782 CLARK 2450
7566 JONES 2975
7499 ALLEN 1600
7902 FORD 3000
7788 SCOTT 3000

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=7 Bytes=231
)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=7 Bytes=


231)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUm("Basic Salary")


2 FROM Employees
3* GROUP BY Deptno
SQL> /
GROUP BY Deptno
*
ERROR at line 3:
ORA-00904: "DEPTNO": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT Deisgnation, SUm("Basic Salary")


2 FROM Employees
3* GROUP BY Deisgnation
SQL> /
GROUP BY Deisgnation
*
ERROR at line 3:
ORA-00904: "DEISGNATION": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT Designation, SUm("Basic Salary")


2 FROM Employees
3* GROUP BY Designation
SQL> /

DESIGNATI SUM("BASICSALARY")
--------- ------------------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=26
6)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=266)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=266)

SQL> cl scr

SQL> SELECT
2 "ID Number",
3 Name,
4 "Basic Salary" * 12
5 FROM Employees;

ID Number NAME "BASICSALARY"*12


---------- ---------- ----------------
7839 KING 60000
7698 BLAKE 34200
7782 CLARK 29400
7566 JONES 35700
7654 MARTIN 15000
7499 ALLEN 19200
7844 TURNER 18000
7900 JAMES 11400
7521 WARD 15000
7902 FORD 36000
7369 SMITH 9600

ID Number NAME "BASICSALARY"*12


---------- ---------- ----------------
7788 SCOTT 36000
7876 ADAMS 13200
7934 MILLER 15600

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=46
2)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=462)

SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 "ID Number",
3 Name,
4 TO_CHAR("Basic Salary", '99,99,999.99') Monthly,
5 "Basic Salary" * 12 Annual
6 FROM Employees
7 WHERE "Basic Salary" > 2500;

ID Number NAME MONTHLY ANNUAL


---------- ---------- ------------- ----------
7839 KING 5,000.00 60000
7698 BLAKE 2,850.00 34200
7566 JONES 2,975.00 35700
7902 FORD 3,000.00 36000
7788 SCOTT 3,000.00 36000

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=5 Bytes=165
)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=5 Bytes=


165)

SQL> cl scr

SQL> CREATE VIEW EmpInfo


2 AS
3 SELECT
4 E.Empno EmployeeID,
5 E.Ename Name,
6 D.Deptno DepartmentID,
7 D.Dname DepartmentName
8 FROM Emp E, Dept D
9 WHERE D.Deptno = E.Deptno
10 ORDER BY D.Deptno;

View created.

SQL> DESC EmpInfo


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPLOYEEID NOT NULL NUMBER(4)
NAME VARCHAR2(10)
DEPARTMENTID NOT NULL NUMBER(2)
DEPARTMENTNAME VARCHAR2(14)

SQL> SELECT * FROM EmpInfo;

EMPLOYEEID NAME DEPARTMENTID DEPARTMENTNAME


---------- ---------- ------------ --------------
7839 KING 10 ACCOUNTING
7782 CLARK 10 ACCOUNTING
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7934 MILLER 10 ACCOUNTING


7566 JONES 20 RESEARCH
7788 SCOTT 20 RESEARCH
7876 ADAMS 20 RESEARCH
7369 SMITH 20 RESEARCH
7902 FORD 20 RESEARCH
7698 BLAKE 30 SALES
7654 MARTIN 30 SALES
7499 ALLEN 30 SALES

EMPLOYEEID NAME DEPARTMENTID DEPARTMENTNAME


---------- ---------- ------------ --------------
7844 TURNER 30 SALES
7900 JAMES 30 SALES
7521 WARD 30 SALES

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=14 Bytes=58
8)

1 0 VIEW OF 'EMPINFO' (VIEW) (Cost=8 Card=14 Bytes=588)


2 1 SORT (ORDER BY) (Cost=8 Card=14 Bytes=770)
3 2 HASH JOIN (Cost=7 Card=14 Bytes=770)
4 3 TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=4
Bytes=88)

5 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14


Bytes=462)

SQL> cl scr

SQL> CREATE VIEW EmpGrades


2 AS
3 SELECT
4 E.Ename Name,
5 E.Sal Basic,
6 S.Grade Grade
7 FROM Emp E , Salgrade S
8 WHERE E.Sal BETWEEN S.LoSal AND S.HiSal
9 ORDER BY S.Grade;

View created.

SQL> DESC EmpGrades


Name Null? Type
----------------------------------------- -------- ----------------------------
NAME VARCHAR2(10)
BASIC NUMBER(7,2)
GRADE NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT * FROM EmpGrades;

NAME BASIC GRADE


---------- ---------- ----------
SMITH 800 1
JAMES 950 1
ADAMS 1100 1
MARTIN 1250 2
WARD 1250 2
MILLER 1300 2
TURNER 1500 3
ALLEN 1600 3
CLARK 2450 4
BLAKE 2850 4
JONES 2975 4

NAME BASIC GRADE


---------- ---------- ----------
FORD 3000 4
SCOTT 3000 4
KING 5000 5

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=1 Bytes=33)
1 0 VIEW OF 'EMPGRADES' (VIEW) (Cost=9 Card=1 Bytes=33)
2 1 SORT (ORDER BY) (Cost=9 Card=1 Bytes=59)
3 2 MERGE JOIN (Cost=8 Card=1 Bytes=59)
4 3 SORT (JOIN) (Cost=4 Card=5 Bytes=195)
5 4 TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3
Card=5 Bytes=195)

6 3 FILTER
7 6 SORT (JOIN) (Cost=4 Card=14 Bytes=280)
8 7 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Car
d=14 Bytes=280)

SQL> cl scr

SQL> CREATE OR REPLACE VIEW EmpManagers


2 AS
3 SELECT
4 RowNum SerialNo,
5 INITCAP(E.Ename)||' Works Under '
6 ||M.Ename "Employee And Managers"
7 FROM Emp E, Emp M
8 WHERE E.MGR = M.Empno;

View created.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DESC EmpManagers


Name Null? Type
----------------------------------------- -------- ----------------------------
SERIALNO NUMBER
Employee And Managers VARCHAR2(33)

SQL> SELECT * FROM EmpManagers;

SERIALNO Employee And Managers


---------- ---------------------------------
1 Jones Works Under KING
2 Clark Works Under KING
3 Blake Works Under KING
4 Ward Works Under BLAKE
5 James Works Under BLAKE
6 Turner Works Under BLAKE
7 Allen Works Under BLAKE
8 Martin Works Under BLAKE
9 Miller Works Under CLARK
10 Scott Works Under JONES
11 Ford Works Under JONES

SERIALNO Employee And Managers


---------- ---------------------------------
12 Smith Works Under FORD
13 Adams Works Under SCOTT

13 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=13 Bytes=40
3)

1 0 VIEW OF 'EMPMANAGERS' (VIEW) (Cost=7 Card=13 Bytes=403)


2 1 COUNT
3 2 HASH JOIN (Cost=7 Card=13 Bytes=520)
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=280)

5 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14


Bytes=280)

SQL> cl scr

SQL> CREATE OR REPLACE VIEW EmpAccounts


2 AS
3 SELECT
4 Ename,
5 Deptno,
6 Sal Monthly,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7 Sal * 12 Annual
8 FROM Emp
9 WHERE Deptno = (SELECT
10 Deptno
11 FROM Dept
12 WHERE Dname = 'ACCOUNTING')
13 ORDER BY Annual;

View created.

SQL> DESC EmpAccounts


Name Null? Type
----------------------------------------- -------- ----------------------------
ENAME VARCHAR2(10)
DEPTNO NOT NULL NUMBER(2)
MONTHLY NUMBER(7,2)
ANNUAL NUMBER

SQL> SELECT * FROM EmpAccounts;

ENAME DEPTNO MONTHLY ANNUAL


---------- ---------- ---------- ----------
MILLER 10 1300 15600
CLARK 10 2450 29400
KING 10 5000 60000

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=1 Bytes=46)
1 0 VIEW OF 'EMPACCOUNTS' (VIEW) (Cost=7 Card=1 Bytes=46)
2 1 SORT (ORDER BY) (Cost=7 Card=1 Bytes=33)
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 By
tes=33)

4 3 TABLE ACCESS (FULL) OF 'DEPT' (TABLE) (Cost=3 Card=1


Bytes=22)

SQL> cl scr

SQL> CREATE OR REPLACE VIEW CumSum


2 AS
3 SELECT
4 B.Sal,
5 SUM(A.Sal) Cum_Sal
6 FROM Emp A, Emp B
7 WHERE A.RowID <= B.RowID
8 GROUP BY B.RowID, B.Sal;

View created.

SQL> DESC CumSum


Name Null? Type
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

----------------------------------------- -------- ----------------------------


SAL NUMBER(7,2)
CUM_SAL NUMBER

SQL> SELECT * FROM CumSum;

SAL CUM_SAL
---------- ----------
5000 5000
2850 7850
2450 10300
2975 13275
1250 14525
1600 16125
1500 17625
950 18575
1250 19825
3000 22825
800 23625

SAL CUM_SAL
---------- ----------
3000 26625
1100 27725
1300 29025

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=10 Bytes=40
0)

1 0 SORT (GROUP BY) (Cost=9 Card=10 Bytes=400)


2 1 MERGE JOIN (Cost=8 Card=10 Bytes=400)
3 2 SORT (JOIN) (Cost=4 Card=14 Bytes=280)
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=280)

5 2 SORT (JOIN) (Cost=4 Card=14 Bytes=280)


6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=280)

SQL> cl scr

SQL> CREATE OR REPLACE VIEW OrgDesignations


2 AS
3 SELECT
4 Job
5 FROM Emp
6 WHERE Deptno = 10
7 UNION
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

8 SELECT
9 Job
10 FROM Emp
11 WHERE Deptno IN(20, 30);

View created.

SQL> SELECT * FROM OrgDesignations;

JOB
---------
ANALYST
CLERK
MANAGER
PRESIDENT
SALESMAN

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=14 Bytes=84
)

1 0 VIEW OF 'ORGDESIGNATIONS' (VIEW) (Cost=8 Card=14 Bytes=84)


2 1 SORT (UNIQUE) (Cost=8 Card=14 Bytes=266)
3 2 UNION-ALL
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3
Bytes=57)

5 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=11


Bytes=209)

SQL> cl scr

SQL> cl scr

SQL> DESC USER_VIEWS


Name Null? Type
----------------------------------------- -------- ----------------------------
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG
TYPE_TEXT_LENGTH NUMBER
TYPE_TEXT VARCHAR2(4000)
OID_TEXT_LENGTH NUMBER
OID_TEXT VARCHAR2(4000)
VIEW_TYPE_OWNER VARCHAR2(30)
VIEW_TYPE VARCHAR2(30)
SUPERVIEW_NAME VARCHAR2(30)

SQL> COLUMN VIEW_NAME FORMAT A20


SQL> COLUMN TEXT FORMAT A40
SQL> SELECT VIEW_NAME, TEXT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 FROM USER_VIEWS
3 WHERE VIEW_NAME = 'EMPACCOUNTS';

VIEW_NAME TEXT
-------------------- ----------------------------------------
EMPACCOUNTS SELECT
Ename,
Deptno,
Sal Monthly,
Sal * 12 Annual
FROM Emp
WHERE Deptno =

Execution Plan
----------------------------------------------------------
ERROR:
ORA-01039: insufficient privileges on underlying objects of the view

SP2-0612: Error generating AUTOTRACE EXPLAIN report


SQL> SET LONG 300
SQL> SELECT VIEW_NAME, TEXT
2 FROM USER_VIEWS
3 WHERE VIEW_NAME = 'EMPACCOUNTS';

VIEW_NAME TEXT
-------------------- ----------------------------------------
EMPACCOUNTS SELECT
Ename,
Deptno,
Sal Monthly,
Sal * 12 Annual
FROM Emp
WHERE Deptno = (SELECT
Deptno
FROM Dept
WHERE Dname = 'ACCOUNTING')
ORDER BY Annual

VIEW_NAME TEXT
-------------------- ----------------------------------------

Execution Plan
----------------------------------------------------------
ERROR:
ORA-01039: insufficient privileges on underlying objects of the view

SP2-0612: Error generating AUTOTRACE EXPLAIN report


SQL> cl scr

SQL> CREATE VIEW DeptSalSummary


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 (
3 DepartmentName,
4 MinimumSalary,
5 MaxSalary,
6 AverageSalary,
7 SalarySum
8 )
9 AS
10 SELECT
11 D.Dname,
12 MIN(E.Sal),
13 MAX(E.Sal),
14 AVG(E.Sal),
15 SUM(E.Sal)
16 FROM Emp E, Dept D
17 WHERE E.Deptno = D.Deptno
18 GROUP BY D.Dname;

View created.

SQL> DESC DeptSalSummary


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPARTMENTNAME VARCHAR2(14)
MINIMUMSALARY NUMBER
MAXSALARY NUMBER
AVERAGESALARY NUMBER
SALARYSUM NUMBER

SQL> ED
Wrote file afiedt.buf

1 CREATE OR REPLACE VIEW DeptSalSummary


2 AS
3 SELECT
4 D.Dname,
5 MIN(E.Sal),
6 MAX(E.Sal),
7 AVG(E.Sal),
8 SUM(E.Sal)
9 FROM Emp E, Dept D
10 WHERE E.Deptno = D.Deptno
11* GROUP BY D.Dname
SQL> /
MIN(E.Sal),
*
ERROR at line 5:
ORA-00998: must name this expression with a column alias

SQL> SPOOL OFF


SQL> cl scr

SQL> CREATE VIEW InsertDept


2 (
3 DeptID,
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 DeptName,
5 Place
6 )
7 AS
8 SELECT
9 Deptno,
10 Dname,
11 Loc
12 FROM Dept;

View created.

SQL> DESC InsertDept


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTID NOT NULL NUMBER(2)
DEPTNAME VARCHAR2(14)
PLACE VARCHAR2(13)

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> SELECT * FROM InsertDept;

DEPTID DEPTNAME PLACE


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> INSERT INTO InsertDept


2 VALUES(50, 'SHIPPING', 'CHENNAI');

1 row created.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI

SQL> UPDATE InsertDept


2 SET Dname = 'CARGO'
3 WHERE Deptno = 50;
WHERE Deptno = 50
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

*
ERROR at line 3:
ORA-00904: "DEPTNO": invalid identifier

SQL> UPDATE InsertDept


2 SET DEPTNAME = 'CARGO'
3 WHERE DEPTID = 50;

1 row updated.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 CARGO CHENNAI

SQL> DELETE FROM InsertDept


2 WHERE DeptID = 50;

1 row deleted.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> cl scr

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN Deptno FORMAT 99
SQL> COLUMN Sal FORMAT 9999
SQL> COLUMN Comm FORMAT 9999
SQL> cl scr

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7566 JONES MANAGER 7839 02-APR-81 2975 20


7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> CREATE OR REPLACE VIEW EDept30


2 AS
3 SELECT *
4 FROM Emp
5 WHERE Deptno = 30;

View created.

SQL> DESC EDept30


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

SQL> SELECT * FROM EDept30;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ----- ----- ------
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30

6 rows selected.

SQL> SELECT * FROM EDept30


2 WHERE Ename = 'JONES';

no rows selected

SQL> SELECT * FROM EDept30


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 WHERE Job = 'MANAGER';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ---------- --------- ----- ----- ------
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30

SQL> cl scr

SQL> DESC EDept30


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

SQL> UPDATE EDept30


2 SET Sal = Sal + 1000
3 WHERE Empno = 7566;

0 rows updated.

SQL> UPDATE EDept30


2 SET Sal = Sal + 1000
3 WHERE Empno = 7654;

1 row updated.

SQL> DELETE FROM EDept30


2 WHERE Ename = 'JONES';

0 rows deleted.

SQL> DELETE FROM EDept30


2 WHERE Ename = 'TURNER';

1 row deleted.

SQL> INSERT INTO EDept30


2 (Empno, Ename, Sal, Job, Deptno)
3 VALUES(1234, 'SAMPLE01', 2500, 'CLERK', 30);

1 row created.

SQL> (Empno, Ename, Sal, Job, Deptno)


2
SQL> INSERT INTO EDept30
2 (Empno, Ename, Sal, Job, Deptno)
3 VALUES(1235, 'SAMPLE02', 2500, 'CLERK', 20);

1 row created.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE OR REPLACE VIEW EDept30


2 AS
3 SELECT *
4 FROM Emp
5 WHERE Deptno = 30
6 WITH CHECK OPTION CONSTRAINT EDept30ChkView;

View created.

SQL> INSERT INTO EDept30


2 (Empno, Ename, Sal, Job, Deptno)
3 VALUES(1236, 'SAMPLE03', 2500, 'CLERK', 20);
INSERT INTO EDept30
*
ERROR at line 1:
ORA-01402: view WITH CHECK OPTION where-clause violation

SQL> cl scr

SQL> CREATE OR REPLACE VIEW EDept30


2 AS
3 SELECT *
4 FROM Emp
5 WHERE Deptno = 30
6 WITH READ ONLY;

View created.

SQL> INSERT INTO EDept30


2 (Empno, Ename, Sal, Job, Deptno)
3 VALUES(1236, 'SAMPLE03', 2500, 'CLERK', 20);
(Empno, Ename, Sal, Job, Deptno)
*
ERROR at line 2:
ORA-01733: virtual column not allowed here

SQL> DELETE FROM EDept30


2 WHERE Ename = 'TURNER';
DELETE FROM EDept30
*
ERROR at line 1:
ORA-01752: cannot delete from view without exactly one key-preserved table

SQL> UPDATE EDept30


2 SET Sal = Sal + 1000
3 WHERE Ename = 'TURNER';
SET Sal = Sal + 1000
*
ERROR at line 2:
ORA-01733: virtual column not allowed here

SQL> cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE MyMasterDF


2 (
3 MastID NUMBER(2)
4 CONSTRAINT MastIDDFPK PRIMARY KEY
5 INITIALLY DEFERRED DEFERRABLE,
6 MastName VARCHAR2(10)
7 CONSTRAINT MastNameDFCHK
8 CHECK(MastName = UPPER(MastName))
9 INITIALLY DEFERRED DEFERRABLE,
10 MastDate DATE
11 CONSTRAINT MastDateDFNN NOT NULL
12 INITIALLY DEFERRED DEFERRABLE
13 );

Table created.

SQL> INSERT INTO


2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(10, 'MASTER10', '10-OCT-07');

1 row created.

SQL> INSERT INTO


2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(11, 'MASTER11', '11-OCT-07');

1 row created.

SQL> INSERT INTO


2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(12, 'MASTER12', '12-OCT-07');

1 row created.

SQL> INSERT INTO


2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(10, 'MASTER10', '10-OCT-07');

1 row created.

SQL> INSERT INTO


2 MyMasterDF(MastID, MastName, MastDate)
3 VALUES(12, 'MASTER12', '12-OCT-07');

1 row created.

SQL> COMMIT;
COMMIT
*
ERROR at line 1:
ORA-02091: transaction rolled back
ORA-00001: unique constraint (SCOTT.MASTIDDFPK) violated

SQL> SPOOL OFF


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> DESC Emp


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

SQL> CREATE INDEX EmpEmpnoIDX


2 ON Emp(Empno);
ON Emp(Empno)
*
ERROR at line 2:
ORA-01408: such column list already indexed

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN Deptno FORMAT 99
SQL> COLUMN MGR FORMAT 9999
SQL> COLUMN Sal FORMAT 9999
SQL> COLUMN Comm FORMAT 9999
SQL> cl scr

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT * FROM Emp


2 WHERE Empno = 7566;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

SQL> cl scr

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)

2 1 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Ename = 'JONES';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=87)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
87)

SQL> CREATE INDEX EmpEnameIDX


2 ON Emp(Ename);

Index created.

SQL> SELECT *
2 FROM Emp
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 WHERE Ename = 'JONES';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=87)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=87)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=1 Card


=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)

2 1 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> cl scr

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 1 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno > 7566;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

10 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=10 Bytes=87
0)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=10 Bytes


=870)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno < 7566;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7369 SMITH CLERK 7902 17-DEC-80 800 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=3 Bytes=261
)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Bytes=


261)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT *
2
SQL> SELECT *
2 FROM Emp
3 WHERE Empno <> 7566;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

13 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=13 Bytes=11
31)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=13 Bytes


=1131)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 OR Empno = 7839 OR Empno = 7782;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7839 KING PRESIDENT 17-NOV-81 5000 10

Execution Plan
----------------------------------------------------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=261


)

1 0 INLIST ITERATOR
2 1 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 C
ard=3 Bytes=261)

3 2 INDEX (RANGE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE


)) (Cost=2 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno IN(7566, 7839, 7782);

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7839 KING PRESIDENT 17-NOV-81 5000 10

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=261
)

1 0 INLIST ITERATOR
2 1 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 C
ard=3 Bytes=261)

3 2 INDEX (RANGE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE


)) (Cost=2 Card=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 AND Empno = 7654;

no rows selected

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1 0 FILTER
2 1 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 C
ard=1 Bytes=87)

3 2 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQU


E)) (Cost=1 Card=1)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 AND Ename = 'JONES';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=87)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=87)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=1 Card


=1)

SQL> SELECT *
2 FROM Emp
3 WHERE Empno = 7566 OR Ename = 'JONES';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7566 JONES MANAGER 7839 02-APR-81 2975 20

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=87)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=3 Car
d=1 Bytes=87)

2 1 BITMAP CONVERSION (TO ROWIDS)


3 2 BITMAP OR
4 3 BITMAP CONVERSION (FROM ROWIDS)
5 4 INDEX (RANGE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UN
IQUE)) (Cost=1)

6 3 BITMAP CONVERSION (FROM ROWIDS)


7 6 INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=
1)

SQL> SPOOL OFF


SQL> cl scr

SQL> CREATE INDEX EmpEnameJobIDX


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 AS
3
SQL> CREATE INDEX EmpEnameJobIDX
2 ON Emp(Ename, Job);

Index created.

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
JONES 2975 20 MANAGER 02-APR-81

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Job = 'MANAGER';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
BLAKE 2850 30 MANAGER 01-MAY-81
CLARK 2450 10 MANAGER 09-JUN-81
JONES 2975 20 MANAGER 02-APR-81

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT Ename, Sal, Deptno, Job, HireDate
2 FROM Emp
3 WHERE Ename = 'JONES';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
JONES 2975 20 MANAGER 02-APR-81

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3* WHERE Empno = 7566
SQL> /

EMPNO ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- ---------- --------- ---------
7566 JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=61)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=61)

2 1 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

SQL> ED
Wrote file afiedt.buf

1 SELECT Empno, Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3* WHERE Empno = 7566 AND Ename = 'JONES'
SQL> /

EMPNO ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- ---------- --------- ---------
7566 JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=61)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=61)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES' AND Job = 'MANAGER';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> CREATE INDEX EmpEnameIDX


2 ON Emp(Ename);

Index created.

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES' AND Job = 'MANAGER';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Ename = 'JONES';
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=48)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=48)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEIDX' (INDEX) (Cost=1 Card


=1)

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Job = 'MANAGER';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
BLAKE 2850 30 MANAGER 01-MAY-81
CLARK 2450 10 MANAGER 09-JUN-81
JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=3 Bytes=144
)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=3 Bytes=


144)

SQL> CREATE INDEX EmpJobEnameIDX


2 ON Emp(Job, Ename);

Index created.

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Job = 'MANAGER';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
BLAKE 2850 30 MANAGER 01-MAY-81
CLARK 2450 10 MANAGER 09-JUN-81
JONES 2975 20 MANAGER 02-APR-81

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=144
)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car


d=3 Bytes=144)

2 1 INDEX (RANGE SCAN) OF 'EMPJOBENAMEIDX' (INDEX) (Cost=1 C


ard=3)

SQL> CREATE INDEX EmpJobIDX


2 ON Emp(Job);

Index created.

SQL> SELECT Ename, Sal, Deptno, Job, HireDate


2 FROM Emp
3 WHERE Job = 'MANAGER';

ENAME SAL DEPTNO JOB HIREDATE


---------- ---------- ---------- --------- ---------
BLAKE 2850 30 MANAGER 01-MAY-81
CLARK 2450 10 MANAGER 09-JUN-81
JONES 2975 20 MANAGER 02-APR-81

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=3 Bytes=144
)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car


d=3 Bytes=144)

2 1 INDEX (RANGE SCAN) OF 'EMPJOBENAMEIDX' (INDEX) (Cost=1 C


ard=3)

SQL> cl scr

SQL> CREATE UNIQUE INDEX EmpEnameUNQIDX


2 ON Emp(Ename);
ON Emp(Ename)
*
ERROR at line 2:
ORA-01408: such column list already indexed

SQL> DROP INDEX EmpEnameIDX;

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Index dropped.

SQL> CREATE UNIQUE INDEX EmpEnameUNQIDX


2 ON Emp(Ename);

Index created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Job)


2 VALUES(1234, 'ADAMS', 30, 'CLERK');
INSERT INTO Emp(Empno, Ename, Deptno, Job)
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.EMPENAMEUNQIDX) violated

SQL> DROP INDEX EmpEnameUNQIDX;

Index dropped.

SQL> cl scr

SQL> CREATE UNIQUE INDEX EmpDeptnoUNQIDX


2 ON Emp(Deptno);
ON Emp(Deptno)
*
ERROR at line 2:
ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found

SQL> cl scr

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT ROWID, Empno, Ename, Sal


2 FROM Emp;

ROWID EMPNO ENAME SAL


------------------ ---------- ---------- ----------
AAAMcCAAEAAAAHPAAA 7839 KING 5000
AAAMcCAAEAAAAHPAAB 7698 BLAKE 2850
AAAMcCAAEAAAAHPAAC 7782 CLARK 2450
AAAMcCAAEAAAAHPAAD 7566 JONES 2975
AAAMcCAAEAAAAHPAAE 7654 MARTIN 1250
AAAMcCAAEAAAAHPAAF 7499 ALLEN 1600
AAAMcCAAEAAAAHPAAG 7844 TURNER 1500
AAAMcCAAEAAAAHPAAH 7900 JAMES 950
AAAMcCAAEAAAAHPAAI 7521 WARD 1250
AAAMcCAAEAAAAHPAAJ 7902 FORD 3000
AAAMcCAAEAAAAHPAAK 7369 SMITH 800

ROWID EMPNO ENAME SAL


------------------ ---------- ---------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

AAAMcCAAEAAAAHPAAL 7788 SCOTT 3000


AAAMcCAAEAAAAHPAAM 7876 ADAMS 1100
AAAMcCAAEAAAAHPAAN 7934 MILLER 1300

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=56
0)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=560)

SQL> cl scr

SQL> SELECT ROWID, Empno, Ename, Deptno


2 FROM Emp;

ROWID EMPNO ENAME DEPTNO


------------------ ---------- ---------- ----------
AAAMcCAAEAAAAHPAAA 7839 KING 10
AAAMcCAAEAAAAHPAAB 7698 BLAKE 30
AAAMcCAAEAAAAHPAAC 7782 CLARK 10
AAAMcCAAEAAAAHPAAD 7566 JONES 20
AAAMcCAAEAAAAHPAAE 7654 MARTIN 30
AAAMcCAAEAAAAHPAAF 7499 ALLEN 30
AAAMcCAAEAAAAHPAAG 7844 TURNER 30
AAAMcCAAEAAAAHPAAH 7900 JAMES 30
AAAMcCAAEAAAAHPAAI 7521 WARD 30
AAAMcCAAEAAAAHPAAJ 7902 FORD 20
AAAMcCAAEAAAAHPAAK 7369 SMITH 20

ROWID EMPNO ENAME DEPTNO


------------------ ---------- ---------- ----------
AAAMcCAAEAAAAHPAAL 7788 SCOTT 20
AAAMcCAAEAAAAHPAAM 7876 ADAMS 20
AAAMcCAAEAAAAHPAAN 7934 MILLER 10

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=56
0)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=560)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm) TotSal


2 FROM Emp
3 WHERE Sal + NVL(Comm) > 2000;
SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm) TotSal
*
ERROR at line 1:
ORA-00909: invalid number of arguments

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3* WHERE Sal + NVL(Comm, 0) > 2000
SQL> /

ENAME DEPTNO SAL COMM TOTSAL


---------- ---------- ---------- ---------- ----------
KING 10 5000 5000
BLAKE 30 2850 2850
CLARK 10 2450 2450
JONES 20 2975 2975
MARTIN 30 1250 1400 2650
FORD 20 3000 3000
SCOTT 20 3000 3000

7 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=7 Bytes=322
)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=7 Bytes=


322)

SQL> CREATE INDEX EmpTotSalIDX


2 ON Emp(Sal + NVL(Comm, 0));

Index created.

SQL> SELECT Ename, Deptno, Sal, Comm, Sal + NVL(Comm, 0) TotSal


2 FROM Emp
3 WHERE Sal + NVL(Comm, 0) > 2000;

ENAME DEPTNO SAL COMM TOTSAL


---------- ---------- ---------- ---------- ----------
CLARK 10 2450 2450
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MARTIN 30 1250 1400 2650


BLAKE 30 2850 2850
JONES 20 2975 2975
FORD 20 3000 3000
SCOTT 20 3000 3000
KING 10 5000 5000

7 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=7 Bytes=322
)

1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car


d=7 Bytes=322)

2 1 INDEX (RANGE SCAN) OF 'EMPTOTSALIDX' (INDEX) (Cost=1 Car


d=1)

SQL> SELECT Ename, Sal, Sal * 12 AnnSal


2 FROM Emp
3 WHERE Sal * 12 > 35000;

ENAME SAL ANNSAL


---------- ---------- ----------
KING 5000 60000
JONES 2975 35700
FORD 3000 36000
SCOTT 3000 36000

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=4 Bytes=80)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=4 Bytes=
80)

SQL> CREATE INDEX EmpAnnSalIDX


2 ON Emp(Sal * 12);

Index created.

SQL> SELECT Ename, Sal, Sal * 12 AnnSal


2 FROM Emp
3 WHERE Sal * 12 > 35000;

ENAME SAL ANNSAL


---------- ---------- ----------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

JONES 2975 35700


FORD 3000 36000
SCOTT 3000 36000
KING 5000 60000

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=4 Bytes=80)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=4 Bytes=80)

2 1 INDEX (RANGE SCAN) OF 'EMPANNSALIDX' (INDEX) (Cost=1 Car


d=1)

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE LOWER(Ename) = 'smith';

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SMITH 800 20 CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=39)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=1 Bytes=
39)

SQL> CREATE INDEX EmpEnameLIDX


2 ON Emp(LOWER(Ename));

Index created.

SQL> CREATE INDEX EmpEnameUIDX


2 ON Emp(UPPER(Ename));

Index created.

SQL> CREATE INDEX EmpEnameIIDX


2 ON Emp(INITCAP(Ename));

Index created.

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE LOWER(Ename) = 'smith';

ENAME SAL DEPTNO JOB


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

---------- ---------- ---------- ---------


SMITH 800 20 CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=39)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=39)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMELIDX' (INDEX) (Cost=1 Car


d=1)

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE INITCAP(Ename) = 'Smith';

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SMITH 800 20 CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=39)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=39)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEIIDX' (INDEX) (Cost=1 Car


d=1)

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp
3 WHERE Ename = UPPER('smith');

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SMITH 800 20 CLERK

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=39)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=2 Car
d=1 Bytes=39)

2 1 INDEX (RANGE SCAN) OF 'EMPENAMEJOBIDX' (INDEX) (Cost=1 C


ard=1)

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT Ename, HireDate, TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12)


EmpExp
2 FROM Emp
3 WHERE TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12) > 28;

ENAME HIREDATE EMPEXP


---------- --------- ----------
BLAKE 01-MAY-81 29
CLARK 09-JUN-81 29
JONES 02-APR-81 29
ALLEN 20-FEB-81 29
WARD 22-FEB-81 29
SMITH 17-DEC-80 29

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=6 Bytes=96)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=6 Bytes=
96)

SQL> CREATE INDEX EmpEmpExpIDX


2 ON Emp(TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12));
ON Emp(TRUNC(MONTHS_BETWEEN(SYSDATE, HireDate) / 12))
*
ERROR at line 2:
ORA-01743: only pure functions can be indexed

SQL> cl scr

SQL> DESC USER_INDEXES


Name Null? Type
----------------------------------------- -------- ----------------------------
INDEX_NAME NOT NULL VARCHAR2(30)
INDEX_TYPE VARCHAR2(27)
TABLE_OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
TABLE_TYPE VARCHAR2(11)
UNIQUENESS VARCHAR2(9)
COMPRESSION VARCHAR2(8)
PREFIX_LENGTH NUMBER
TABLESPACE_NAME VARCHAR2(30)
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NUMBER
MAX_EXTENTS NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

PCT_INCREASE NUMBER
PCT_THRESHOLD NUMBER
INCLUDE_COLUMN NUMBER
FREELISTS NUMBER
FREELIST_GROUPS NUMBER
PCT_FREE NUMBER
LOGGING VARCHAR2(3)
BLEVEL NUMBER
LEAF_BLOCKS NUMBER
DISTINCT_KEYS NUMBER
AVG_LEAF_BLOCKS_PER_KEY NUMBER
AVG_DATA_BLOCKS_PER_KEY NUMBER
CLUSTERING_FACTOR NUMBER
STATUS VARCHAR2(8)
NUM_ROWS NUMBER
SAMPLE_SIZE NUMBER
LAST_ANALYZED DATE
DEGREE VARCHAR2(40)
INSTANCES VARCHAR2(40)
PARTITIONED VARCHAR2(3)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
BUFFER_POOL VARCHAR2(7)
USER_STATS VARCHAR2(3)
DURATION VARCHAR2(15)
PCT_DIRECT_ACCESS NUMBER
ITYP_OWNER VARCHAR2(30)
ITYP_NAME VARCHAR2(30)
PARAMETERS VARCHAR2(1000)
GLOBAL_STATS VARCHAR2(3)
DOMIDX_STATUS VARCHAR2(12)
DOMIDX_OPSTATUS VARCHAR2(6)
FUNCIDX_STATUS VARCHAR2(8)
JOIN_INDEX VARCHAR2(3)
IOT_REDUNDANT_PKEY_ELIM VARCHAR2(3)
DROPPED VARCHAR2(3)

SQL> DESC USER_IND_COLUMNS


Name Null? Type
----------------------------------------- -------- ----------------------------
INDEX_NAME VARCHAR2(30)
TABLE_NAME VARCHAR2(30)
COLUMN_NAME VARCHAR2(4000)
COLUMN_POSITION NUMBER
COLUMN_LENGTH NUMBER
CHAR_LENGTH NUMBER
DESCEND VARCHAR2(4)

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SET SQLPROMPT DBASEC>


DBASEC>cl scr

DBASEC>COLUMN Empno FORMAT 9999


DBASEC>COLUMN MGR FORMAT 9999
DBASEC>COLUMN Sal FORMAT 9999
DBASEC>COLUMN Comm FORMAT 9999
DBASEC>COLUMN Deptno FORMAT 99
DBASEC>cl scr

DBASEC>SELECT * FROM Emp;


SELECT * FROM Emp
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>DESC TAB
Name Null? Type
----------------------------------------- -------- ----------------------------
TNAME NOT NULL VARCHAR2(30)
TABTYPE VARCHAR2(7)
CLUSTERID NUMBER

DBASEC>SELECT * FROM TAB;

no rows selected

DBASEC>DESC USER_TABLES
Name Null? Type
----------------------------------------- -------- ----------------------------
TABLE_NAME NOT NULL VARCHAR2(30)
TABLESPACE_NAME VARCHAR2(30)
CLUSTER_NAME VARCHAR2(30)
IOT_NAME VARCHAR2(30)
PCT_FREE NUMBER
PCT_USED NUMBER
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NUMBER
MAX_EXTENTS NUMBER
PCT_INCREASE NUMBER
FREELISTS NUMBER
FREELIST_GROUPS NUMBER
LOGGING VARCHAR2(3)
BACKED_UP VARCHAR2(1)
NUM_ROWS NUMBER
BLOCKS NUMBER
EMPTY_BLOCKS NUMBER
AVG_SPACE NUMBER
CHAIN_CNT NUMBER
AVG_ROW_LEN NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

AVG_SPACE_FREELIST_BLOCKS NUMBER
NUM_FREELIST_BLOCKS NUMBER
DEGREE VARCHAR2(10)
INSTANCES VARCHAR2(10)
CACHE VARCHAR2(5)
TABLE_LOCK VARCHAR2(8)
SAMPLE_SIZE NUMBER
LAST_ANALYZED DATE
PARTITIONED VARCHAR2(3)
IOT_TYPE VARCHAR2(12)
TEMPORARY VARCHAR2(1)
SECONDARY VARCHAR2(1)
NESTED VARCHAR2(3)
BUFFER_POOL VARCHAR2(7)
ROW_MOVEMENT VARCHAR2(8)
GLOBAL_STATS VARCHAR2(3)
USER_STATS VARCHAR2(3)
DURATION VARCHAR2(15)
SKIP_CORRUPT VARCHAR2(8)
MONITORING VARCHAR2(3)
CLUSTER_OWNER VARCHAR2(30)
DEPENDENCIES VARCHAR2(8)
COMPRESSION VARCHAR2(8)
DROPPED VARCHAR2(3)

DBASEC>SELECT * FROM USER_TABLES;

no rows selected

DBASEC>DESC USER_TAB_COLUMNS
Name Null? Type
----------------------------------------- -------- ----------------------------
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME NOT NULL VARCHAR2(30)
DATA_TYPE VARCHAR2(106)
DATA_TYPE_MOD VARCHAR2(3)
DATA_TYPE_OWNER VARCHAR2(30)
DATA_LENGTH NOT NULL NUMBER
DATA_PRECISION NUMBER
DATA_SCALE NUMBER
NULLABLE VARCHAR2(1)
COLUMN_ID NUMBER
DEFAULT_LENGTH NUMBER
DATA_DEFAULT LONG
NUM_DISTINCT NUMBER
LOW_VALUE RAW(32)
HIGH_VALUE RAW(32)
DENSITY NUMBER
NUM_NULLS NUMBER
NUM_BUCKETS NUMBER
LAST_ANALYZED DATE
SAMPLE_SIZE NUMBER
CHARACTER_SET_NAME VARCHAR2(44)
CHAR_COL_DECL_LENGTH NUMBER
GLOBAL_STATS VARCHAR2(3)
USER_STATS VARCHAR2(3)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

AVG_COL_LEN NUMBER
CHAR_LENGTH NUMBER
CHAR_USED VARCHAR2(1)
V80_FMT_IMAGE VARCHAR2(3)
DATA_UPGRADED VARCHAR2(3)
HISTOGRAM VARCHAR2(15)

DBASEC>SELECT * FROM USER_TAB_COLUMNS;

no rows selected

DBASEC>DESC USER_CONSTRAINTS
Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
CONSTRAINT_NAME NOT NULL VARCHAR2(30)
CONSTRAINT_TYPE VARCHAR2(1)
TABLE_NAME NOT NULL VARCHAR2(30)
SEARCH_CONDITION LONG
R_OWNER VARCHAR2(30)
R_CONSTRAINT_NAME VARCHAR2(30)
DELETE_RULE VARCHAR2(9)
STATUS VARCHAR2(8)
DEFERRABLE VARCHAR2(14)
DEFERRED VARCHAR2(9)
VALIDATED VARCHAR2(13)
GENERATED VARCHAR2(14)
BAD VARCHAR2(3)
RELY VARCHAR2(4)
LAST_CHANGE DATE
INDEX_OWNER VARCHAR2(30)
INDEX_NAME VARCHAR2(30)
INVALID VARCHAR2(7)
VIEW_RELATED VARCHAR2(14)

DBASEC>SELECT * FROM USER_CONSTRAINTS;

no rows selected

DBASEC>DESC USER_INDEXES
Name Null? Type
----------------------------------------- -------- ----------------------------
INDEX_NAME NOT NULL VARCHAR2(30)
INDEX_TYPE VARCHAR2(27)
TABLE_OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
TABLE_TYPE VARCHAR2(11)
UNIQUENESS VARCHAR2(9)
COMPRESSION VARCHAR2(8)
PREFIX_LENGTH NUMBER
TABLESPACE_NAME VARCHAR2(30)
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NUMBER
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MAX_EXTENTS NUMBER
PCT_INCREASE NUMBER
PCT_THRESHOLD NUMBER
INCLUDE_COLUMN NUMBER
FREELISTS NUMBER
FREELIST_GROUPS NUMBER
PCT_FREE NUMBER
LOGGING VARCHAR2(3)
BLEVEL NUMBER
LEAF_BLOCKS NUMBER
DISTINCT_KEYS NUMBER
AVG_LEAF_BLOCKS_PER_KEY NUMBER
AVG_DATA_BLOCKS_PER_KEY NUMBER
CLUSTERING_FACTOR NUMBER
STATUS VARCHAR2(8)
NUM_ROWS NUMBER
SAMPLE_SIZE NUMBER
LAST_ANALYZED DATE
DEGREE VARCHAR2(40)
INSTANCES VARCHAR2(40)
PARTITIONED VARCHAR2(3)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
BUFFER_POOL VARCHAR2(7)
USER_STATS VARCHAR2(3)
DURATION VARCHAR2(15)
PCT_DIRECT_ACCESS NUMBER
ITYP_OWNER VARCHAR2(30)
ITYP_NAME VARCHAR2(30)
PARAMETERS VARCHAR2(1000)
GLOBAL_STATS VARCHAR2(3)
DOMIDX_STATUS VARCHAR2(12)
DOMIDX_OPSTATUS VARCHAR2(6)
FUNCIDX_STATUS VARCHAR2(8)
JOIN_INDEX VARCHAR2(3)
IOT_REDUNDANT_PKEY_ELIM VARCHAR2(3)
DROPPED VARCHAR2(3)

DBASEC>SELECT * FROM USER_INDEXES;

no rows selected

DBASEC>DESC USER_VIEWS
Name Null? Type
----------------------------------------- -------- ----------------------------
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG
TYPE_TEXT_LENGTH NUMBER
TYPE_TEXT VARCHAR2(4000)
OID_TEXT_LENGTH NUMBER
OID_TEXT VARCHAR2(4000)
VIEW_TYPE_OWNER VARCHAR2(30)
VIEW_TYPE VARCHAR2(30)
SUPERVIEW_NAME VARCHAR2(30)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SELECT * FROM USER_VIEWS;

no rows selected

DBASEC>DESC USER_SEQUENCES
Name Null? Type
----------------------------------------- -------- ----------------------------
SEQUENCE_NAME NOT NULL VARCHAR2(30)
MIN_VALUE NUMBER
MAX_VALUE NUMBER
INCREMENT_BY NOT NULL NUMBER
CYCLE_FLAG VARCHAR2(1)
ORDER_FLAG VARCHAR2(1)
CACHE_SIZE NOT NULL NUMBER
LAST_NUMBER NOT NULL NUMBER

DBASEC>SELECT * FROM USER_SEQUENCES;

no rows selected

DBASEC>cl scr

DBASEC>CREATE TABLE SampleTAB


2 (
3 SampID NUMBER(2),
4 SampName VARCHAR2(10),
5 SampDate DATE
6 );
CREATE TABLE SampleTAB
*
ERROR at line 1:
ORA-01031: insufficient privileges

DBASEC>cl scr

DBASEC>SELECT * FROM TAB;

no rows selected

DBASEC>DESC USER_OBJECTS
Name Null? Type
----------------------------------------- -------- ----------------------------
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SELECT * FROM USER_OBJECTS;

no rows selected

DBASEC>cl scr

DBASEC>SELECT * FROM TAB;

no rows selected

DBASEC>SELECT * FROM Emp;


SELECT * FROM Emp
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

DBASEC>SELECT * FROM SCOTT.Dept;


SELECT * FROM SCOTT.Dept
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>DELETE FROM SCOTT.Emp


2 WHERE SCOTT.Emp.Empno = 7654;
DELETE FROM SCOTT.Emp
*
ERROR at line 1:
ORA-01031: insufficient privileges

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SPOOL OFF
SQL> SET SQLPROMPT DBASEC>
DBASEC>cl scr

DBASEC>DESC USER_TAB_PRIVS_RECD
Name Null? Type
----------------------------------------- -------- ----------------------------
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
GRANTOR NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
GRANTABLE VARCHAR2(3)
HIERARCHY VARCHAR2(3)

DBASEC>COLUMN OWNER FORMAT A15


DBASEC>COLUMN "Table" FORMAT A15
DBASEC>COLUMN GRANTOR FORMAT A15
DBASEC>COLUMN PRIVILEGE FORMAT A15
DBASEC>SELECT
2 OWNER,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;

no rows selected

DBASEC>cl scr

DBASEC>SELECT * FROM TAB;

no rows selected

DBASEC>COLUMN Empno FORMAT 9999


DBASEC>COLUMN Sal FORMAT 9999
DBASEC>COLUMN Comm FORMAT 9999
DBASEC>COLUMN MGR FORMAT 9999
DBASEC>COLUMN Deptno FORMAT 99
DBASEC>cl scr

DBASEC>SELECT
2 OWNER,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;

OWNER Table GRANTOR PRIVILEGE


--------------- --------------- --------------- ---------------
SCOTT EMP SCOTT SELECT

DBASEC>SELECT * FROM Emp;


SELECT * FROM Emp
*
ERROR at line 1:
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

DBASEC>SELECT
2 OWNER,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;

OWNER Table GRANTOR PRIVILEGE


--------------- --------------- --------------- ---------------
SCOTT DEPT SCOTT DELETE
SCOTT DEPT SCOTT SELECT
SCOTT EMP SCOTT SELECT

DBASEC>SELECT * FROM SCOTT.Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

DBASEC>DELETE FROM SCOTT.Dept


2 WHERE SCOTT.Dept.Deptno = 30;
DELETE FROM SCOTT.Dept
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.EMP_FOREIGN_KEY) violated - child record
found
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>DELETE FROM SCOTT.Dept


2 WHERE SCOTT.Dept.Deptno = 40;

1 row deleted.

DBASEC>SELECT * FROM SCOTT.Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO

DBASEC>SELECT * FROM SCOTT.Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO

DBASEC>ROLLBACK;

Rollback complete.

DBASEC>SELECT * FROM SCOTT.Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

DBASEC>INSERT INTO SCOTT.Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');

1 row created.

DBASEC>SELECT * FROM SCOTT.Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI

DBASEC>ROLLBACK;

Rollback complete.

DBASEC>SELECT * FROM SCOTT.Dept;


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

DBASEC>INSERT INTO SCOTT.Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');
INSERT INTO SCOTT.Dept
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.DEPT_PRIMARY_KEY) violated

DBASEC>SELECT
2 OWNER,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;

no rows selected

DBASEC>cl scr

DBASEC>SELECT
2 OWNER,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_RECD;

no rows selected

DBASEC>SELECT * FROM SCOTT.Emp;


SELECT * FROM SCOTT.Emp
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>CONN HR/HR
Connected.
DBASEC>CONN DBASEC/DBASEC
Connected.
DBASEC>SELECT * FROM SCOTT.Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30


7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

DBASEC>SELECT * FROM SCOTT.Dept;


SELECT * FROM SCOTT.Dept
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Dept;

DEPTNO DNAME LOC


------ -------------- -------------
50 SHIPPING CHENNAI
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

DBASEC>SELECT * FROM SCOTT.Emp;


SELECT * FROM SCOTT.Emp
*
ERROR at line 1:
ORA-01031: insufficient privileges

DBASEC>SELECT
2 USERNAME,
3 GRANTED_ROLE
4 FROM USER_ROLE_PRIVS;

USERNAME GRANTED_ROLE
------------------------------ ------------------------------
DBASEC EMPSEC

DBASEC>SELECT
2 ROLE,
3 PRIVILEGE
4 FROM ROLE_TAB_PRIVS;

no rows selected

DBASEC>cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>SELECT * FROM Employee;


SELECT * FROM Employee
*
ERROR at line 1:
ORA-00942: table or view does not exist

DBASEC>SELECT * FROM SCOTT.Employee;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

DBASEC>SELECT * FROM Employee;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DBASEC>DESC Employee
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

DBASEC>SELECT * FROM TAB;

no rows selected

DBASEC>SELECT * FROM USER_OBJECTS;

no rows selected

DBASEC>SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SET SQLPROMPT SCOTT


SCOTTSET SQLPROMPT SCOTT>
SCOTT>cl scr

SCOTT>CREATE USER DBASEC


2 IDENTIFIED BY DBASEC;
IDENTIFIED BY DBASEC
*
ERROR at line 2:
ORA-01031: insufficient privileges

SCOTT>COLUMN Empno FORMAT 9999


SCOTT>COLUMN MGR FORMAT 9999
SCOTT>COLUMN Sal FORMAT 9999
SCOTT>COLUMN Comm FORMAT 9999
SCOTT>COLUMN Deptno FORMAT 99
SCOTT>cl scr

SCOTT>SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SCOTT>GRANT SELECT
2 ON Emp
3 TO DBASEC;

Grant succeeded.

SCOTT>SPOOL OFF
SQL> SET SQLPROMPT SCOTT>
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT>cl scr

SCOTT>DESC USER_TAB_PRIVS_MADE
Name Null? Type
----------------------------------------- -------- ----------------------------
GRANTEE NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
GRANTOR NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
GRANTABLE VARCHAR2(3)
HIERARCHY VARCHAR2(3)

SCOTT>COLUMN GRANTEE FORMAT A15


SCOTT>COLUMN "Table" FORMAT A15
SCOTT>COLUMN GRANTOR FORMAT A15
SCOTT>COLUMN PRIVILEGE FORMAT A15
SCOTT>SELECT
2 GRANTEE,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;

no rows selected

SCOTT>
SCOTT>cl scr

SCOTT>COLUMN Empno FORMAT 9999


SCOTT>COLUMN Sal FORMAT 9999
SCOTT>COLUMN Comm FORMAT 9999
SCOTT>COLUMN MGR FORMAT 9999
SCOTT>COLUMN Deptno FORMAT 99
SCOTT>cl scr

SCOTT>SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

14 rows selected.

SCOTT>GRANT SELECT
2 ON Emp
3 TO DBASEC;

Grant succeeded.

SCOTT>SELECT
2 GRANTEE,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;

GRANTEE Table GRANTOR PRIVILEGE


--------------- --------------- --------------- ---------------
DBASEC EMP SCOTT SELECT

SCOTT>GRANT SELECT, DELETE


2 ON Dept
3 TO DBASEC;

Grant succeeded.

SCOTT>SELECT
2 GRANTEE,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;

GRANTEE Table GRANTOR PRIVILEGE


--------------- --------------- --------------- ---------------
DBASEC DEPT SCOTT SELECT
DBASEC EMP SCOTT SELECT
DBASEC DEPT SCOTT DELETE

SCOTT>SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SCOTT>ROLLBACK;

Rollback complete.

SCOTT>cl scr

SCOTT>GRANT INSERT
2 ON Dept
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

3 TO DBASEC;

Grant succeeded.

SCOTT>SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SCOTT>INSERT INTO SCOTT.Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');

1 row created.

SCOTT>SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
50 SHIPPING CHENNAI
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SCOTT>COMMIT;

Commit complete.

SCOTT>REVOKE SELECT
2 ON Emp
3 FROM DBASEC;

Revoke succeeded.

SCOTT>REVOKE SELECT, INSERT, DELETE


2 ON Dept
3 FROM DBASEC;

Revoke succeeded.

SCOTT>cl scr

SCOTT>SELECT
2 GRANTEE,
3 TABLE_NAME "Table",
4 GRANTOR,
5 PRIVILEGE
6 FROM USER_TAB_PRIVS_MADE;

no rows selected

SCOTT>cl scr
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT>CREATE ROLE EmpSec;


CREATE ROLE EmpSec
*
ERROR at line 1:
ORA-01031: insufficient privileges

SCOTT>CREATE ROLE EmpSec;

Role created.

SCOTT>GRANT SELECT, UPDATE


2 ON Emp
3 TO EmpSec;

Grant succeeded.

SCOTT>GRANT EmpSec
2 TO DBASEC;

Grant succeeded.

SCOTT>GRANT SELECT
2 ON Dept
3 TO EmpSec;

Grant succeeded.

SCOTT>REVOKE SELECT
2 ON Emp
3 FROM EmpSec;

Revoke succeeded.

SCOTT>DESC USER_ROLE_PRIVS
Name Null? Type
----------------------------------------- -------- ----------------------------
USERNAME VARCHAR2(30)
GRANTED_ROLE VARCHAR2(30)
ADMIN_OPTION VARCHAR2(3)
DEFAULT_ROLE VARCHAR2(3)
OS_GRANTED VARCHAR2(3)

SCOTT>SELECT
2 USERNAME,
3 GRANTED_ROLE
4 FROM USER_ROLE_PRIVS;

USERNAME GRANTED_ROLE
------------------------------ ------------------------------
SCOTT CONNECT
SCOTT EMPSEC
SCOTT RESOURCE

SCOTT>DESC ROLE_SYS_PRIVS
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Name Null? Type


----------------------------------------- -------- ----------------------------
ROLE NOT NULL VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
ADMIN_OPTION VARCHAR2(3)

SCOTT>COLUMN ROLE FORMAT A10


SCOTT>COLUMN PRIVILEGE FORMAT A20
SCOTT>SELECT
2 ROLE,
3 PRIVILEGE
4 FROM ROLE_SYS_PRIVS;

ROLE PRIVILEGE
---------- --------------------
CONNECT CREATE VIEW
CONNECT CREATE TABLE
CONNECT ALTER SESSION
CONNECT CREATE CLUSTER
CONNECT CREATE SESSION
CONNECT CREATE SYNONYM
CONNECT CREATE SEQUENCE
CONNECT CREATE DATABASE LINK
RESOURCE CREATE TYPE
RESOURCE CREATE TABLE
RESOURCE CREATE CLUSTER

ROLE PRIVILEGE
---------- --------------------
RESOURCE CREATE TRIGGER
RESOURCE CREATE OPERATOR
RESOURCE CREATE SEQUENCE
RESOURCE CREATE INDEXTYPE
RESOURCE CREATE PROCEDURE

16 rows selected.

SCOTT>DESC ROLE_TAB_PRIVS
Name Null? Type
----------------------------------------- -------- ----------------------------
ROLE NOT NULL VARCHAR2(30)
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
COLUMN_NAME VARCHAR2(30)
PRIVILEGE NOT NULL VARCHAR2(40)
GRANTABLE VARCHAR2(3)

SCOTT>SELECT
2 ROLE,
3 PRIVILEGE
4 FROM ROLE_TAB_PRIVS;

ROLE PRIVILEGE
---------- --------------------
EMPSEC UPDATE
EMPSEC SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SCOTT>DROP ROLE EmpSec;

Role dropped.

SCOTT>cl scr

SCOTT>CREATE SYNONYM Employee


2 FOR SCOTT.Emp;

Synonym created.

SCOTT>DESC Employee
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

SCOTT>SELECT * FROM Employee;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ----- ----- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SCOTT>GRANT SELECT
2 ON Employee
3 TO DBASEC;

Grant succeeded.

SCOTT>CREATE PUBLIC SYNONYM Employee


2 FOR SCOTT.Emp;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CREATE PUBLIC SYNONYM Employee


*
ERROR at line 1:
ORA-01031: insufficient privileges

SCOTT>CREATE PUBLIC SYNONYM Employee


2 FOR SCOTT.Emp;

Synonym created.

SCOTT>SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
------ ----------
10 8750
20 10875
30 9400

SQL> SELECT SUM(Sal)


2 FROM Emp;

SUM(SAL)
----------
29025

SQL> cl scr

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
------ ----------
10 8750
20 10875
30 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> SELECT SUM(Sal) FROM Emp;

SUM(SAL)
----------
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=13)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=182)
SQL> SELECT Deptno, SUM(Sal), (SELECT SUM(Sal) FROM Emp) SalSum
2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL) SALSUM


------ ---------- ----------
10 8750 29025
20 10875 29025
30 9400 29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=182)

3 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)


4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> SELECT Deptno, SUM(Sal), SalSum


2 FROM Emp, (SELECT SUM(Sal) SalSum FROM Emp)
3 GROUP BY Deptno, SalSum;

DEPTNO SUM(SAL) SALSUM


------ ---------- ----------
10 8750 29025
20 10875 29025
30 9400 29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=7 Card=14 Bytes=54
6)

1 0 SORT (GROUP BY) (Cost=7 Card=14 Bytes=546)


2 1 MERGE JOIN (CARTESIAN) (Cost=6 Card=14 Bytes=546)
3 2 VIEW (Cost=3 Card=1 Bytes=13)
4 3 SORT (AGGREGATE)
5 4 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=182)

6 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B


ytes=364)
SQL> SELECT Deptno, SUM(Sal) SalSum
2 FROM Emp
3 GROUP BY Deptno
4 UNION
5 SELECT NULL, SUM(Sal)
6 FROM Emp;

DEPTNO SALSUM
------ ----------
10 8750
20 10875
30 9400
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=15 Bytes=37
7)

1 0 SORT (UNIQUE) (Cost=9 Card=15 Bytes=377)


2 1 UNION-ALL
3 2 SORT (GROUP BY) (Cost=5 Card=14 Bytes=364)
4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=364)

5 2 SORT (AGGREGATE) (Cost=4 Card=1 Bytes=13)


6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=182)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno);

DEPTNO SUM(SAL)
------ ----------
10 8750
20 10875
30 9400
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=364)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)
SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUM(Sal)


2 FROM Emp
3* GROUP BY ROLLUP(Deptno)
SQL> SPOOL OFF
SQL> cl scr

SQL> SELECT Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Job);

JOB SUM(SAL)
--------- ----------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

6 rows selected.

SQL> SELECT Ename, SUM(Sal)


2 FROM Emp
3 GROUP BY Ename;

ENAME SUM(SAL)
---------- ----------
ADAMS 1100
ALLEN 1600
BLAKE 2850
CLARK 2450
FORD 3000
JAMES 950
JONES 2975
KING 5000
MARTIN 1250
MILLER 1300
SCOTT 3000

ENAME SUM(SAL)
---------- ----------
SMITH 800
TURNER 1500
WARD 1250

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, SUM(Sal)


2 FROM Emp
3* GROUP BY ROLLUP(Ename)
SQL> /

ENAME SUM(SAL)
---------- ----------
ADAMS 1100
ALLEN 1600
BLAKE 2850
CLARK 2450
FORD 3000
JAMES 950
JONES 2975
KING 5000
MARTIN 1250
MILLER 1300
SCOTT 3000

ENAME SUM(SAL)
---------- ----------
SMITH 800
TURNER 1500
WARD 1250
29025

15 rows selected.

SQL> cl scr

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno);

DEPTNO SUM(SAL)
---------- ----------
10 8750
20 10875
30 9400
29025

SQL> ED
Wrote file afiedt.buf

1 SELECT Job, SUM(Sal)


2 FROM Emp
3* GROUP BY ROLLUP(JOb)
SQL> /

JOB SUM(SAL)
--------- ----------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

6 rows selected.
SQL> cl scr

SQL> COLUMN Deptno FORMAT A15


SQL> SELECT
2 NVL(TO_CHAR(Deptno), 'All Departments') Deptno,
3 AVG(SAL) AVGSal
4 FROM Emp
5 GROUP BY ROLLUP(Deptno);

DEPTNO AVGSAL
--------------- ----------
10 2916.66667
20 2175
30 1566.66667
All Departments 2073.21429

SQL> cl scr

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


---------- --------- ----------
########## CLERK 1300
########## MANAGER 2450
########## PRESIDENT 5000
########## CLERK 1900
########## ANALYST 6000
########## MANAGER 2975
########## CLERK 950
########## MANAGER 2850
########## SALESMAN 5600

9 rows selected.

SQL> COLUMN Deptno FORMAT 999


SQL> /

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3* GROUP BY ROLLUP(Deptno, Job)
SQL> /

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400
29025

13 rows selected.

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
------ ----------
10 8750
20 10875
30 9400

SQL> SELECT SUM(Sal)


2 FROM Emp;
SUM(SAL)
----------
29025

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno, Job);

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400
29025

13 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> cl scr

SQL> COLUMN Deptno FORMAT A15


SQL> SELECT
2 NVL(TO_CHAR(Deptno), 'All Departments') Deptno,
3 NVL(Job, 'All Jobs') Jobs,
4 SUM(Sal) Salary
5 FROM Emp
6 GROUP BY ROLLUP(Deptno, Job);

DEPTNO JOBS SALARY


--------------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 All Jobs 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 All Jobs 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOBS SALARY


--------------- --------- ----------
30 All Jobs 9400
All Departments All Jobs 29025

13 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)
SQL> cl scr

SQL> SELECT
2 TO_CHAR(HireDate, 'YYYY') "Year",
3 SUM(Sal) SumSal
4 FROM Emp
5 GROUP BY ROLLUP(TO_CHAR(HireDate, 'YYYY'));

Year SUMSAL
---- ----------
1980 800
1981 22825
1982 4300
1983 1100
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=30
8)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=308)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=308)

SQL> cl scr

SQL> SET AUTOTRACE OFF EXPLIAN


SP2-0158: unknown SET option "EXPLIAN"
SQL> SET AUTOTRACE OFF EXPLAIN
SQL> cl scr

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno, Job);

DEPTNO JOB SUM(SAL)


---------- --------- ----------
########## CLERK 1300
########## MANAGER 2450
########## PRESIDENT 5000
########## 8750
########## CLERK 1900
########## ANALYST 6000
########## MANAGER 2975
########## 10875
########## CLERK 950
########## MANAGER 2850
########## SALESMAN 5600
DEPTNO JOB SUM(SAL)
---------- --------- ----------
########## 9400
29025

13 rows selected.

SQL> COLUMN DEPTNO FORMAT 99


SQL> /

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400
29025

13 rows selected.

SQL> SELECT Deptno, Job,


2 SUM(Sal) Salary
3 FROM Emp
4 GROUP BY CUBE(Deptno, Job)
5 ORDER BY Deptno;

DEPTNO JOB SALARY


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SALARY


------ --------- ----------
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

18 rows selected.

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
------ ----------
10 8750
20 10875
30 9400

SQL> SELECT Job,, SUM(Sal)


2
SQL> SELECT Job, SUM(Sal)
2 FROM Emp
3 GROUP BY Job;

JOB SUM(SAL)
--------- ----------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

SQL> SELECT SUM(Sal)


2 FROm Emp;

SUM(SAL)
----------
29025

SQL> cl scr
SQL> SELECT Deptno, SUM(Sal)
2 FROM Emp
3 GROUP BY ROLLUP(Deptno);

DEPTNO SUM(SAL)
------ ----------
10 8750
20 10875
30 9400
29025

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, GROUPING(Deptno) GrpBIT, SUM(Sal)


2 FROM Emp
3* GROUP BY ROLLUP(Deptno)
SQL> /

DEPTNO GRPBIT SUM(SAL)


------ ---------- ----------
10 0 8750
20 0 10875
30 0 9400
1 29025

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, GROUPING(Deptno) GrpBIT, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno)
4* HAVING GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
SQL> /
Enter value for grpbit1: 0
Enter value for grpbit2: 0
old 4: HAVING GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
new 4: HAVING GROUPING(Deptno) IN(0, 0)

DEPTNO GRPBIT SUM(SAL)


------ ---------- ----------
10 0 8750
20 0 10875
30 0 9400

SQL> /
Enter value for grpbit1: 0
Enter value for grpbit2: 1
old 4: HAVING GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
new 4: HAVING GROUPING(Deptno) IN(0, 1)

DEPTNO GRPBIT SUM(SAL)


------ ---------- ----------
10 0 8750
20 0 10875
30 0 9400
1 29025

SQL> /
Enter value for grpbit1: 1
Enter value for grpbit2: 1
old 4: HAVING GROUPING(Deptno) IN(&GrpBit1, &GrpBit2)
new 4: HAVING GROUPING(Deptno) IN(1, 1)

DEPTNO GRPBIT SUM(SAL)


------ ---------- ----------
1 29025

SQL> cl scr

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
------ ----------
10 8750
20 10875
30 9400

SQL> SELECT Job, SUm(Sal)


2 FROM Emp
3 GROUP BY Job;

JOB SUM(SAL)
--------- ----------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

SQL> SELECT SUM(Sal)


2 FROM Emp;
SUM(SAL)
----------
29025

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM EMp
3 GROUP BY CUBE(Deptno, Job)
4 ORDER BY Deptno;

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

18 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job, SUM(Sal)


2 FROM EMp
3 GROUP BY CUBE(Deptno, Job)
4 HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
5* ORDER BY Deptno
SQL> /
Enter value for gcolumn: Deptno
Enter value for grpbit1: 0
Enter value for grpbit2: 0
old 4: HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
new 4: HAVING GROUPING(Deptno) IN(0, 0)

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400

12 rows selected.

SQL> /
Enter value for gcolumn: Deptno
Enter value for grpbit1: 1
Enter value for grpbit2: 1
old 4: HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
new 4: HAVING GROUPING(Deptno) IN(1, 1)

DEPTNO JOB SUM(SAL)


------ --------- ----------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

6 rows selected.

SQL> /
Enter value for gcolumn: Deptno
Enter value for grpbit1: 0
Enter value for grpbit2: 1
old 4: HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
new 4: HAVING GROUPING(Deptno) IN(0, 1)

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

18 rows selected.

SQL> /
Enter value for gcolumn: Job
Enter value for grpbit1: 0
Enter value for grpbit2: 0
old 4: HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
new 4: HAVING GROUPING(Job) IN(0, 0)

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 SALESMAN 5600
30 MANAGER 2850
CLERK 4150
SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
PRESIDENT 5000
MANAGER 8275
ANALYST 6000

14 rows selected.

SQL> /
Enter value for gcolumn: Job
Enter value for grpbit1: 1
Enter value for grpbit2: 1
old 4: HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
new 4: HAVING GROUPING(Job) IN(1, 1)

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 8750
20 10875
30 9400
29025

SQL> /
Enter value for gcolumn: Job
Enter value for grpbit1: 1
Enter value for grpbit2: 0
old 4: HAVING GROUPING(&GColumn) IN(&GrpBIT1, &GrpBit2)
new 4: HAVING GROUPING(Job) IN(1, 0)
DEPTNO JOB SUM(SAL)
------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

18 rows selected.

SQL> cl scr

SQL> SELECT Ename, Job, Sal, Deptno,


2 DECODE(Deptno,
3 10, 'ACCOUNTING',
4 20, 'RESEARCH',
5 30 , 'SALES',
6 40 , 'OPERATIONS',
7 'OTHER') Departments
8 FROM Emp
9 ORDER BY Departments;

ENAME JOB SAL DEPTNO DEPARTMENT


---------- --------- ---------- ------ ----------
KING PRESIDENT 5000 10 ACCOUNTING
CLARK MANAGER 2450 10 ACCOUNTING
MILLER CLERK 1300 10 ACCOUNTING
JONES MANAGER 2975 20 RESEARCH
SCOTT ANALYST 3000 20 RESEARCH
ADAMS CLERK 1100 20 RESEARCH
SMITH CLERK 800 20 RESEARCH
FORD ANALYST 3000 20 RESEARCH
BLAKE MANAGER 2850 30 SALES
MARTIN SALESMAN 1250 30 SALES
ALLEN SALESMAN 1600 30 SALES

ENAME JOB SAL DEPTNO DEPARTMENT


---------- --------- ---------- ------ ----------
TURNER SALESMAN 1500 30 SALES
JAMES CLERK 950 30 SALES
WARD SALESMAN 1250 30 SALES
14 rows selected.

SQL> SELECT INITCAP(Ename)||' Takes Care of '||


2 DECODE(Job,
3 'ANALYST', 'Analysis',
4 'CLERK', 'Filing',
5 'MANAGER', 'Managing',
6 'PRESIDENT', 'Administration',
7 'SALESMAN', 'Sales') Responsibilities
8 FROM Emp;

RESPONSIBILITIES
---------------------------------------
King Takes Care of Administration
Blake Takes Care of Managing
Clark Takes Care of Managing
Jones Takes Care of Managing
Martin Takes Care of Sales
Allen Takes Care of Sales
Turner Takes Care of Sales
James Takes Care of Filing
Ward Takes Care of Sales
Ford Takes Care of Analysis
Smith Takes Care of Filing

RESPONSIBILITIES
---------------------------------------
Scott Takes Care of Analysis
Adams Takes Care of Filing
Miller Takes Care of Filing

14 rows selected.

SQL> SELECT
2 ROWNUM, DECODE(ROWNUM,
3 1, 'One',
4 2, 'Two',
5 3, 'Three') Spell
6 FROM Emp
7 WHERE ROWNUM <= 4;

ROWNUM SPELL
---------- -----
1 One
2 Two
3 Three
4

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 ROWNUM, DECODE(ROWNUM,
3 1, 'One',
4 2, 'Two',
5 3, 'Three',
6 'Donot Know') Spell
7 FROM Emp
8* WHERE ROWNUM <= &GiveVal
SQL> /
Enter value for giveval: 3
old 8: WHERE ROWNUM <= &GiveVal
new 8: WHERE ROWNUM <= 3

ROWNUM SPELL
---------- ----------
1 One
2 Two
3 Three

SQL> /
Enter value for giveval: 6
old 8: WHERE ROWNUM <= &GiveVal
new 8: WHERE ROWNUM <= 6

ROWNUM SPELL
---------- ----------
1 One
2 Two
3 Three
4 Donot Know
5 Donot Know
6 Donot Know

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 ROWNUM "S.No", DECODE(ROWNUM,
3 1, 'One',
4 2, 'Two',
5 3, 'Three',
6 'Donot Know') Spell
7 FROM Emp
8* WHERE ROWNUM <= &GiveVal
SQL> /
Enter value for giveval: 4
old 8: WHERE ROWNUM <= &GiveVal
new 8: WHERE ROWNUM <= 4

S.No SPELL
---------- ----------
1 One
2 Two
3 Three
4 Donot Know

SQL> cl scr

SQL> SELECT Ename, Job,


2 DECODE(Job,
3 'CLERK', 'E',
4 'SALESMAN', 'D',
5 'ANALYST', 'C',
6 'MANAGER', 'B',
7 'PRESIDENT', 'A',
8 'O') Grades
9 FROM EMP ORDER BY JOB;

ENAME JOB G
---------- --------- -
FORD ANALYST C
SCOTT ANALYST C
JAMES CLERK E
SMITH CLERK E
MILLER CLERK E
ADAMS CLERK E
BLAKE MANAGER B
CLARK MANAGER B
JONES MANAGER B
KING PRESIDENT A
MARTIN SALESMAN D

ENAME JOB G
---------- --------- -
ALLEN SALESMAN D
WARD SALESMAN D
TURNER SALESMAN D

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Job,


2 DECODE(Job,
3 'CLERK', 'E',
4 'SALESMAN', 'D',
5 'ANALYST', 'C',
6 'MANAGER', 'B',
7 'PRESIDENT', 'A',
8 'O') Grades, Deptno,
9 DECODE(Deptno,
10 10, 'ACCOUNTING',
11 20, 'RESEARCH',
12 30 , 'SALES',
13 40 , 'OPERATIONS',
14 'OTHER') Departments,
15 Sal, Grade
16 FROM EMP E, Salgrade S
17 WHERE Sal BETWEEN LoSal AND HiSal
18 ORDER BY JOB;

ENAME JOB G DEPTNO DEPARTMENT SAL GRADE


---------- --------- - ------ ---------- ---------- ----------
FORD ANALYST C 20 RESEARCH 3000 4
SCOTT ANALYST C 20 RESEARCH 3000 4
SMITH CLERK E 20 RESEARCH 800 1
JAMES CLERK E 30 SALES 950 1
ADAMS CLERK E 20 RESEARCH 1100 1
MILLER CLERK E 10 ACCOUNTING 1300 2
CLARK MANAGER B 10 ACCOUNTING 2450 4
BLAKE MANAGER B 30 SALES 2850 4
JONES MANAGER B 20 RESEARCH 2975 4
KING PRESIDENT A 10 ACCOUNTING 5000 5
MARTIN SALESMAN D 30 SALES 1250 2

ENAME JOB G DEPTNO DEPARTMENT SAL GRADE


---------- --------- - ------ ---------- ---------- ----------
WARD SALESMAN D 30 SALES 1250 2
TURNER SALESMAN D 30 SALES 1500 3
ALLEN SALESMAN D 30 SALES 1600 3

14 rows selected.

SQL> SET AUTOTRACE ON EXPLAIN


SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job,


2 DECODE(Job,
3 'CLERK', 'E',
4 'SALESMAN', 'D',
5 'ANALYST', 'C',
6 'MANAGER', 'B',
7 'PRESIDENT', 'A',
8 'O') Grades, D.Deptno,
9 Dname,
10 Sal, Grade
11 FROM EMP E, Salgrade S, Dept D
12 WHERE
13 E.Deptno = D.Deptno AND
14 Sal BETWEEN LoSal AND HiSal
15* ORDER BY JOB
SQL> /

ENAME JOB G DEPTNO DNAME SAL GRADE


---------- --------- - ------ -------------- ---------- ----------
FORD ANALYST C 20 RESEARCH 3000 4
SCOTT ANALYST C 20 RESEARCH 3000 4
SMITH CLERK E 20 RESEARCH 800 1
JAMES CLERK E 30 SALES 950 1
ADAMS CLERK E 20 RESEARCH 1100 1
MILLER CLERK E 10 ACCOUNTING 1300 2
CLARK MANAGER B 10 ACCOUNTING 2450 4
BLAKE MANAGER B 30 SALES 2850 4
JONES MANAGER B 20 RESEARCH 2975 4
KING PRESIDENT A 10 ACCOUNTING 5000 5
MARTIN SALESMAN D 30 SALES 1250 2

ENAME JOB G DEPTNO DNAME SAL GRADE


---------- --------- - ------ -------------- ---------- ----------
WARD SALESMAN D 30 SALES 1250 2
TURNER SALESMAN D 30 SALES 1500 3
ALLEN SALESMAN D 30 SALES 1600 3
14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=1 Bytes=10
0)

1 0 SORT (ORDER BY) (Cost=10 Card=1 Bytes=100)


2 1 NESTED LOOPS (Cost=9 Card=1 Bytes=100)
3 2 MERGE JOIN (Cost=8 Card=1 Bytes=78)
4 3 SORT (JOIN) (Cost=4 Card=5 Bytes=195)
5 4 TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3
Card=5 Bytes=195)

6 3 FILTER
7 6 SORT (JOIN) (Cost=4 Card=14 Bytes=546)
8 7 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Car
d=14 Bytes=546)

9 2 TABLE ACCESS (BY INDEX ROWID) OF 'DEPT' (TABLE) (Cost=


1 Card=1 Bytes=22)

10 9 INDEX (UNIQUE SCAN) OF 'DEPT_PRIMARY_KEY' (INDEX (UN


IQUE)) (Cost=0 Card=1)

SQL> SELECT Ename, Job,


2 DECODE(Job,
3 'CLERK', 'E',
4 'SALESMAN', 'D',
5 'ANALYST', 'C',
6 'MANAGER', 'B',
7 'PRESIDENT', 'A',
8 'O') Grades, Deptno,
9 DECODE(Deptno,
10 10, 'ACCOUNTING',
11 20, 'RESEARCH',
12 30 , 'SALES',
13 40 , 'OPERATIONS',
14 'OTHER') Departments,
15 Sal, Grade
16 FROM EMP E, Salgrade S
17 WHERE Sal BETWEEN LoSal AND HiSal
18 ORDER BY JOB;

ENAME JOB G DEPTNO DEPARTMENT SAL GRADE


---------- --------- - ------ ---------- ---------- ----------
FORD ANALYST C 20 RESEARCH 3000 4
SCOTT ANALYST C 20 RESEARCH 3000 4
SMITH CLERK E 20 RESEARCH 800 1
JAMES CLERK E 30 SALES 950 1
ADAMS CLERK E 20 RESEARCH 1100 1
MILLER CLERK E 10 ACCOUNTING 1300 2
CLARK MANAGER B 10 ACCOUNTING 2450 4
BLAKE MANAGER B 30 SALES 2850 4
JONES MANAGER B 20 RESEARCH 2975 4
KING PRESIDENT A 10 ACCOUNTING 5000 5
MARTIN SALESMAN D 30 SALES 1250 2

ENAME JOB G DEPTNO DEPARTMENT SAL GRADE


---------- --------- - ------ ---------- ---------- ----------
WARD SALESMAN D 30 SALES 1250 2
TURNER SALESMAN D 30 SALES 1500 3
ALLEN SALESMAN D 30 SALES 1600 3

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=1 Bytes=78)
1 0 SORT (ORDER BY) (Cost=9 Card=1 Bytes=78)
2 1 MERGE JOIN (Cost=8 Card=1 Bytes=78)
3 2 SORT (JOIN) (Cost=4 Card=5 Bytes=195)
4 3 TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3 Ca
rd=5 Bytes=195)

5 2 FILTER
6 5 SORT (JOIN) (Cost=4 Card=14 Bytes=546)
7 6 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=546)

SQL> cl scr

SQL> SELECT Ename, Job,


2 DECODE(MGR,
3 7566, (SELECT Ename
4 FROM Emp
5 WHERE Empno = 7566),
6 7698, (SELECT Ename
7 FROM Emp
8 WHERE Empno = 7698),
9 7782, (SELECT Ename
10 FROM Emp
11 WHERE Empno = 7782),
12 7788, (SELECT Ename
13 FROM Emp
14 WHERE Empno = 7788),
15 7839, (SELECT Ename
16 FROM Emp
17 WHERE Empno = 7839),
18 7902, (SELECT Ename
19 FROM Emp
20 WHERE Empno = 7902),
21 'Do Not Know') Manager,
22 DECODE(Job,
23 'CLERK', 'E',
24 'SALESMAN', 'D',
25 'ANALYST', 'C',
26 'MANAGER', 'B',
27 'PRESIDENT', 'A',
28 'O') Grades, Deptno,
29 DECODE(Deptno,
30 10, 'ACCOUNTING',
31 20, 'RESEARCH',
32 30 , 'SALES',
33 40 , 'OPERATIONS',
34 'OTHER') Departments,
35 Sal, Grade
36 FROM EMP E, Salgrade S
37 WHERE Sal BETWEEN LoSal AND HiSal
38 ORDER BY JOB;

ENAME JOB MANAGER G DEPTNO DEPARTMENT SAL GRADE


---------- --------- ----------- - ------ ---------- ---------- ----------
FORD ANALYST JONES C 20 RESEARCH 3000 4
SCOTT ANALYST JONES C 20 RESEARCH 3000 4
SMITH CLERK FORD E 20 RESEARCH 800 1
JAMES CLERK BLAKE E 30 SALES 950 1
ADAMS CLERK SCOTT E 20 RESEARCH 1100 1
MILLER CLERK CLARK E 10 ACCOUNTING 1300 2
CLARK MANAGER KING B 10 ACCOUNTING 2450 4
BLAKE MANAGER KING B 30 SALES 2850 4
JONES MANAGER KING B 20 RESEARCH 2975 4
KING PRESIDENT Do Not Know A 10 ACCOUNTING 5000 5
MARTIN SALESMAN BLAKE D 30 SALES 1250 2

ENAME JOB MANAGER G DEPTNO DEPARTMENT SAL GRADE


---------- --------- ----------- - ------ ---------- ---------- ----------
WARD SALESMAN BLAKE D 30 SALES 1250 2
TURNER SALESMAN BLAKE D 30 SALES 1500 3
ALLEN SALESMAN BLAKE D 30 SALES 1600 3

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=9 Card=1 Bytes=91)
1 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car
d=1 Bytes=20)

2 1 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

3 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

4 3 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

5 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

6 5 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

7 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

8 7 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

9 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

10 9 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

11 0 TABLE ACCESS (BY INDEX ROWID) OF 'EMP' (TABLE) (Cost=1 Car


d=1 Bytes=20)

12 11 INDEX (UNIQUE SCAN) OF 'EMP_PRIMARY_KEY' (INDEX (UNIQUE)


) (Cost=1 Card=1)

13 0 SORT (ORDER BY) (Cost=9 Card=1 Bytes=91)


14 13 MERGE JOIN (Cost=8 Card=1 Bytes=91)
15 14 SORT (JOIN) (Cost=4 Card=5 Bytes=195)
16 15 TABLE ACCESS (FULL) OF 'SALGRADE' (TABLE) (Cost=3 Ca
rd=5 Bytes=195)

17 14 FILTER
18 17 SORT (JOIN) (Cost=4 Card=14 Bytes=728)
19 18 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=728)

SQL> cl scr

SQL> SELECT
2 TO_CHAR(HireDate, 'YYYY') Year, COUNT(*) EmpCnt
3 FROM Emp
4 GROUP BY ROLLUP(TO_CHAR(HireDate, 'YYYY'));

YEAR EMPCNT
---- ----------
1980 1
1981 10
1982 2
1983 1
14

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=12
6)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=126)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=126)

SQL> SELECT
2 SUM(DECODE(TO_CHAR(HireDate, 'YYYY'),
3 1980, 1, 0)) "1980" ,
4 SUM(DECODE(TO_CHAR(HireDate, 'YYYY'),
5 1981, 1, 0)) "1981" ,
6 SUM(DECODE(TO_CHAR(HireDate, 'YYYY'),
7 1982, 1, 0)) "1982" ,
8 SUM(DECODE(TO_CHAR(HireDate, 'YYYY'),
9 1983, 1, 0)) "1983",
10 COUNT(*) Total
11 FROM Emp;

1980 1981 1982 1983 TOTAL


---------- ---------- ---------- ---------- ----------
1 10 2 1 14

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=9)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=126)

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
3 1980, 1, 0)) "1980" ,
4 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
5 1981, 1, 0)) "1981" ,
6 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
7 1982, 1, 0)) "1982" ,
8 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
9 1983, 1, 0)) "1983",
10 COUNT(*) Total
11* FROM Emp
SQL> /

1980 1981 1982 1983 TOTAL


---------- ---------- ---------- ---------- ----------
14 14 14 14 14

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=9)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=126)

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
3 1980, 1, NULL)) "1980" ,
4 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
5 1981, 1, NULL)) "1981" ,
6 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
7 1982, 1, NULL)) "1982" ,
8 COUNT(DECODE(TO_CHAR(HireDate, 'YYYY'),
9 1983, 1, NULL)) "1983",
10 COUNT(*) Total
11* FROM Emp
SQL> /

1980 1981 1982 1983 TOTAL


---------- ---------- ---------- ---------- ----------
1 10 2 1 14

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=9)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=126)

SQL> cl scr

SQL> SELECT Ename, Job, Sal,


2 DECODE(Job,
3 'ANALYST', Sal * 1.1,
4 'CLERK', Sal * 1.15,
5 'MANAGER', Sal * 1.2,
6 Sal) "REVISED SALARY "
7 FROM Emp;

ENAME JOB SAL REVISED SALARY


---------- --------- ---------- ---------------
KING PRESIDENT 5000 5000
BLAKE MANAGER 2850 3420
CLARK MANAGER 2450 2940
JONES MANAGER 2975 3570
MARTIN SALESMAN 1250 1250
ALLEN SALESMAN 1600 1600
TURNER SALESMAN 1500 1500
JAMES CLERK 950 1092.5
WARD SALESMAN 1250 1250
FORD ANALYST 3000 3300
SMITH CLERK 800 920

ENAME JOB SAL REVISED SALARY


---------- --------- ---------- ---------------
SCOTT ANALYST 3000 3300
ADAMS CLERK 1100 1265
MILLER CLERK 1300 1495

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> cl scr

SQL> SELECT Ename, Job, Sal,


2 DECODE(Job, 'ANALYST', Sal * 1.1,
3 'CLERK', Sal * 1.15,
4 'MANAGER', Sal * 1.2,
5 Sal) "REVISED SALARY",
6 DECODE(Job, 'ANALYST', 'Revised',
7 'CLERK', 'Revised',
8 'MANAGER', 'Revised',
9 'Sorry!') "Status"
10 FROM Emp;

ENAME JOB SAL REVISED SALARY Status


---------- --------- ---------- -------------- -------
KING PRESIDENT 5000 5000 Sorry!
BLAKE MANAGER 2850 3420 Revised
CLARK MANAGER 2450 2940 Revised
JONES MANAGER 2975 3570 Revised
MARTIN SALESMAN 1250 1250 Sorry!
ALLEN SALESMAN 1600 1600 Sorry!
TURNER SALESMAN 1500 1500 Sorry!
JAMES CLERK 950 1092.5 Revised
WARD SALESMAN 1250 1250 Sorry!
FORD ANALYST 3000 3300 Revised
SMITH CLERK 800 920 Revised

ENAME JOB SAL REVISED SALARY Status


---------- --------- ---------- -------------- -------
SCOTT ANALYST 3000 3300 Revised
ADAMS CLERK 1100 1265 Revised
MILLER CLERK 1300 1495 Revised
14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Sal,


2 DECODE(
3 Job,
4 'ANALYST', (Sal * 1.1)||' Revised.',
5 'CLERK', (Sal * 1.15)||' Revised.',
6 'MANAGER', (Sal * 1.2)||' Revised.',
7 Sal||' Sorry!') "REVISED SALARY"
8* FROM Emp
SQL> /

ENAME JOB SAL


---------- --------- ----------
REVISED SALARY
-------------------------------------------------
KING PRESIDENT 5000
5000 Sorry!

BLAKE MANAGER 2850


3420 Revised.

CLARK MANAGER 2450


2940 Revised.

ENAME JOB SAL


---------- --------- ----------
REVISED SALARY
-------------------------------------------------
JONES MANAGER 2975
3570 Revised.

MARTIN SALESMAN 1250


1250 Sorry!

ALLEN SALESMAN 1600


1600 Sorry!

ENAME JOB SAL


---------- --------- ----------
REVISED SALARY
-------------------------------------------------
TURNER SALESMAN 1500
1500 Sorry!

JAMES CLERK 950


1092.5 Revised.

WARD SALESMAN 1250


1250 Sorry!

ENAME JOB SAL


---------- --------- ----------
REVISED SALARY
-------------------------------------------------
FORD ANALYST 3000
3300 Revised.

SMITH CLERK 800


920 Revised.

SCOTT ANALYST 3000


3300 Revised.

ENAME JOB SAL


---------- --------- ----------
REVISED SALARY
-------------------------------------------------
ADAMS CLERK 1100
1265 Revised.

MILLER CLERK 1300


1495 Revised.

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> COLUMN "REVISED SALARY" FORMAT A25


SQL> /

ENAME JOB SAL REVISED SALARY


---------- --------- ---------- -------------------------
KING PRESIDENT 5000 5000 Sorry!
BLAKE MANAGER 2850 3420 Revised.
CLARK MANAGER 2450 2940 Revised.
JONES MANAGER 2975 3570 Revised.
MARTIN SALESMAN 1250 1250 Sorry!
ALLEN SALESMAN 1600 1600 Sorry!
TURNER SALESMAN 1500 1500 Sorry!
JAMES CLERK 950 1092.5 Revised.
WARD SALESMAN 1250 1250 Sorry!
FORD ANALYST 3000 3300 Revised.
SMITH CLERK 800 920 Revised.

ENAME JOB SAL REVISED SALARY


---------- --------- ---------- -------------------------
SCOTT ANALYST 3000 3300 Revised.
ADAMS CLERK 1100 1265 Revised.
MILLER CLERK 1300 1495 Revised.

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> SELECT Ename, Job, Sal,


2 DECODE(Job, 'ANALYST', Sal * 1.1,
3 'CLERK', Sal * 1.15,
4 'MANAGER', Sal * 1.2,
5 Sal) "REVISED SALARY",
6 DECODE(Job, 'ANALYST', Sal * 1.1,
7 'CLERK', Sal * 1.15,
8 'MANAGER', Sal * 1.2,
9 Sal) - Sal "Extra Amount",
10 DECODE(Job, 'ANALYST', 'Revised',
11 'CLERK', 'Revised',
12 'MANAGER', 'Revised',
13 'Sorry!') "Status"
14 FROM Emp;

ENAME JOB SAL REVISED SALARY Extra Amount Status


---------- --------- ---------- -------------- ------------ -------
KING PRESIDENT 5000 ########## 0 Sorry!
BLAKE MANAGER 2850 ########## 570 Revised
CLARK MANAGER 2450 ########## 490 Revised
JONES MANAGER 2975 ########## 595 Revised
MARTIN SALESMAN 1250 ########## 0 Sorry!
ALLEN SALESMAN 1600 ########## 0 Sorry!
TURNER SALESMAN 1500 ########## 0 Sorry!
JAMES CLERK 950 ########## 142.5 Revised
WARD SALESMAN 1250 ########## 0 Sorry!
FORD ANALYST 3000 ########## 300 Revised
SMITH CLERK 800 ########## 120 Revised

ENAME JOB SAL REVISED SALARY Extra Amount Status


---------- --------- ---------- -------------- ------------ -------
SCOTT ANALYST 3000 ########## 300 Revised
ADAMS CLERK 1100 ########## 165 Revised
MILLER CLERK 1300 ########## 195 Revised

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)

SQL> COLUMN "REVISED SALARY"


COLUMN REVISED SALARY ON
FORMAT A25
SQL> COLUMN "REVISED SALARY" FORMAT 99999
SQL> /

ENAME JOB SAL REVISED SALARY Extra Amount Status


---------- --------- ---------- -------------- ------------ -------
KING PRESIDENT 5000 5000 0 Sorry!
BLAKE MANAGER 2850 3420 570 Revised
CLARK MANAGER 2450 2940 490 Revised
JONES MANAGER 2975 3570 595 Revised
MARTIN SALESMAN 1250 1250 0 Sorry!
ALLEN SALESMAN 1600 1600 0 Sorry!
TURNER SALESMAN 1500 1500 0 Sorry!
JAMES CLERK 950 1093 142.5 Revised
WARD SALESMAN 1250 1250 0 Sorry!
FORD ANALYST 3000 3300 300 Revised
SMITH CLERK 800 920 120 Revised

ENAME JOB SAL REVISED SALARY Extra Amount Status


---------- --------- ---------- -------------- ------------ -------
SCOTT ANALYST 3000 3300 300 Revised
ADAMS CLERK 1100 1265 165 Revised
MILLER CLERK 1300 1495 195 Revised

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)
1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes
=364)

SQL> cl scr

SQL> R
1 SELECT Ename, Job, Sal,
2 DECODE(Job, 'ANALYST', Sal * 1.1,
3 'CLERK', Sal * 1.15,
4 'MANAGER', Sal * 1.2,
5 Sal) "REVISED SALARY",
6 DECODE(Job, 'ANALYST', Sal * 1.1,
7 'CLERK', Sal * 1.15,
8 'MANAGER', Sal * 1.2,
9 Sal) - Sal "Extra Amount",
10 DECODE(Job, 'ANALYST', 'Revised',
11 'CLERK', 'Revised',
12 'MANAGER', 'Revised',
13 'Sorry!') "Status"
14* FROM Emp

ENAME JOB SAL REVISED SALARY Extra Amount Status


---------- --------- ---------- -------------- ------------ -------
KING PRESIDENT 5000 5000 0 Sorry!
BLAKE MANAGER 2850 3420 570 Revised
CLARK MANAGER 2450 2940 490 Revised
JONES MANAGER 2975 3570 595 Revised
MARTIN SALESMAN 1250 1250 0 Sorry!
ALLEN SALESMAN 1600 1600 0 Sorry!
TURNER SALESMAN 1500 1500 0 Sorry!
JAMES CLERK 950 1093 142.5 Revised
WARD SALESMAN 1250 1250 0 Sorry!
FORD ANALYST 3000 3300 300 Revised
SMITH CLERK 800 920 120 Revised

ENAME JOB SAL REVISED SALARY Extra Amount Status


---------- --------- ---------- -------------- ------------ -------
SCOTT ANALYST 3000 3300 300 Revised
ADAMS CLERK 1100 1265 165 Revised
MILLER CLERK 1300 1495 195 Revised

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=14 Bytes=36
4)

1 0 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Bytes


=364)
SQL> cl scr

SQL> SELECT
2 COUNT(DECODE(Deptno, 10, '*', NULL)) D10_COUNT,
3 SUM(DECODE(Deptno, 10, Sal, NULL)) D10_Sal,
4 COUNT(DECODE(Deptno, 20, '*', NULL)) D20_COUNT,
5 SUM(DECODE(Deptno, 20, Sal, NULL)) D20_Sal,
6 COUNT(DECODE(Deptno, 30, '*', NULL)) D30_COUNT,
7 SUM(DECODE(Deptno, 30, Sal, NULL)) D30_Sal
8 FROM Emp;

D10_COUNT D10_SAL D20_COUNT D20_SAL D30_COUNT D30_SAL


---------- ---------- ---------- ---------- ---------- ----------
3 8750 5 10875 6 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=26)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> SELECT Deptno, COUNT(*), SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO COUNT(*) SUM(SAL)


------ ---------- ----------
10 3 8750
20 5 10875
30 6 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, COUNT(*), SUM(Sal)


2 FROM Emp
3* GROUP BY ROLLUP(Deptno)
SQL> /
DEPTNO COUNT(*) SUM(SAL)
------ ---------- ----------
10 3 8750
20 5 10875
30 6 9400
14 29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=364)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> cl scr

SQL> COLUMN D10_COUNT FORMAT 99


SQL> COLUMN D10_SAL FORMAT 99999
SQL> COLUMN D20_COUNT FORMAT 99
SQL> COLUMN D20_SAL FORMAT 99999
SQL> COLUMN D30_COUNT FORMAT 99
SQL> COLUMN D30_SAL FORMAT 99999
SQL> COLUMN EMPCOUNT FORMAT 99
SQL> COLUMN SALSUM FORMAT 99999
SQL> SELECT
2 COUNT(DECODE(Deptno, 10, '*', NULL)) D10_COUNT,
3 SUM(DECODE(Deptno, 10, Sal, NULL)) D10_Sal,
4 COUNT(DECODE(Deptno, 20, '*', NULL)) D20_COUNT,
5 SUM(DECODE(Deptno, 20, Sal, NULL)) D20_Sal,
6 COUNT(DECODE(Deptno, 30, '*', NULL)) D30_COUNT,
7 SUM(DECODE(Deptno, 30, Sal, NULL)) D30_Sal,
8 COUNT(*) EmpCount, SUM(Sal) SalSum
9 FROM Emp;

D10_COUNT D10_SAL D20_COUNT D20_SAL D30_COUNT D30_SAL EMPCOUNT SALSUM


--------- ------- --------- ------- --------- ------- -------- ------
3 8750 5 10875 6 9400 14 29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=26)
1 0 SORT (AGGREGATE)
2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=364)

SQL> cl scr
SQL> SELECT Job,
2 SUM(DECODE(Deptno, 10, Sal)) "Deptno 10",
3 SUM(DECODE(Deptno, 20, Sal)) "Deptno 20",
4 SUM(DECODE(Deptno, 30, Sal)) "Deptno 30",
5 SUM(Sal) "Total"
6 FROM Emp
7 GROUP BY Job;

JOB Deptno 10 Deptno 20 Deptno 30 Total


--------- ---------- ---------- ---------- ----------
ANALYST 6000 6000
CLERK 1300 1900 950 4150
MANAGER 2450 2975 2850 8275
PRESIDENT 5000 5000
SALESMAN 5600 5600

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> ED
Wrote file afiedt.buf

1 SELECT Job,
2 SUM(DECODE(Deptno, 10, Sal)) "Deptno 10",
3 SUM(DECODE(Deptno, 20, Sal)) "Deptno 20",
4 SUM(DECODE(Deptno, 30, Sal)) "Deptno 30",
5 SUM(Sal) "Total"
6 FROM Emp
7* GROUP BY ROLLUP(Job)
SQL> /

JOB Deptno 10 Deptno 20 Deptno 30 Total


--------- ---------- ---------- ---------- ----------
ANALYST 6000 6000
CLERK 1300 1900 950 4150
MANAGER 2450 2975 2850 8275
PRESIDENT 5000 5000
SALESMAN 5600 5600
8750 10875 9400 29025

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT Deptno,


2 SUM(DECODE(Job, 'PRESIDENT', Sal)) "President",
3 SUM(DECODE(Job, 'ANALYST', Sal)) "Analyst",
4 SUM(DECODE(Job, 'MANAGER', Sal)) "Manager",
5 SUM(DECODE(Job, 'CLERK', Sal)) "Clerk",
6 SUM(DECODE(Job, 'SALESMAN', Sal)) "Salesman",
7 SUM(Sal) "Total"
8 FROM Emp
9 GROUP BY Deptno;

DEPTNO President Analyst Manager Clerk Salesman Total


------ ---------- ---------- ---------- ---------- ---------- ----------
10 5000 2450 1300 8750
20 6000 2975 1900 10875
30 2850 950 5600 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> cl scr

SQL> COLUMN President FORMAT A9


SQL> COLUMN Analyst FORMAT A9
SQL> COLUMN Manager FORMAT A9
SQL> COLUMN Clerk FORMAT A9
SQL> COLUMN Salesman FORMAT A9
SQL> SELECT Deptno,
2 NVL(TO_CHAR(SUM(DECODE(Job, 'PRESIDENT', Sal))), '***') "President",
3 NVL(TO_CHAR(SUM(DECODE(Job, 'ANALYST', Sal))), '***') "Analyst",
4 NVL(TO_CHAR(SUM(DECODE(Job, 'MANAGER', Sal))), '***') "Manager",
5 NVl(TO_CHAR(SUM(DECODE(Job, 'CLERK', Sal))), '***') "Clerk",
6 NVL(TO_CHAR(SUM(DECODE(Job, 'SALESMAN', Sal))), '***') "Salesman",
7 SUM(Sal) "Total"
8 FROM Emp
9 GROUP BY Deptno;

DEPTNO President Analyst Manager Clerk Salesman Total


------ --------- --------- --------- --------- --------- ----------
10 5000 *** 2450 1300 *** 8750
20 *** 6000 2975 1900 *** 10875
30 *** *** 2850 950 5600 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> cl scr

SQL> SET PAGESIZE 200


SQL> BREAK ON Month SKIP 1
SQL> COLUMN Month FORMAT A18
SQL> COLUMN Sun FORMAT A5
SQL> COLUMN Mon FORMAT A5
SQL> COLUMN Tue FORMAT A5
SQL> COLUMN Wed FORMAT A5
SQL> COLUMN Thu FORMAT A5
SQL> COLUMN Fri FORMAT A5
SQL> COLUMN Sat FORMAT A5
SQL> SELECT
2 LPAD(Month, 20 - (20 - LENGTH(Month)) / 2 ) Month,
3 "Sun",
4 "Mon",
5 "Tue",
6 "Wed",
7 "Thu",
8 "Fri",
9 "Sat"
10 FROM (
11 SELECT
12 TO_CHAR(DT,'FMMonth YYYY') Month,
13 TO_CHAR(DT + 1,'IW') Week,
14 MAX(DECODE(TO_CHAR(DT, 'D'), '1', LPAD(TO_CHAR(DT, 'FMDD'), 2)))
"Sun",
15 MAX(DECODE(TO_CHAR(DT, 'D'), '2', LPAD(TO_CHAR(DT, 'FMDD'), 2)))
"Mon",
16 MAX(DECODE(TO_CHAR(DT, 'D'), '3', LPAD(TO_CHAR(DT, 'FMDD'), 2)))
"Tue",
17 MAX(DECODE(TO_CHAR(DT, 'D'), '4', LPAD(TO_CHAR(DT, 'FMDD'), 2)))
"Wed",
18 MAX(DECODE(TO_CHAR(DT, 'D'), '5', LPAD(TO_CHAR(DT, 'FMDD'), 2)))
"Thu",
19 MAX(DECODE(TO_CHAR(DT, 'D'), '6', LPAD(TO_CHAR(DT, 'FMDD'), 2)))
"Fri",
20 MAX(DECODE(TO_CHAR(DT, 'D'), '7', LPAD(TO_CHAR(DT, 'FMDD'), 2)))
"Sat"
21 FROM(
22 SELECT TRUNC(SYSDATE, 'Y') - 1 + ROWNUM DT
23 FROM ALL_OBJECTS
24 WHERE
25 ROWNUM <= ADD_MONTHS(TRUNC(SYSDATE, 'Year'), 12) -
TRUNC(SYSDATE, 'Year')
26 )
27 GROUP BY TO_CHAR(DT, 'FMMonth YYYY'), TO_CHAR(DT + 1, 'IW')
28 )
29 ORDER BY TO_DATE(MONTH, 'Month YYYY' ), TO_NUMBER(Week)
30 /

MONTH Sun Mon Tue Wed Thu Fri Sat


------------------ ----- ----- ----- ----- ----- ----- -----
January 2010 3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
1 2

February 2010 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28

March 2010 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

April 2010 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

May 2010 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

June 2010 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

July 2010 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
August 2010 1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

September 2010 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

October 2010 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

November 2010 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

December 2010 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

63 rows selected.

Execution Plan
----------------------------------------------------------
ERROR:
ORA-01039: insufficient privileges on underlying objects of the view

SP2-0612: Error generating AUTOTRACE EXPLAIN report


SQL> SPOOL OFF
SQL> cl scr

SQL> COLUMN DEPARTMENTS FORMAT A15


SQL> COLUMN SUM(Sal) FORMAT 99999
SQL> SELECT
2 DECODE(GROUPING(Deptno),
3 1, 'All Departments',
4 Deptno) Departments,
5 SUM(Sal)
6 FROM Emp
7 GROUP BY ROLLUP(Deptno);

DEPARTMENTS SUM(SAL)
--------------- --------
10 8750
20 10875
30 9400
All Departments 29025

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 DECODE(GROUPING(Deptno),
3 1, 'All Departments Investment : ',
4 'Department '||Deptno||' Investments : ') Departments,
5 SUM(Sal)
6 FROM Emp
7* GROUP BY ROLLUP(Deptno)
SQL> COLUMN DEPARTMENTS FORMAT A25
SQL> /

DEPARTMENTS SUM(SAL)
------------------------- --------
Department 10 Investments 8750
:

Department 20 Investments 10875


:

Department 30 Investments 9400


:

All Departments Investmen 29025


t :

DEPARTMENTS SUM(SAL)
------------------------- --------

SQL> COLUMN DEPARTMENTS FORMAT A28


SQL> /

DEPARTMENTS SUM(SAL)
---------------------------- --------
Department 10 Investments : 8750
Department 20 Investments : 10875
Department 30 Investments : 9400
All Departments Investment : 29025

SQL> cl scr

SQL> R
1 SELECT
2 DECODE(GROUPING(Deptno),
3 1, 'All Departments Investment : ',
4 'Department '||Deptno||' Investments : ') Departments,
5 SUM(Sal)
6 FROM Emp
7* GROUP BY ROLLUP(Deptno)

DEPARTMENTS SUM(SAL)
---------------------------- --------
Department 10 Investments : 8750
Department 20 Investments : 10875
Department 30 Investments : 9400
All Departments Investment : 29025

SQL> cl scr

SQL> SELECT
2 DECODE(GROUPING(Job),
3 1, 'All Designations',
4 Job) Designations,
5 SUM(Sal)
6 FROM Emp
7 GROUP BY ROLLUP(Job);

DESIGNATIONS SUM(SAL)
---------------- --------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
All Designations 29025

6 rows selected.

SQL> cl scr

SQL> SELECT
2 DECODE(GROUPING(Deptno),
3 1 , 'All Departments',
4 Deptno) Departments,
5 DECODE(GROUPING(Job),
6 1, 'All Designations',
7 Job) Designations,
8 SUM(Sal)
9 FROM Emp
10 GROUP BY CUBE(Deptno, Job)
11 ORDER BY Deptno;

DEPARTMENTS DESIGNATIONS SUM(SAL)


---------------------------- ---------------- --------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 All Designations 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 All Designations 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPARTMENTS DESIGNATIONS SUM(SAL)


---------------------------- ---------------- --------
30 All Designations 9400
All Departments ANALYST 6000
All Departments CLERK 4150
All Departments MANAGER 8275
All Departments PRESIDENT 5000
All Departments SALESMAN 5600
All Departments All Designations 29025

18 rows selected.

SQL> cl scr

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
---------- --------
10 8750
20 10875
30 9400

SQL> SELECT Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Job;

JOB SUM(SAL)
--------- --------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY
4 (Deptno, Job);

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.
SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY
4* GROUPING SETS(Deptno, Job)
SQL> /

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 8750
20 10875
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14 Deptno,
15 Job,
16 MGR,
17 TO_CHAR(HireDate, 'YYYY'),
18 TO_CHAR(HireDate, 'Q'),
19 TO_CHAR(HireDate, 'Month'),
20 TO_CHAR(HireDate, 'Day')
21* )
SQL> /
SUM(Sal)
*
ERROR at line 9:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay,
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14 Deptno,
15 Job,
16 MGR,
17 TO_CHAR(HireDate, 'YYYY'),
18 TO_CHAR(HireDate, 'Q'),
19 TO_CHAR(HireDate, 'Month'),
20 TO_CHAR(HireDate, 'Day')
21* )
SQL> /

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
10 8750
20 10875
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
7566 6000
7698 6550
7782 1300

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
7788 1100
7839 8275
7902 800
5000
1980 800
1981 22825
1982 4300
1983 1100
1 5250
2 8275
3 2750

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
4 12750
April 2975
December 7750
February 2850
January 2400
June 2450
May 2850
November 5000
September 2750
Friday 4450
Monday 1250

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
Saturday 1300
Sunday 1250
Thursday 9925
Tuesday 8950
Wednesday 1900

38 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay,
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14 Deptno,
15 Job,
16 MGR,
17 TO_CHAR(HireDate, 'YYYY'),
18 TO_CHAR(HireDate, 'Q'),
19 TO_CHAR(HireDate, 'Month'),
20 TO_CHAR(HireDate, 'Day')
21 )
22* HAVING GROUPING(&ColumnName) = 0
SQL> SET VERIFY OFF
SQL> /
Enter value for columnname: Deptno

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
10 8750
20 10875
30 9400

SQL> /
Enter value for columnname: Job

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

SQL> /
Enter value for columnname: MGR

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
7566 6000
7698 6550
7782 1300
7788 1100
7839 8275
7902 800
5000

7 rows selected.

SQL> /
Enter value for columnname: TO_CHAR(HireDate, 'YYYY')

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
1980 800
1981 22825
1982 4300
1983 1100

SQL> SET AUTOTRACE ON EXPLAIN


SQL> /
Enter value for columnname: Deptno

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
10 8750
20 10875
30 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 FILTER
2 1 SORT (GROUP BY) (Cost=4 Card=14 Bytes=364)
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=364)

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay,
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14 Deptno,
15 Job,
16 MGR,
17 TO_CHAR(HireDate, 'YYYY'),
18 TO_CHAR(HireDate, 'Q'),
19 TO_CHAR(HireDate, 'Month'),
20 TO_CHAR(HireDate, 'Day')
21* )
22 /

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
10 8750
20 10875
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
7566 6000
7698 6550
7782 1300

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
7788 1100
7839 8275
7902 800
5000
1980 800
1981 22825
1982 4300
1983 1100
1 5250
2 8275
3 2750

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
4 12750
April 2975
December 7750
February 2850
January 2400
June 2450
May 2850
November 5000
September 2750
Friday 4450
Monday 1250

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
Saturday 1300
Sunday 1250
Thursday 9925
Tuesday 8950
Wednesday 1900

38 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=26 Card=14 Bytes=8
82)

1 0 TEMP TABLE TRANSFORMATION


2 1 LOAD AS SELECT
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=756)

4 1 LOAD AS SELECT
5 4 SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
6 5 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

7 1 LOAD AS SELECT
8 7 SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
9 8 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

10 1 LOAD AS SELECT
11 10 SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
12 11 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

13 1 LOAD AS SELECT
14 13 SORT (GROUP BY) (Cost=3 Card=1 Bytes=17)
15 14 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=17)

16 1 LOAD AS SELECT
17 16 SORT (GROUP BY) (Cost=3 Card=1 Bytes=15)
18 17 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=15)

19 1 LOAD AS SELECT
20 19 SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
21 20 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

22 1 LOAD AS SELECT
23 22 SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
24 23 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6604_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

25 1 VIEW (Cost=2 Card=1 Bytes=63)


26 25 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6605_14C83BF' (T
ABLE (TEMP)) (Cost=2 Card=1 Bytes=63)

SQL> cl scr

SQL> SET AUTOTRACE OFF EXPLAIN


SQL> cl scr

SQL> SELECT Ename, Deptno,


2 CASE Deptno
3 WHEN 10 THEN 'ACCOUNTING'
4 WHEN 20 THEN 'RESEARCH'
5 WHEN 30 THEN 'SALES'
6 WHEN 40 THEN 'OPERATIONS'
7 ELSE 'NOT FOUND'
8 END
9 FROM Emp;

ENAME DEPTNO CASEDEPTNO


---------- ---------- ----------
KING 10 ACCOUNTING
BLAKE 30 SALES
CLARK 10 ACCOUNTING
JONES 20 RESEARCH
MARTIN 30 SALES
ALLEN 30 SALES
TURNER 30 SALES
JAMES 30 SALES
WARD 30 SALES
FORD 20 RESEARCH
SMITH 20 RESEARCH

ENAME DEPTNO CASEDEPTNO


---------- ---------- ----------
SCOTT 20 RESEARCH
ADAMS 20 RESEARCH
MILLER 10 ACCOUNTING

14 rows selected.

SQL> SELECT Ename, Deptno,


2 DECODE(Deptno
3 , 10 , 'ACCOUNTING'
4 , 20 , 'RESEARCH'
5 , 30 , 'SALES'
6 , 40 , 'OPERATIONS'
7 , 'NOT FOUND') Dept
8 FROM Emp;

ENAME DEPTNO DEPT


---------- ---------- ----------
KING 10 ACCOUNTING
BLAKE 30 SALES
CLARK 10 ACCOUNTING
JONES 20 RESEARCH
MARTIN 30 SALES
ALLEN 30 SALES
TURNER 30 SALES
JAMES 30 SALES
WARD 30 SALES
FORD 20 RESEARCH
SMITH 20 RESEARCH

ENAME DEPTNO DEPT


---------- ---------- ----------
SCOTT 20 RESEARCH
ADAMS 20 RESEARCH
MILLER 10 ACCOUNTING

14 rows selected.

SQL> SELECT Ename, Deptno,


2 CASE
3 WHEN Deptno = 10 THEN 'ACCOUNTING'
4 WHEN Deptno = 20 THEN 'RESEARCH'
5 WHEN Deptno = 30 THEN 'SALES'
6 WHEN Deptno = 40 THEN 'OPERATIONS'
7 ELSE 'Not Specified'
8 END
9 FROM Emp;

ENAME DEPTNO CASEWHENDEPTN


---------- ---------- -------------
KING 10 ACCOUNTING
BLAKE 30 SALES
CLARK 10 ACCOUNTING
JONES 20 RESEARCH
MARTIN 30 SALES
ALLEN 30 SALES
TURNER 30 SALES
JAMES 30 SALES
WARD 30 SALES
FORD 20 RESEARCH
SMITH 20 RESEARCH

ENAME DEPTNO CASEWHENDEPTN


---------- ---------- -------------
SCOTT 20 RESEARCH
ADAMS 20 RESEARCH
MILLER 10 ACCOUNTING
14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Sal,


2 CASE
3 WHEN Sal >= 800 AND Sal <= 2000
4 THEN 'LOWEST PAY'
5 WHEN Sal >= 2001 AND Sal <= 4000
6 THEN 'MODERATE PAY'
7 ELSE 'HIGH PAY' END
8 FROM Emp;

ENAME SAL CASEWHENSAL>


---------- ---------- ------------
KING 5000 HIGH PAY
BLAKE 2850 MODERATE PAY
CLARK 2450 MODERATE PAY
JONES 2975 MODERATE PAY
MARTIN 1250 LOWEST PAY
ALLEN 1600 LOWEST PAY
TURNER 1500 LOWEST PAY
JAMES 950 LOWEST PAY
WARD 1250 LOWEST PAY
FORD 3000 MODERATE PAY
SMITH 800 LOWEST PAY

ENAME SAL CASEWHENSAL>


---------- ---------- ------------
SCOTT 3000 MODERATE PAY
ADAMS 1100 LOWEST PAY
MILLER 1300 LOWEST PAY

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal,


2 CASE
3 WHEN Sal BETWEEN 800 AND 2000
4 THEN 'LOWEST PAY'
5 WHEN Sal BETWEEN 2001 AND 4000
6 THEN 'MODERATE PAY'
7 ELSE 'HIGH PAY' END
8* FROM Emp
SQL> /

ENAME SAL CASEWHENSALB


---------- ---------- ------------
KING 5000 HIGH PAY
BLAKE 2850 MODERATE PAY
CLARK 2450 MODERATE PAY
JONES 2975 MODERATE PAY
MARTIN 1250 LOWEST PAY
ALLEN 1600 LOWEST PAY
TURNER 1500 LOWEST PAY
JAMES 950 LOWEST PAY
WARD 1250 LOWEST PAY
FORD 3000 MODERATE PAY
SMITH 800 LOWEST PAY

ENAME SAL CASEWHENSALB


---------- ---------- ------------
SCOTT 3000 MODERATE PAY
ADAMS 1100 LOWEST PAY
MILLER 1300 LOWEST PAY

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal,


2 CASE
3 WHEN Sal BETWEEN 800 AND 2000 AND Job IN('SALESMAN', 'ANALYST')
4 THEN 'LOWEST PAY'
5 WHEN Sal BETWEEN 2001 AND 4000
6 THEN 'MODERATE PAY'
7 ELSE 'HIGH PAY' END
8* FROM Emp
SQL> /

ENAME SAL CASEWHENSALB


---------- ---------- ------------
KING 5000 HIGH PAY
BLAKE 2850 MODERATE PAY
CLARK 2450 MODERATE PAY
JONES 2975 MODERATE PAY
MARTIN 1250 LOWEST PAY
ALLEN 1600 LOWEST PAY
TURNER 1500 LOWEST PAY
JAMES 950 HIGH PAY
WARD 1250 LOWEST PAY
FORD 3000 MODERATE PAY
SMITH 800 HIGH PAY

ENAME SAL CASEWHENSALB


---------- ---------- ------------
SCOTT 3000 MODERATE PAY
ADAMS 1100 HIGH PAY
MILLER 1300 HIGH PAY

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job,


2 CASE
3 WHEN Sal BETWEEN 800 AND 2000 AND Job IN('SALESMAN', 'ANALYST')
4 THEN 'LOWEST PAY'
5 WHEN Sal BETWEEN 2001 AND 4000
6 THEN 'MODERATE PAY'
7 ELSE 'HIGH PAY' END
8* FROM Emp
SQL> /

ENAME SAL JOB CASEWHENSALB


---------- ---------- --------- ------------
KING 5000 PRESIDENT HIGH PAY
BLAKE 2850 MANAGER MODERATE PAY
CLARK 2450 MANAGER MODERATE PAY
JONES 2975 MANAGER MODERATE PAY
MARTIN 1250 SALESMAN LOWEST PAY
ALLEN 1600 SALESMAN LOWEST PAY
TURNER 1500 SALESMAN LOWEST PAY
JAMES 950 CLERK HIGH PAY
WARD 1250 SALESMAN LOWEST PAY
FORD 3000 ANALYST MODERATE PAY
SMITH 800 CLERK HIGH PAY

ENAME SAL JOB CASEWHENSALB


---------- ---------- --------- ------------
SCOTT 3000 ANALYST MODERATE PAY
ADAMS 1100 CLERK HIGH PAY
MILLER 1300 CLERK HIGH PAY

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Sal, Job,


2 CASE
3 WHEN Sal BETWEEN 800 AND 2000 AND Job IN('SALESMAN', 'ANALYST')
4 THEN 'LOWEST PAY'
5 WHEN Sal BETWEEN 2001 AND 4000
6 THEN 'MODERATE PAY'
7 ELSE 'HIGH PAY' END
8* FROM Emp
SQL> cl scr

SQL> CONN SYSTEM


Connected.
SQL> GRANT QUERY REWRITE
2 TO SCOTT;

Grant succeeded.

SQL> GRANT
2 CREATE MATERIALIZED VIEW
3 TO SCOTT;

Grant succeeded.

SQL> GRANT ALTER SESSION


2 TO SCOTT;

Grant succeeded.
SQL> CONN SCOTT/TIGER
Connected.
SQL> ALTER SESSION
2 SET QUERY_REWRITE_ENABLED = TRUE;

Session altered.

SQL> cl scr

SQL> SELECT Deptno , Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> CREATE OR REPLACE VIEW DeptJobSalSum


2 AS
3 SELECT Deptno, Job, SUM(Sal) SalSum
4 FROM Emp
5 GROUP BY Deptno, Job;

View created.

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT Deptno, Job, SUM(Sal) SalSum
2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SALSUM


---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT * FROM DeptJobSalSum;

DEPTNO JOB SALSUM


---------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT Deptno, SUM(SALSUM)


2 FROM DeptJobSalSum
3 GROUP BY Deptno;

DEPTNO SUM(SALSUM)
---------- -----------
10 8750
20 10875
30 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 SORT (GROUP BY NOSORT) (Cost=4 Card=14 Bytes=364)


2 1 VIEW OF 'DEPTJOBSALSUM' (VIEW) (Cost=4 Card=14 Bytes=364
)

3 2 SORT (GROUP BY) (Cost=4 Card=14 Bytes=448)


4 3 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14
Bytes=448)

SQL> cl scr

SQL> CREATE MATERIALIZED VIEW


2 EMP_SUM
3 ENABLE QUERY REWRITE
4 AS
5 SELECT Deptno , Job, SUM(Sal)
6 FROM Emp
7 GROUP BY Deptno, Job;

Materialized view created.

SQL> SELECT Deptno , Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, Job;

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=9 Bytes=288
)

1 0 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW REWR


ITE) (Cost=3 Card=9 Bytes=288)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;

DEPTNO SUM(SAL)
---------- --------
10 8750
20 10875
30 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=234
)

1 0 SORT (GROUP BY) (Cost=4 Card=9 Bytes=234)


2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=234)

SQL> SELECT Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno;
SELECT Job, SUM(Sal)
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression

SQL> ED
Wrote file afiedt.buf

1 SELECT Job, SUM(Sal)


2 FROM Emp
3* GROUP BY Job
SQL> /

JOB SUM(SAL)
--------- --------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=171
)

1 0 SORT (GROUP BY) (Cost=4 Card=9 Bytes=171)


2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=171)

SQL> SELECT SUM(Sal)


2 FROM Emp;
SUM(SAL)
--------
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=1 Bytes=13)
1 0 SORT (AGGREGATE)
2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=117)

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno);

DEPTNO SUM(SAL)
---------- --------
10 8750
20 10875
30 9400
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=234
)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=234)


2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=234)

SQL> SELECT Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Job);

JOB SUM(SAL)
--------- --------
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

6 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=171
)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=171)


2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=171)

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY ROLLUP(Deptno, Job);

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


---------- --------- --------
30 9400
29025

13 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=288)


2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=288)

SQL> SELECT Deptno, Job, SUm(Sal)


2 FROm Emp
3 GROUP BY CUBE(Deptno, Job)
4 ORDER BY Deptno;

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 ANALYST 6000
20 CLERK 1900
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


---------- --------- --------
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
29025

18 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)

1 0 SORT (GROUP BY) (Cost=4 Card=9 Bytes=288)


2 1 GENERATE (CUBE) (Cost=4 Card=9 Bytes=288)
3 2 SORT (GROUP BY) (Cost=4 Card=9 Bytes=288)
4 3 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIE
W REWRITE) (Cost=3 Card=9 Bytes=288)

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, ROLLUP(Job);

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


---------- --------- --------
30 9400

12 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=288)


2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=288)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3* GROUP BY Job, ROLLUP(Deptno)
SQL> /

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 CLERK 1300
20 CLERK 1900
30 CLERK 950
CLERK 4150
20 ANALYST 6000
ANALYST 6000
10 MANAGER 2450
20 MANAGER 2975
30 MANAGER 2850
MANAGER 8275
30 SALESMAN 5600

DEPTNO JOB SUM(SAL)


---------- --------- --------
SALESMAN 5600
10 PRESIDENT 5000
PRESIDENT 5000

14 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=9 Bytes=288
)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=9 Bytes=288)


2 1 MAT_VIEW REWRITE ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW RE
WRITE) (Cost=3 Card=9 Bytes=288)
SQL> SLECT Deptno, Job, SUM(Sal)
SP2-0734: unknown command beginning "SLECT Dept..." - rest of line ignored.
SQL> SELECT Deptno, Job, SUM(Sal)
2 FROM Emp
3 GROUP BY
4 GROUPING SETS(Deptno, Job);

DEPTNO JOB SUM(SAL)


---------- --------- --------
10 8750
20 10875
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600

8 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=11 Card=9 Bytes=28
8)

1 0 TEMP TABLE TRANSFORMATION


2 1 LOAD AS SELECT
3 2 MAT_VIEW ACCESS (FULL) OF 'EMP_SUM' (MAT_VIEW) (Cost=3
Card=9 Bytes=288)

4 1 LOAD AS SELECT
5 4 SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
6 5 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

7 1 LOAD AS SELECT
8 7 SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
9 8 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

10 1 VIEW (Cost=2 Card=1 Bytes=32)


11 10 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660B_14C83BF' (T
ABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> cl scr

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay,
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14 Deptno,
15 Job,
16 MGR,
17 TO_CHAR(HireDate, 'YYYY'),
18 TO_CHAR(HireDate, 'Q'),
19 TO_CHAR(HireDate, 'Month'),
20 TO_CHAR(HireDate, 'Day')
21* )
SQL> /

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
10 8750
20 10875
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
7566 6000
7698 6550
7782 1300

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
7788 1100
7839 8275
7902 800
5000
1980 800
1981 22825
1982 4300
1983 1100
1 5250
2 8275
3 2750

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
4 12750
April 2975
December 7750
February 2850
January 2400
June 2450
May 2850
November 5000
September 2750
Friday 4450
Monday 1250

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
Saturday 1300
Sunday 1250
Thursday 9925
Tuesday 8950
Wednesday 1900

38 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=26 Card=14 Bytes=8
82)

1 0 TEMP TABLE TRANSFORMATION


2 1 LOAD AS SELECT
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=756)

4 1 LOAD AS SELECT
5 4 SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
6 5 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

7 1 LOAD AS SELECT
8 7 SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
9 8 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

10 1 LOAD AS SELECT
11 10 SORT (GROUP BY) (Cost=3 Card=1 Bytes=26)
12 11 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=26)

13 1 LOAD AS SELECT
14 13 SORT (GROUP BY) (Cost=3 Card=1 Bytes=17)
15 14 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=17)

16 1 LOAD AS SELECT
17 16 SORT (GROUP BY) (Cost=3 Card=1 Bytes=15)
18 17 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=15)

19 1 LOAD AS SELECT
20 19 SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
21 20 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

22 1 LOAD AS SELECT
23 22 SORT (GROUP BY) (Cost=3 Card=1 Bytes=19)
24 23 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6610_14C83BF'
(TABLE (TEMP)) (Cost=2 Card=1 Bytes=19)

25 1 VIEW (Cost=2 Card=1 Bytes=63)


26 25 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6611_14C83BF' (T
ABLE (TEMP)) (Cost=2 Card=1 Bytes=63)

SQL> ED
Wrote file afiedt.buf

1 CREATE MATERIALIZED VIEW SubTotals


2 ENABLE QUERY REWRITE
3 AS
4 SELECT
5 Deptno,
6 Job,
7 MGR,
8 TO_CHAR(HireDate, 'YYYY') Year,
9 TO_CHAR(HireDate, 'Q') Quarter,
10 TO_CHAR(HireDate, 'Month') Month,
11 TO_CHAR(HireDate, 'Day') WeekDay,
12 SUM(Sal)
13 FROM Emp
14 GROUP BY
15 GROUPING SETS
16 (
17 Deptno,
18 Job,
19 MGR,
20 TO_CHAR(HireDate, 'YYYY'),
21 TO_CHAR(HireDate, 'Q'),
22 TO_CHAR(HireDate, 'Month'),
23 TO_CHAR(HireDate, 'Day')
24* )
SQL> /

Materialized view created.

SQL> SELECT
2 Deptno,
3 Job,
4 MGR,
5 TO_CHAR(HireDate, 'YYYY') Year,
6 TO_CHAR(HireDate, 'Q') Quarter,
7 TO_CHAR(HireDate, 'Month') Month,
8 TO_CHAR(HireDate, 'Day') WeekDay,
9 SUM(Sal)
10 FROM Emp
11 GROUP BY
12 GROUPING SETS
13 (
14 Deptno,
15 Job,
16 MGR,
17 TO_CHAR(HireDate, 'YYYY'),
18 TO_CHAR(HireDate, 'Q'),
19 TO_CHAR(HireDate, 'Month'),
20 TO_CHAR(HireDate, 'Day')
21 )
22 /

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
10 8750
20 10875
30 9400
ANALYST 6000
CLERK 4150
MANAGER 8275
PRESIDENT 5000
SALESMAN 5600
7566 6000
7698 6550
7782 1300

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
7788 1100
7839 8275
7902 800
5000
1980 800
1981 22825
1982 4300
1983 1100
1 5250
2 8275
3 2750

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
4 12750
April 2975
December 7750
February 2850
January 2400
June 2450
May 2850
November 5000
September 2750
Friday 4450
Monday 1250

DEPTNO JOB MGR YEAR Q MONTH WEEKDAY SUM(SAL)


---------- --------- ---------- ---- - --------- --------- --------
Saturday 1300
Sunday 1250
Thursday 9925
Tuesday 8950
Wednesday 1900

38 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=3 Card=38 Bytes=23
94)

1 0 MAT_VIEW REWRITE ACCESS (FULL) OF 'SUBTOTALS' (MAT_VIEW RE


WRITE) (Cost=3 Card=38 Bytes=2394)

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT
2 Deptno,
3 GROUPING(Deptno) GrpDeptnoBit,
4 Job,
5 GROUPING(Job) GrpJobBit,
6 SUM(Sal)
7 FROM Emp
8 GROUP BY ROLLUP(Deptno, Job);

DEPTNO GRPDEPTNOBIT JOB GRPJOBBIT SUM(SAL)


---------- ------------ --------- ---------- ----------
10 0 CLERK 0 1300
10 0 MANAGER 0 2450
10 0 PRESIDENT 0 5000
10 0 1 8750
20 0 CLERK 0 1900
20 0 ANALYST 0 6000
20 0 MANAGER 0 2975
20 0 1 10875
30 0 CLERK 0 950
30 0 MANAGER 0 2850
30 0 SALESMAN 0 5600

DEPTNO GRPDEPTNOBIT JOB GRPJOBBIT SUM(SAL)


---------- ------------ --------- ---------- ----------
30 0 1 9400
1 1 29025

13 rows selected.

SQL> COLUMN GRPDEPTNOBIT FORMAT 99


SQL> COLUMN GRPJobBIT FORMAT 99
SQL> COLUMN Deptno FORMAT 99
SQL> cl scr

SQL> R
1 SELECT
2 Deptno,
3 GROUPING(Deptno) GrpDeptnoBit,
4 Job,
5 GROUPING(Job) GrpJobBit,
6 SUM(Sal)
7 FROM Emp
8* GROUP BY ROLLUP(Deptno, Job)

DEPTNO GRPDEPTNOBIT JOB GRPJOBBIT SUM(SAL)


------ ------------ --------- --------- ----------
10 0 CLERK 0 1300
10 0 MANAGER 0 2450
10 0 PRESIDENT 0 5000
10 0 1 8750
20 0 CLERK 0 1900
20 0 ANALYST 0 6000
20 0 MANAGER 0 2975
20 0 1 10875
30 0 CLERK 0 950
30 0 MANAGER 0 2850
30 0 SALESMAN 0 5600

DEPTNO GRPDEPTNOBIT JOB GRPJOBBIT SUM(SAL)


------ ------------ --------- --------- ----------
30 0 1 9400
1 1 29025

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 GROUPING(Deptno) GrpDeptnoBit,
4 Job,
5 GROUPING(Job) GrpJobBit,
6 GROUPIN_ID(Deptno, Job) GrpVal,
7 SUM(Sal) SalSum
8 FROM Emp
9* GROUP BY ROLLUP(Deptno, Job)
SQL> COLUMN SalSum FORMAt 99999
SQL> COLUMN GrpVal FORMAt 99
SQL> /
GROUPIN_ID(Deptno, Job) GrpVal,
*
ERROR at line 6:
ORA-00904: "GROUPIN_ID": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 GROUPING(Deptno) GrpDeptnoBit,
4 Job,
5 GROUPING(Job) GrpJobBit,
6 GROUPING_ID(Deptno, Job) GrpVal,
7 SUM(Sal) SalSum
8 FROM Emp
9* GROUP BY ROLLUP(Deptno, Job)
SQL> /

DEPTNO GRPDEPTNOBIT JOB GRPJOBBIT GRPVAL SALSUM


------ ------------ --------- --------- ------ ------
10 0 CLERK 0 0 1300
10 0 MANAGER 0 0 2450
10 0 PRESIDENT 0 0 5000
10 0 1 1 8750
20 0 CLERK 0 0 1900
20 0 ANALYST 0 0 6000
20 0 MANAGER 0 0 2975
20 0 1 1 10875
30 0 CLERK 0 0 950
30 0 MANAGER 0 0 2850
30 0 SALESMAN 0 0 5600

DEPTNO GRPDEPTNOBIT JOB GRPJOBBIT GRPVAL SALSUM


------ ------------ --------- --------- ------ ------
30 0 1 1 9400
1 1 3 29025

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 GROUPING_ID(Deptno, Job) GrpVal,
5 SUM(Sal) SalSum
6 FROM Emp
7* GROUP BY ROLLUP(Deptno, Job)
SQL> /

DEPTNO JOB GRPVAL SALSUM


------ --------- ------ ------
10 CLERK 0 1300
10 MANAGER 0 2450
10 PRESIDENT 0 5000
10 1 8750
20 CLERK 0 1900
20 ANALYST 0 6000
20 MANAGER 0 2975
20 1 10875
30 CLERK 0 950
30 MANAGER 0 2850
30 SALESMAN 0 5600

DEPTNO JOB GRPVAL SALSUM


------ --------- ------ ------
30 1 9400
3 29025

13 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 Deptno,
3 Job,
4 SUM(Sal) SalSum
5 FROM Emp
6 GROUP BY ROLLUP(Deptno, Job)
7 HAVING
8* GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
SQL> /
Enter value for grpval1: 0
Enter value for grpval2: 0
Enter value for grpval3: 0
old 8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new 8: GROUPING_ID(Deptno, Job) IN(0, 0, 0)

DEPTNO JOB SALSUM


------ --------- ------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600

9 rows selected.

SQL> /
Enter value for grpval1: 0
Enter value for grpval2: 1
Enter value for grpval3: 1
old 8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new 8: GROUPING_ID(Deptno, Job) IN(0, 1, 1)

DEPTNO JOB SALSUM


------ --------- ------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600
DEPTNO JOB SALSUM
------ --------- ------
30 9400

12 rows selected.

SQL> /
Enter value for grpval1: 1
Enter value for grpval2: 1
Enter value for grpval3: 1
old 8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new 8: GROUPING_ID(Deptno, Job) IN(1, 1, 1)

DEPTNO JOB SALSUM


------ --------- ------
10 8750
20 10875
30 9400

SQL> /
Enter value for grpval1: 1
Enter value for grpval2: 1
Enter value for grpval3: 3
old 8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new 8: GROUPING_ID(Deptno, Job) IN(1, 1, 3)

DEPTNO JOB SALSUM


------ --------- ------
10 8750
20 10875
30 9400
29025

SQL> /
Enter value for grpval1: 3
Enter value for grpval2: 3
Enter value for grpval3: 3
old 8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new 8: GROUPING_ID(Deptno, Job) IN(3, 3, 3)

DEPTNO JOB SALSUM


------ --------- ------
29025

SQL> SET AUTOTRACE ON EXPLAIN


SQL> SELECT
2 Deptno,
3 Job,
4 GROUPING_ID(Deptno, Job) GrpVal,
5 SUM(Sal) SalSum
6 FROM Emp
7 GROUP BY ROLLUP(Deptno, Job);

DEPTNO JOB GRPVAL SALSUM


------ --------- ------ ------
10 CLERK 0 1300
10 MANAGER 0 2450
10 PRESIDENT 0 5000
10 1 8750
20 CLERK 0 1900
20 ANALYST 0 6000
20 MANAGER 0 2975
20 1 10875
30 CLERK 0 950
30 MANAGER 0 2850
30 SALESMAN 0 5600

DEPTNO JOB GRPVAL SALSUM


------ --------- ------ ------
30 1 9400
3 29025

13 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=44
8)

1 0 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)


2 1 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 Byt
es=448)

SQL> SELECT
2 Deptno,
3 Job,
4 SUM(Sal) SalSum
5 FROM Emp
6 GROUP BY ROLLUP(Deptno, Job)
7 HAVING
8 GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
9 /
Enter value for grpval1: 1
Enter value for grpval2: 1
Enter value for grpval3: 3
old 8: GROUPING_ID(Deptno, Job) IN(&GrpVal1, &GrpVal2, &GrpVal3)
new 8: GROUPING_ID(Deptno, Job) IN(1, 1, 3)

DEPTNO JOB SALSUM


------ --------- ------
10 8750
20 10875
30 9400
29025

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=4 Card=14 Bytes=36
4)

1 0 FILTER
2 1 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=364)
3 2 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=14 B
ytes=364)

SQL> cl scr

SQL> SELECT Deptno, Job, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, ROLLUP(Deptno, Job);

DEPTNO JOB SUM(SAL)


------ --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600
10 8750
20 10875

DEPTNO JOB SUM(SAL)


------ --------- ----------
30 9400
10 8750
20 10875
30 9400

15 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
48)

1 0 TEMP TABLE TRANSFORMATION


2 1 MULTI-TABLE INSERT
3 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6602_14E5DF5'
4 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6603_14E5DF5'
5 4 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)

7 1 VIEW (Cost=6 Card=3 Bytes=96)


8 7 VIEW (Cost=6 Card=3 Bytes=96)
9 8 UNION-ALL
10 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6603_14E5DF5
' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

11 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6602_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6602_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job, GROUP_ID() GrpID, SUM(Sal)


2 FROM Emp
3* GROUP BY Deptno, ROLLUP(Deptno, Job)
SQL> /

DEPTNO JOB GRPID SUM(SAL)


------ --------- ---------- ----------
10 CLERK 0 1300
10 MANAGER 0 2450
10 PRESIDENT 0 5000
20 CLERK 0 1900
20 ANALYST 0 6000
20 MANAGER 0 2975
30 CLERK 0 950
30 MANAGER 0 2850
30 SALESMAN 0 5600
10 0 8750
20 0 10875

DEPTNO JOB GRPID SUM(SAL)


------ --------- ---------- ----------
30 0 9400
10 1 8750
20 1 10875
30 1 9400

15 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
90)

1 0 TEMP TABLE TRANSFORMATION


2 1 MULTI-TABLE INSERT
3 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6606_14E5DF5'
4 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D6607_14E5DF5'
5 4 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)

7 1 VIEW (Cost=6 Card=3 Bytes=105)


8 7 VIEW (Cost=6 Card=3 Bytes=105)
9 8 UNION-ALL
10 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6607_14E5DF5
' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

11 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6606_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D6606_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job, GROUP_ID() GrpID, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, ROLLUP(Deptno, Job)
4* HAVING GROUP_ID() = 0
SQL> /

DEPTNO JOB GRPID SUM(SAL)


------ --------- ---------- ----------
10 CLERK 0 1300
10 MANAGER 0 2450
10 PRESIDENT 0 5000
20 CLERK 0 1900
20 ANALYST 0 6000
20 MANAGER 0 2975
30 CLERK 0 950
30 MANAGER 0 2850
30 SALESMAN 0 5600
10 0 8750
20 0 10875

DEPTNO JOB GRPID SUM(SAL)


------ --------- ---------- ----------
30 0 9400

12 rows selected.

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
90)

1 0 TEMP TABLE TRANSFORMATION


2 1 MULTI-TABLE INSERT
3 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660A_14E5DF5'
4 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660B_14E5DF5'
5 4 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)
7 1 VIEW (Cost=6 Card=3 Bytes=105)
8 7 VIEW (Cost=6 Card=3 Bytes=105)
9 8 UNION-ALL
10 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660B_14E5DF5
' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

11 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12 9 FILTER
13 12 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660A_14E5D
F5' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, Job, GROUP_ID() GrpID, SUM(Sal)


2 FROM Emp
3 GROUP BY Deptno, ROLLUP(Deptno, Job)
4* HAVING GROUP_ID() = 1
SQL> /

DEPTNO JOB GRPID SUM(SAL)


------ --------- ---------- ----------
10 1 8750
20 1 10875
30 1 9400

Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=10 Card=14 Bytes=4
90)

1 0 TEMP TABLE TRANSFORMATION


2 1 MULTI-TABLE INSERT
3 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660E_14E5DF5'
4 2 DIRECT LOAD INTO OF 'SYS_TEMP_0FD9D660F_14E5DF5'
5 4 SORT (GROUP BY ROLLUP) (Cost=4 Card=14 Bytes=448)
6 5 TABLE ACCESS (FULL) OF 'EMP' (TABLE) (Cost=3 Card=
14 Bytes=448)

7 1 VIEW (Cost=6 Card=3 Bytes=105)


8 7 VIEW (Cost=6 Card=3 Bytes=105)
9 8 UNION-ALL
10 9 FILTER
11 10 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660F_14E5D
F5' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

12 9 FILTER
13 12 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660E_14E5D
F5' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

14 9 TABLE ACCESS (FULL) OF 'SYS_TEMP_0FD9D660E_14E5DF5


' (TABLE (TEMP)) (Cost=2 Card=1 Bytes=32)

SQL> SET AUTOTRACE OFF EXPLAIN


SQL> cl scr

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, Sal


2 FROM Emp
3 ORDER BY Sal DESC;

ENAME SAL
---------- ----------
KING 5000
FORD 3000
SCOTT 3000
JONES 2975
BLAKE 2850
CLARK 2450
ALLEN 1600
TURNER 1500
MILLER 1300
MARTIN 1250
WARD 1250

ENAME SAL
---------- ----------
ADAMS 1100
JAMES 950
SMITH 800

14 rows selected.

SQL> SELECT EName, Deptno, Sal,


2 RANK()
3 OVER(ORDER BY Sal) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6 ORDER BY Emprank
7
SQL> SELECT EName, Deptno, Sal
2 FROM Emp;

ENAME DEPTNO SAL


---------- ---------- ----------
KING 10 5000
BLAKE 30 2850
CLARK 10 2450
JONES 20 2975
MARTIN 30 1250
ALLEN 30 1600
TURNER 30 1500
JAMES 30 950
WARD 30 1250
FORD 20 3000
SMITH 20 800

ENAME DEPTNO SAL


---------- ---------- ----------
SCOTT 20 3000
ADAMS 20 1100
MILLER 10 1300

14 rows selected.

SQL> SELECT EName, Deptno, Sal,


2 RANK()
3 OVER(ORDER BY Sal) EmpRank
4 FROM Emp
5 /

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
SMITH 20 800 1
JAMES 30 950 2
ADAMS 20 1100 3
MARTIN 30 1250 4
WARD 30 1250 4
MILLER 10 1300 6
TURNER 30 1500 7
ALLEN 30 1600 8
CLARK 10 2450 9
BLAKE 30 2850 10
JONES 20 2975 11

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
FORD 20 3000 12
SCOTT 20 3000 12
KING 10 5000 14

14 rows selected.

SQL> SELECT EName, Deptno, Sal,


2 RANK()
3 OVER(ORDER BY Sal) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6 ORDER BY Emprank;

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
SMITH 20 800 1
JAMES 30 950 2
ADAMS 20 1100 3
MARTIN 30 1250 4
WARD 30 1250 4
MILLER 10 1300 6
TURNER 30 1500 7
ALLEN 30 1600 8
CLARK 10 2450 9
BLAKE 30 2850 10
JONES 20 2975 11

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
FORD 20 3000 12
SCOTT 20 3000 12
KING 10 5000 14

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT EName, Deptno, Sal,


2 RANK()
3 OVER(ORDER BY Sal) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6* ORDER BY Emprank DESC
SQL> /

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
KING 10 5000 14
FORD 20 3000 12
SCOTT 20 3000 12
JONES 20 2975 11
BLAKE 30 2850 10
CLARK 10 2450 9
ALLEN 30 1600 8
TURNER 30 1500 7
MILLER 10 1300 6
MARTIN 30 1250 4
WARD 30 1250 4

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
ADAMS 20 1100 3
JAMES 30 950 2
SMITH 20 800 1

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT EName, Deptno, Sal,


2 RANK()
3 OVER(ORDER BY Sal DESC) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6* ORDER BY Emprank
SQL> /

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
KING 10 5000 1
FORD 20 3000 2
SCOTT 20 3000 2
JONES 20 2975 4
BLAKE 30 2850 5
CLARK 10 2450 6
ALLEN 30 1600 7
TURNER 30 1500 8
MILLER 10 1300 9
MARTIN 30 1250 10
WARD 30 1250 10

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
ADAMS 20 1100 12
JAMES 30 950 13
SMITH 20 800 14

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT EName, Deptno, Sal,


2 RANK()
3 OVER(ORDER BY Sal DESC) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6* ORDER BY Emprank DESC
SQL> /

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
SMITH 20 800 14
JAMES 30 950 13
ADAMS 20 1100 12
MARTIN 30 1250 10
WARD 30 1250 10
MILLER 10 1300 9
TURNER 30 1500 8
ALLEN 30 1600 7
CLARK 10 2450 6
BLAKE 30 2850 5
JONES 20 2975 4

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
FORD 20 3000 2
SCOTT 20 3000 2
KING 10 5000 1

14 rows selected.

SQL> ED
Wrote file afiedt.buf
1 SELECT EName, Deptno,
2 RANK()
3 OVER(ORDER BY Sal DESC) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6* ORDER BY Emprank DESC
SQL> /

ENAME DEPTNO EMPRANK


---------- ---------- ----------
SMITH 20 14
JAMES 30 13
ADAMS 20 12
MARTIN 30 10
WARD 30 10
MILLER 10 9
TURNER 30 8
ALLEN 30 7
CLARK 10 6
BLAKE 30 5
JONES 20 4

ENAME DEPTNO EMPRANK


---------- ---------- ----------
FORD 20 2
SCOTT 20 2
KING 10 1

14 rows selected.

SQL> cl scr

SQL> SELECT EName, Deptno, Sal,


2 DENSE_RANK()
3 OVER(ORDER BY Sal DESC) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6 ORDER BY EmpRank;

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
KING 10 5000 1
FORD 20 3000 2
SCOTT 20 3000 2
JONES 20 2975 3
BLAKE 30 2850 4
CLARK 10 2450 5
ALLEN 30 1600 6
TURNER 30 1500 7
MILLER 10 1300 8
MARTIN 30 1250 9
WARD 30 1250 9

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
ADAMS 20 1100 10
JAMES 30 950 11
SMITH 20 800 12

14 rows selected.

SQL> cl scr

SQL> SELECT ROWNUM, E1.*


2 FROM (SELECT EName, Deptno, Sal,
3 DENSE_RANK()
4 OVER(ORDER BY Sal DESC) EmpRank
5 FROM Emp
6 GROUP BY Deptno, EName, Sal
7 ORDER BY EmpRank) E1
8 ORDER BY ROWNUM;

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 KING 10 5000 1
2 FORD 20 3000 2
3 SCOTT 20 3000 2
4 JONES 20 2975 3
5 BLAKE 30 2850 4
6 CLARK 10 2450 5
7 ALLEN 30 1600 6
8 TURNER 30 1500 7
9 MILLER 10 1300 8
10 MARTIN 30 1250 9
11 WARD 30 1250 9

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
12 ADAMS 20 1100 10
13 JAMES 30 950 11
14 SMITH 20 800 12

14 rows selected.

SQL> cl scr

SQL> SELECT
2 DENSE_RANK()
3 OVER(ORDER BY Ename) RollNo,
4 EName, Deptno, Sal
5 FROM Emp
6 GROUP BY Deptno, EName, Sal
7 ORDER BY RollNo;

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
1 ADAMS 20 1100
2 ALLEN 30 1600
3 BLAKE 30 2850
4 CLARK 10 2450
5 FORD 20 3000
6 JAMES 30 950
7 JONES 20 2975
8 KING 10 5000
9 MARTIN 30 1250
10 MILLER 10 1300
11 SCOTT 20 3000

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
12 SMITH 20 800
13 TURNER 30 1500
14 WARD 30 1250

14 rows selected.

SQL> INSERT INTO Emp(Empno, Ename, Deptno)


2 VALUES(1234, 'ALLEN', 30);

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno)


2 VALUES(1235, 'ALLEN', 30);

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno)


2 VALUES(1236, 'ALLEN', 30);

1 row created.

SQL> SELECT
2 DENSE_RANK()
3 OVER(ORDER BY Ename) RollNo,
4 EName, Deptno, Sal
5 FROM Emp
6 GROUP BY Deptno, EName, Sal
7 ORDER BY RollNo;

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
1 ADAMS 20 1100
2 ALLEN 30 1600
2 ALLEN 30
3 BLAKE 30 2850
4 CLARK 10 2450
5 FORD 20 3000
6 JAMES 30 950
7 JONES 20 2975
8 KING 10 5000
9 MARTIN 30 1250
10 MILLER 10 1300

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
11 SCOTT 20 3000
12 SMITH 20 800
13 TURNER 30 1500
14 WARD 30 1250

15 rows selected.
SQL> ED
Wrote file afiedt.buf

1 SELECT
2 DENSE_RANK()
3 OVER(ORDER BY Ename) RollNo,
4 EName, Deptno, Sal
5 FROM Emp
6* ORDER BY RollNo
SQL> /

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
1 ADAMS 20 1100
2 ALLEN 30 1600
2 ALLEN 30
2 ALLEN 30
2 ALLEN 30
3 BLAKE 30 2850
4 CLARK 10 2450
5 FORD 20 3000
6 JAMES 30 950
7 JONES 20 2975
8 KING 10 5000

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
9 MARTIN 30 1250
10 MILLER 10 1300
11 SCOTT 20 3000
12 SMITH 20 800
13 TURNER 30 1500
14 WARD 30 1250

17 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 DENSE_RANK()
3 OVER(ORDER BY Ename, Empno) RollNo,
4 EName, Deptno, Sal
5 FROM Emp
6* ORDER BY RollNo
SQL> /

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
1 ADAMS 20 1100
2 ALLEN 30
3 ALLEN 30
4 ALLEN 30
5 ALLEN 30 1600
6 BLAKE 30 2850
7 CLARK 10 2450
8 FORD 20 3000
9 JAMES 30 950
10 JONES 20 2975
11 KING 10 5000

ROLLNO ENAME DEPTNO SAL


---------- ---------- ---------- ----------
12 MARTIN 30 1250
13 MILLER 10 1300
14 SCOTT 20 3000
15 SMITH 20 800
16 TURNER 30 1500
17 WARD 30 1250

17 rows selected.

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT
2 DENSE_RANK()
3 OVER(ORDER BY Ename) RollNo,
4 EName, Sal,
5 DENSE_RANK()
6 OVER(ORDER BY Sal DESC) RankSal,
7 HireDate,
8 DENSE_RANK()
9 OVER(ORDER BY HireDate) SeniorRank,
10 DENSE_RANK()
11 OVER(ORDER BY HireDate DESC) JuniorRank
12 FROM Emp
13 ORDER BY RollNo;

ROLLNO ENAME SAL RANKSAL HIREDATE SENIORRANK JUNIORRANK


---------- ---------- ---------- ---------- --------- ---------- ----------
1 ADAMS 1100 10 12-JAN-83 13 1
2 ALLEN 1600 6 20-FEB-81 2 12
3 BLAKE 2850 4 01-MAY-81 5 9
4 CLARK 2450 5 09-JUN-81 6 8
5 FORD 3000 2 03-DEC-81 10 4
6 JAMES 950 11 03-DEC-81 10 4
7 JONES 2975 3 02-APR-81 4 10
8 KING 5000 1 17-NOV-81 9 5
9 MARTIN 1250 9 28-SEP-81 8 6
10 MILLER 1300 8 23-JAN-82 11 3
11 SCOTT 3000 2 09-DEC-82 12 2

ROLLNO ENAME SAL RANKSAL HIREDATE SENIORRANK JUNIORRANK


---------- ---------- ---------- ---------- --------- ---------- ----------
12 SMITH 800 12 17-DEC-80 1 13
13 TURNER 1500 7 08-SEP-81 7 7
14 WARD 1250 9 22-FEB-81 3 11

14 rows selected.
SQL> SELECT * FROm Emp;cl scr
2
SQL>
SQL> cl scr

SQL> SELECT EName, Deptno, Sal,


2 RANK()
3 OVER(PARTITION BY DeptNo
4 ORDER BY Sal DESC) "TOP Sal"
5 FROM Emp
6 ORDER BY Deptno, Sal DESC;

ENAME DEPTNO SAL TOP Sal


---------- ---------- ---------- ----------
KING 10 5000 1
CLARK 10 2450 2
MILLER 10 1300 3
FORD 20 3000 1
SCOTT 20 3000 1
JONES 20 2975 3
ADAMS 20 1100 4
SMITH 20 800 5
BLAKE 30 2850 1
ALLEN 30 1600 2
TURNER 30 1500 3

ENAME DEPTNO SAL TOP Sal


---------- ---------- ---------- ----------
MARTIN 30 1250 4
WARD 30 1250 4
JAMES 30 950 6

14 rows selected.

SQL> cl scr

SQL> SELECT EName, Deptno, Sal,


2 DENSE_RANK()
3 OVER(ORDER BY Sal DESC) EmpRank
4 FROM Emp
5 GROUP BY Deptno, EName, Sal
6 ORDER BY EmpRank;

ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ----------
KING 10 5000 1
FORD 20 3000 2
SCOTT 20 3000 2
JONES 20 2975 3
BLAKE 30 2850 4
CLARK 10 2450 5
ALLEN 30 1600 6
TURNER 30 1500 7
MILLER 10 1300 8
MARTIN 30 1250 9
WARD 30 1250 9
ENAME DEPTNO SAL EMPRANK
---------- ---------- ---------- ----------
ADAMS 20 1100 10
JAMES 30 950 11
SMITH 20 800 12

14 rows selected.

SQL> SELECT ROWNUM, E1.*


2 FROM (SELECT EName, Deptno, Sal,
3 DENSE_RANK()
4 OVER(ORDER BY Sal DESC) EmpRank
5 FROM Emp
6 GROUP BY Deptno, EName, Sal
7 ORDER BY EmpRank) E1
8 WHERE E1.EmpRank <= 5
9 ORDER BY ROWNUM;

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 KING 10 5000 1
2 FORD 20 3000 2
3 SCOTT 20 3000 2
4 JONES 20 2975 3
5 BLAKE 30 2850 4
6 CLARK 10 2450 5

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, E1.*


2 FROM (SELECT EName, Deptno, Sal,
3 DENSE_RANK()
4 OVER(ORDER BY Sal DESC) EmpRank
5 FROM Emp
6 GROUP BY Deptno, EName, Sal
7 ORDER BY EmpRank) E1
8 WHERE E1.EmpRank &GOperator &GValue
9* ORDER BY ROWNUM
SQL> /
Enter value for goperator: =
Enter value for gvalue: 1

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 KING 10 5000 1

SQL> /
Enter value for goperator: 1
Enter value for gvalue:
WHERE E1.EmpRank 1
*
ERROR at line 8:
ORA-00920: invalid relational operator
SQL> /
Enter value for goperator: =
Enter value for gvalue: 6

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 ALLEN 30 1600 6

SQL> /
Enter value for goperator: =
Enter value for gvalue: 2

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 FORD 20 3000 2
2 SCOTT 20 3000 2

SQL> /
Enter value for goperator: <
Enter value for gvalue: 5

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 KING 10 5000 1
2 FORD 20 3000 2
3 SCOTT 20 3000 2
4 JONES 20 2975 3
5 BLAKE 30 2850 4

SQL> /
Enter value for goperator: >
Enter value for gvalue: 5

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 ALLEN 30 1600 6
2 TURNER 30 1500 7
3 MILLER 10 1300 8
4 MARTIN 30 1250 9
5 WARD 30 1250 9
6 ADAMS 20 1100 10
7 JAMES 30 950 11
8 SMITH 20 800 12

8 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, E1.*


2 FROM (SELECT EName, Deptno, Sal,
3 DENSE_RANK()
4 OVER(ORDER BY Sal DESC) EmpRank
5 FROM Emp
6 GROUP BY Deptno, EName, Sal
7 ORDER BY EmpRank) E1
8 WHERE E1.EmpRank BETWEEN &GVal1 AND &GVal2
9* ORDER BY ROWNUM
SQL> /
Enter value for gval1: 1
Enter value for gval2: 4

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 KING 10 5000 1
2 FORD 20 3000 2
3 SCOTT 20 3000 2
4 JONES 20 2975 3
5 BLAKE 30 2850 4

SQL> /
Enter value for gval1: 5
Enter value for gval2: 9

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 CLARK 10 2450 5
2 ALLEN 30 1600 6
3 TURNER 30 1500 7
4 MILLER 10 1300 8
5 MARTIN 30 1250 9
6 WARD 30 1250 9

6 rows selected.

SQL> /
Enter value for gval1: 10
Enter value for gval2: 14

ROWNUM ENAME DEPTNO SAL EMPRANK


---------- ---------- ---------- ---------- ----------
1 ADAMS 20 1100 10
2 JAMES 30 950 11
3 SMITH 20 800 12

SQL> ED
Wrote file afiedt.buf

1 SELECT ROWNUM, E1.*


2 FROM (SELECT EName, Deptno, Sal,
3 DENSE_RANK()
4 OVER(ORDER BY Sal DESC) EmpRank
5 FROM Emp
6 GROUP BY Deptno, EName, Sal
7 ORDER BY EmpRank) E1
8 WHERE E1.EmpRank IN(&GVal1, &GVal2, &GVal3)
9* ORDER BY ROWNUM
SQL> /
Enter value for gval1: 1
Enter value for gval2: 5
Enter value for gval3: 8
ROWNUM ENAME DEPTNO SAL EMPRANK
---------- ---------- ---------- ---------- ----------
1 KING 10 5000 1
2 CLARK 10 2450 5
3 MILLER 10 1300 8

SQL> cl scr

SQL> SELECT
2 TO_CHAR(HireDate, 'YYYY') "Year",
3 SUM(Sal),
4 DENSE_RANK()
5 OVER(ORDER BY SUM(Sal) DESC) YearRank
6 FROM Emp
7 GROUP BY TO_CHAR(HireDate, 'YYYY')
8 ORDER BY YearRank;

Year SUM(SAL) YEARRANK


---- ---------- ----------
1981 22825 1
1982 4300 2
1983 1100 3
1980 800 4

SQL> ED
Wrote file afiedt.buf

1 SELECT
2 TO_CHAR(HireDate, 'YYYY') "Year",
3 SUM(Sal),
4 DENSE_RANK()
5 OVER(ORDER BY SUM(Sal) DESC) YearRank
6 FROM Emp
7 --GROUP BY TO_CHAR(HireDate, 'YYYY')
8* ORDER BY YearRank
SQL> /
TO_CHAR(HireDate, 'YYYY') "Year",
*
ERROR at line 2:
ORA-00937: not a single-group group function

SQL> cl scr

SQL> SELECT Deptno, TO_CHAR(HireDate, 'YYYY') "Year", SUM(Sal),


2 DENSE_RANK()
3 OVER(ORDER BY SUM(Sal) DESC) YearRank
4 FROM Emp
5 GROUP BY Deptno, TO_CHAR(HireDate, 'YYYY')
6 ORDER BY YearRank;

DEPTNO Year SUM(SAL) YEARRANK


---------- ---- ---------- ----------
30 1981 9400 1
10 1981 7450 2
20 1981 5975 3
20 1982 3000 4
10 1982 1300 5
20 1983 1100 6
20 1980 800 7

7 rows selected.

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(ORDER BY Sal DESC) "Run Sum"
4 FROM Emp;

ENAME DEPTNO SAL Run Sum


---------- ---------- ---------- ----------
KING 10 5000 5000
FORD 20 3000 11000
SCOTT 20 3000 11000
JONES 20 2975 13975
BLAKE 30 2850 16825
CLARK 10 2450 19275
ALLEN 30 1600 20875
TURNER 30 1500 22375
MILLER 10 1300 23675
MARTIN 30 1250 26175
WARD 30 1250 26175

ENAME DEPTNO SAL Run Sum


---------- ---------- ---------- ----------
ADAMS 20 1100 27275
JAMES 30 950 28225
SMITH 20 800 29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(ORDER BY Sal DESC, Ename) "Run Sum"
4* FROM Emp
SQL> /

ENAME DEPTNO SAL Run Sum


---------- ---------- ---------- ----------
KING 10 5000 5000
FORD 20 3000 8000
SCOTT 20 3000 11000
JONES 20 2975 13975
BLAKE 30 2850 16825
CLARK 10 2450 19275
ALLEN 30 1600 20875
TURNER 30 1500 22375
MILLER 10 1300 23675
MARTIN 30 1250 24925
WARD 30 1250 26175
ENAME DEPTNO SAL Run Sum
---------- ---------- ---------- ----------
ADAMS 20 1100 27275
JAMES 30 950 28225
SMITH 20 800 29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 AVG(Sal)
3 OVER(ORDER BY Sal DESC, Ename) "Mov Avg"
4* FROM Emp
SQL> /

ENAME DEPTNO SAL Mov Avg


---------- ---------- ---------- ----------
KING 10 5000 5000
FORD 20 3000 4000
SCOTT 20 3000 3666.66667
JONES 20 2975 3493.75
BLAKE 30 2850 3365
CLARK 10 2450 3212.5
ALLEN 30 1600 2982.14286
TURNER 30 1500 2796.875
MILLER 10 1300 2630.55556
MARTIN 30 1250 2492.5
WARD 30 1250 2379.54545

ENAME DEPTNO SAL Mov Avg


---------- ---------- ---------- ----------
ADAMS 20 1100 2272.91667
JAMES 30 950 2171.15385
SMITH 20 800 2073.21429

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno,


2 TO_CHAR(Sal, '9G999D99') Sal,
3 TO_CHAR(SUM(Sal)
4 OVER(ORDER BY Sal DESC, Ename), '99G999D99') "Run Sum",
5 TO_CHAR(AVG(Sal)
6 OVER(ORDER BY Sal DESC, Ename), '99G999D99') "Mov Avg"
7* FROM Emp
SQL> /

ENAME DEPTNO SAL Run Sum Mov Avg


---------- ---------- --------- ---------- ----------
KING 10 5,000.00 5,000.00 5,000.00
FORD 20 3,000.00 8,000.00 4,000.00
SCOTT 20 3,000.00 11,000.00 3,666.67
JONES 20 2,975.00 13,975.00 3,493.75
BLAKE 30 2,850.00 16,825.00 3,365.00
CLARK 10 2,450.00 19,275.00 3,212.50
ALLEN 30 1,600.00 20,875.00 2,982.14
TURNER 30 1,500.00 22,375.00 2,796.88
MILLER 10 1,300.00 23,675.00 2,630.56
MARTIN 30 1,250.00 24,925.00 2,492.50
WARD 30 1,250.00 26,175.00 2,379.55

ENAME DEPTNO SAL Run Sum Mov Avg


---------- ---------- --------- ---------- ----------
ADAMS 20 1,100.00 27,275.00 2,272.92
JAMES 30 950.00 28,225.00 2,171.15
SMITH 20 800.00 29,025.00 2,073.21

14 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> SELECT Ename, Deptno, Job, Sal,


2 RANK()
3 OVER(ORDER BY Sal DESC) Rank
4 FROM Emp;

ENAME DEPTNO JOB SAL RANK


---------- ---------- --------- ---------- ----------
KING 10 PRESIDENT 5000 1
FORD 20 ANALYST 3000 2
SCOTT 20 ANALYST 3000 2
JONES 20 MANAGER 2975 4
BLAKE 30 MANAGER 2850 5
CLARK 10 MANAGER 2450 6
ALLEN 30 SALESMAN 1600 7
TURNER 30 SALESMAN 1500 8
MILLER 10 CLERK 1300 9
MARTIN 30 SALESMAN 1250 10
WARD 30 SALESMAN 1250 10

ENAME DEPTNO JOB SAL RANK


---------- ---------- --------- ---------- ----------
ADAMS 20 CLERK 1100 12
JAMES 30 CLERK 950 13
SMITH 20 CLERK 800 14

14 rows selected.

SQL> COLUMN Deptno FORMAT 99


SQL> COLUMN Sal FORMAT 99999
SQL> /

ENAME DEPTNO JOB SAL RANK


---------- ------ --------- ------ ----------
KING 10 PRESIDENT 5000 1
FORD 20 ANALYST 3000 2
SCOTT 20 ANALYST 3000 2
JONES 20 MANAGER 2975 4
BLAKE 30 MANAGER 2850 5
CLARK 10 MANAGER 2450 6
ALLEN 30 SALESMAN 1600 7
TURNER 30 SALESMAN 1500 8
MILLER 10 CLERK 1300 9
MARTIN 30 SALESMAN 1250 10
WARD 30 SALESMAN 1250 10

ENAME DEPTNO JOB SAL RANK


---------- ------ --------- ------ ----------
ADAMS 20 CLERK 1100 12
JAMES 30 CLERK 950 13
SMITH 20 CLERK 800 14

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, Sal,


2 RANK()
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal DESC) Rank
6* FROM Emp
SQL> /

ENAME DEPTNO JOB SAL RANK


---------- ------ --------- ------ ----------
KING 10 PRESIDENT 5000 1
CLARK 10 MANAGER 2450 2
MILLER 10 CLERK 1300 3
FORD 20 ANALYST 3000 1
SCOTT 20 ANALYST 3000 1
JONES 20 MANAGER 2975 3
ADAMS 20 CLERK 1100 4
SMITH 20 CLERK 800 5
BLAKE 30 MANAGER 2850 1
ALLEN 30 SALESMAN 1600 2
TURNER 30 SALESMAN 1500 3

ENAME DEPTNO JOB SAL RANK


---------- ------ --------- ------ ----------
MARTIN 30 SALESMAN 1250 4
WARD 30 SALESMAN 1250 4
JAMES 30 CLERK 950 6

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal DESC, Ename) "Run Sal"
5* FROM Emp
SQL> /

ENAME DEPTNO JOB SAL Run Sal


---------- ------ --------- ------ ----------
KING 10 PRESIDENT 5000 5000
FORD 20 ANALYST 3000 8000
SCOTT 20 ANALYST 3000 11000
JONES 20 MANAGER 2975 13975
BLAKE 30 MANAGER 2850 16825
CLARK 10 MANAGER 2450 19275
ALLEN 30 SALESMAN 1600 20875
TURNER 30 SALESMAN 1500 22375
MILLER 10 CLERK 1300 23675
MARTIN 30 SALESMAN 1250 24925
WARD 30 SALESMAN 1250 26175

ENAME DEPTNO JOB SAL Run Sal


---------- ------ --------- ------ ----------
ADAMS 20 CLERK 1100 27275
JAMES 30 CLERK 950 28225
SMITH 20 CLERK 800 29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, Sal,


2 SUM(Sal)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal DESC, Ename) "Run Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO JOB SAL Run Sal


---------- ------ --------- ------ ----------
KING 10 PRESIDENT 5000 5000
CLARK 10 MANAGER 2450 7450
MILLER 10 CLERK 1300 8750
FORD 20 ANALYST 3000 3000
SCOTT 20 ANALYST 3000 6000
JONES 20 MANAGER 2975 8975
ADAMS 20 CLERK 1100 10075
SMITH 20 CLERK 800 10875
BLAKE 30 MANAGER 2850 2850
ALLEN 30 SALESMAN 1600 4450
TURNER 30 SALESMAN 1500 5950

ENAME DEPTNO JOB SAL Run Sal


---------- ------ --------- ------ ----------
MARTIN 30 SALESMAN 1250 7200
WARD 30 SALESMAN 1250 8450
JAMES 30 CLERK 950 9400
14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, Sal,


2 SUM(Sal)
3 OVER(
4 PARTITION BY Job
5 ORDER BY Sal DESC, Ename) "Run Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO JOB SAL Run Sal


---------- ------ --------- ------ ----------
FORD 20 ANALYST 3000 3000
SCOTT 20 ANALYST 3000 6000
MILLER 10 CLERK 1300 1300
ADAMS 20 CLERK 1100 2400
JAMES 30 CLERK 950 3350
SMITH 20 CLERK 800 4150
JONES 20 MANAGER 2975 2975
BLAKE 30 MANAGER 2850 5825
CLARK 10 MANAGER 2450 8275
KING 10 PRESIDENT 5000 5000
ALLEN 30 SALESMAN 1600 1600

ENAME DEPTNO JOB SAL Run Sal


---------- ------ --------- ------ ----------
TURNER 30 SALESMAN 1500 3100
MARTIN 30 SALESMAN 1250 4350
WARD 30 SALESMAN 1250 5600

14 rows selected.

SQL> SELECT Deptno, SUM(Sal) SalSum


2 FROM Emp
3 GROUP BY ROLLUP(Deptno);

DEPTNO SALSUM
------ ----------
10 8750
20 10875
30 9400
29025

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno, SUM(Sal) SalSum


2 FROM Emp
3 WHERE Deptno = &GDeptno
4* GROUP BY ROLLUP(Deptno)
SQL> /
Enter value for gdeptno: 10
DEPTNO SALSUM
------ ----------
10 8750
8750

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, Sal,


2 SUM(Sal)
3 OVER(
4 PARTITION BY Job
5 ORDER BY Sal DESC, Ename) "Run Sal",
6 AVG(Sal)
7 OVER(
8 PARTITION BY Job
9 ORDER BY Sal DESC, Ename) "Mov Avg Sal"
10* FROM Emp
SQL> /

ENAME DEPTNO JOB SAL Run Sal Mov Avg Sal


---------- ------ --------- ------ ---------- -----------
FORD 20 ANALYST 3000 3000 3000
SCOTT 20 ANALYST 3000 6000 3000
MILLER 10 CLERK 1300 1300 1300
ADAMS 20 CLERK 1100 2400 1200
JAMES 30 CLERK 950 3350 1116.66667
SMITH 20 CLERK 800 4150 1037.5
JONES 20 MANAGER 2975 2975 2975
BLAKE 30 MANAGER 2850 5825 2912.5
CLARK 10 MANAGER 2450 8275 2758.33333
KING 10 PRESIDENT 5000 5000 5000
ALLEN 30 SALESMAN 1600 1600 1600

ENAME DEPTNO JOB SAL Run Sal Mov Avg Sal


---------- ------ --------- ------ ---------- -----------
TURNER 30 SALESMAN 1500 3100 1550
MARTIN 30 SALESMAN 1250 4350 1450
WARD 30 SALESMAN 1250 5600 1400

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Job, Sal,


2 SUM(Sal)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal DESC, Ename) "Run Sal",
6 AVG(Sal)
7 OVER(
8 PARTITION BY Deptno
9 ORDER BY Sal DESC, Ename) "Mov Avg Sal"
10* FROM Emp
SQL> /
ENAME DEPTNO JOB SAL Run Sal Mov Avg Sal
---------- ------ --------- ------ ---------- -----------
KING 10 PRESIDENT 5000 5000 5000
CLARK 10 MANAGER 2450 7450 3725
MILLER 10 CLERK 1300 8750 2916.66667
FORD 20 ANALYST 3000 3000 3000
SCOTT 20 ANALYST 3000 6000 3000
JONES 20 MANAGER 2975 8975 2991.66667
ADAMS 20 CLERK 1100 10075 2518.75
SMITH 20 CLERK 800 10875 2175
BLAKE 30 MANAGER 2850 2850 2850
ALLEN 30 SALESMAN 1600 4450 2225
TURNER 30 SALESMAN 1500 5950 1983.33333

ENAME DEPTNO JOB SAL Run Sal Mov Avg Sal


---------- ------ --------- ------ ---------- -----------
MARTIN 30 SALESMAN 1250 7200 1800
WARD 30 SALESMAN 1250 8450 1690
JAMES 30 CLERK 950 9400 1566.66667

14 rows selected.

SQL> cl scr

SQL> SELECT *
2 FROM(SELECT Ename, Deptno, Sal,
3 DENSE_RANK()
4 OVER(PARTITION BY DeptNo
5 ORDER BY Sal DESC) "TOP Sal"
6 FROM Emp)
7 WHERE "TOP Sal" <=3
8 ORDER BY DeptNo, Sal DESC;

ENAME DEPTNO SAL TOP Sal


---------- ------ ------ ----------
KING 10 5000 1
CLARK 10 2450 2
MILLER 10 1300 3
FORD 20 3000 1
SCOTT 20 3000 1
JONES 20 2975 2
ADAMS 20 1100 3
BLAKE 30 2850 1
ALLEN 30 1600 2
TURNER 30 1500 3

10 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM(SELECT Ename, Deptno, Sal,
3 DENSE_RANK()
4 OVER(PARTITION BY DeptNo
5 ORDER BY Sal DESC) "TOP Sal"
6 FROM Emp)
7 WHERE "TOP Sal" = 3
8* ORDER BY DeptNo, Sal DESC
SQL> /

ENAME DEPTNO SAL TOP Sal


---------- ------ ------ ----------
MILLER 10 1300 3
ADAMS 20 1100 3
TURNER 30 1500 3

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(ORDER BY Sal DESC) "Run Sal"
4 FROM Emp;

ENAME DEPTNO SAL Run Sal


---------- ------ ------ ----------
KING 10 5000 5000
FORD 20 3000 11000
SCOTT 20 3000 11000
JONES 20 2975 13975
BLAKE 30 2850 16825
CLARK 10 2450 19275
ALLEN 30 1600 20875
TURNER 30 1500 22375
MILLER 10 1300 23675
MARTIN 30 1250 26175
WARD 30 1250 26175

ENAME DEPTNO SAL Run Sal


---------- ------ ------ ----------
ADAMS 20 1100 27275
JAMES 30 950 28225
SMITH 20 800 29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(ORDER BY Sal DESC, Ename) "Run Sal"
4* FROM Emp
SQL> /

ENAME DEPTNO SAL Run Sal


---------- ------ ------ ----------
KING 10 5000 5000
FORD 20 3000 8000
SCOTT 20 3000 11000
JONES 20 2975 13975
BLAKE 30 2850 16825
CLARK 10 2450 19275
ALLEN 30 1600 20875
TURNER 30 1500 22375
MILLER 10 1300 23675
MARTIN 30 1250 24925
WARD 30 1250 26175

ENAME DEPTNO SAL Run Sal


---------- ------ ------ ----------
ADAMS 20 1100 27275
JAMES 30 950 28225
SMITH 20 800 29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal DESC, Ename) "Run Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO SAL Run Sal


---------- ------ ------ ----------
KING 10 5000 5000
CLARK 10 2450 7450
MILLER 10 1300 8750
FORD 20 3000 3000
SCOTT 20 3000 6000
JONES 20 2975 8975
ADAMS 20 1100 10075
SMITH 20 800 10875
BLAKE 30 2850 2850
ALLEN 30 1600 4450
TURNER 30 1500 5950

ENAME DEPTNO SAL Run Sal


---------- ------ ------ ----------
MARTIN 30 1250 7200
WARD 30 1250 8450
JAMES 30 950 9400

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal DESC, Ename) "Run Sal"
6* FROM Emp
SQL> /
ENAME DEPTNO SAL Run Sal
---------- ------ ------ ----------
KING 10 5000 5000
CLARK 10 2450 7450
MILLER 10 1300 8750
FORD 20 3000 3000
SCOTT 20 3000 6000
JONES 20 2975 8975
ADAMS 20 1100 10075
SMITH 20 800 10875
BLAKE 30 2850 2850
ALLEN 30 1600 4450
TURNER 30 1500 5950

ENAME DEPTNO SAL Run Sal


---------- ------ ------ ----------
MARTIN 30 1250 7200
WARD 30 1250 8450
JAMES 30 950 9400

14 rows selected.

SQL> cl scr

SQL> SELECT DeptNo, Ename, Sal,


2 SUM(SAL)
3 OVER(
4 PARTITION BY DeptNo
5 ORDER BY EName
6 ROWS 2 PRECEDING
7 ) "Sliding Total"
8 FROM Emp
9 ORDER BY DeptNo, EName;

DEPTNO ENAME SAL Sliding Total


------ ---------- ------ -------------
10 CLARK 2450 2450
10 KING 5000 7450
10 MILLER 1300 8750
20 ADAMS 1100 1100
20 FORD 3000 4100
20 JONES 2975 7075
20 SCOTT 3000 8975
20 SMITH 800 6775
30 ALLEN 1600 1600
30 BLAKE 2850 4450
30 JAMES 950 5400

DEPTNO ENAME SAL Sliding Total


------ ---------- ------ -------------
30 MARTIN 1250 5050
30 TURNER 1500 3700
30 WARD 1250 4000

14 rows selected.

SQL> cl scr
SQL> SELECT Ename,
2 HireDate,
3 COUNT(*)
4 OVER(ORDER BY HireDate ASC
5 RANGE 100 PRECEDING) HireCnt
6 FROM Emp
7 ORDER BY HireDate ASC;

ENAME HIREDATE HIRECNT


---------- --------- ----------
SMITH 17-DEC-80 1
ALLEN 20-FEB-81 2
WARD 22-FEB-81 3
JONES 02-APR-81 3
BLAKE 01-MAY-81 4
CLARK 09-JUN-81 3
TURNER 08-SEP-81 2
MARTIN 28-SEP-81 2
KING 17-NOV-81 3
JAMES 03-DEC-81 5
FORD 03-DEC-81 5

ENAME HIREDATE HIRECNT


---------- --------- ----------
MILLER 23-JAN-82 4
SCOTT 09-DEC-82 1
ADAMS 12-JAN-83 2

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename,
2 HireDate, HireDate - 100 "100Days",
3 COUNT(*)
4 OVER(ORDER BY HireDate ASC
5 RANGE 100 PRECEDING) HireCnt
6 FROM Emp
7* ORDER BY HireDate ASC
SQL> /

ENAME HIREDATE 100Days HIRECNT


---------- --------- --------- ----------
SMITH 17-DEC-80 08-SEP-80 1
ALLEN 20-FEB-81 12-NOV-80 2
WARD 22-FEB-81 14-NOV-80 3
JONES 02-APR-81 23-DEC-80 3
BLAKE 01-MAY-81 21-JAN-81 4
CLARK 09-JUN-81 01-MAR-81 3
TURNER 08-SEP-81 31-MAY-81 2
MARTIN 28-SEP-81 20-JUN-81 2
KING 17-NOV-81 09-AUG-81 3
JAMES 03-DEC-81 25-AUG-81 5
FORD 03-DEC-81 25-AUG-81 5
ENAME HIREDATE 100Days HIRECNT
---------- --------- --------- ----------
MILLER 23-JAN-82 15-OCT-81 4
SCOTT 09-DEC-82 31-AUG-82 1
ADAMS 12-JAN-83 04-OCT-82 2

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, HireDate, Sal,


2 TO_CHAR(ROUND(AVG(Sal)
3 OVER(ORDER BY HireDate ASC
4 RANGE 100 PRECEDING) , 2), '99G999D99') AvgSal
5 FROM Emp
6 ORDER BY HireDate ASC;

ENAME HIREDATE SAL AVGSAL


---------- --------- ------ ----------
SMITH 17-DEC-80 800 800.00
ALLEN 20-FEB-81 1600 1,200.00
WARD 22-FEB-81 1250 1,216.67
JONES 02-APR-81 2975 1,941.67
BLAKE 01-MAY-81 2850 2,168.75
CLARK 09-JUN-81 2450 2,758.33
TURNER 08-SEP-81 1500 1,975.00
MARTIN 28-SEP-81 1250 1,375.00
KING 17-NOV-81 5000 2,583.33
JAMES 03-DEC-81 950 2,340.00
FORD 03-DEC-81 3000 2,340.00

ENAME HIREDATE SAL AVGSAL


---------- --------- ------ ----------
MILLER 23-JAN-82 1300 2,562.50
SCOTT 09-DEC-82 3000 3,000.00
ADAMS 12-JAN-83 1100 2,050.00

14 rows selected.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, HireDate, Sal,


2 LAG(Sal, 1, 0)
3 OVER(ORDER BY HireDate) PreSal
4 FROM Emp;

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
SMITH 17-DEC-80 800 0
ALLEN 20-FEB-81 1600 800
WARD 22-FEB-81 1250 1600
JONES 02-APR-81 2975 1250
BLAKE 01-MAY-81 2850 2975
CLARK 09-JUN-81 2450 2850
TURNER 08-SEP-81 1500 2450
MARTIN 28-SEP-81 1250 1500
KING 17-NOV-81 5000 1250
JAMES 03-DEC-81 950 5000
FORD 03-DEC-81 3000 950

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
MILLER 23-JAN-82 1300 3000
SCOTT 09-DEC-82 3000 1300
ADAMS 12-JAN-83 1100 3000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate, Sal,


2 LAG(Sal, 1)
3 OVER(ORDER BY HireDate) PreSal
4* FROM Emp
SQL> /

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
SMITH 17-DEC-80 800
ALLEN 20-FEB-81 1600 800
WARD 22-FEB-81 1250 1600
JONES 02-APR-81 2975 1250
BLAKE 01-MAY-81 2850 2975
CLARK 09-JUN-81 2450 2850
TURNER 08-SEP-81 1500 2450
MARTIN 28-SEP-81 1250 1500
KING 17-NOV-81 5000 1250
JAMES 03-DEC-81 950 5000
FORD 03-DEC-81 3000 950

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
MILLER 23-JAN-82 1300 3000
SCOTT 09-DEC-82 3000 1300
ADAMS 12-JAN-83 1100 3000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate, Sal,


2 LAG(Sal, 1)
3 OVER(ORDER BY HireDate) PreSal1,
4 LAG(Sal, 2)
5 OVER(ORDER BY HireDate) PreSal2,
6 LAG(Sal, 3)
7 OVER(ORDER BY HireDate) PreSal3,
8 LAG(Sal, 4)
9 OVER(ORDER BY HireDate) PreSal4,
10 LAG(Sal, 5)
11 OVER(ORDER BY HireDate) PreSal5
12* FROM Emp
SQL> /

ENAME HIREDATE SAL PRESAL1 PRESAL2 PRESAL3 PRESAL4


---------- --------- ---------- ---------- ---------- ---------- ----------
PRESAL5
----------
SMITH 17-DEC-80 800

ALLEN 20-FEB-81 1600 800

WARD 22-FEB-81 1250 1600 800

ENAME HIREDATE SAL PRESAL1 PRESAL2 PRESAL3 PRESAL4


---------- --------- ---------- ---------- ---------- ---------- ----------
PRESAL5
----------
JONES 02-APR-81 2975 1250 1600 800

BLAKE 01-MAY-81 2850 2975 1250 1600 800

CLARK 09-JUN-81 2450 2850 2975 1250 1600


800

ENAME HIREDATE SAL PRESAL1 PRESAL2 PRESAL3 PRESAL4


---------- --------- ---------- ---------- ---------- ---------- ----------
PRESAL5
----------
TURNER 08-SEP-81 1500 2450 2850 2975 1250
1600

MARTIN 28-SEP-81 1250 1500 2450 2850 2975


1250

KING 17-NOV-81 5000 1250 1500 2450 2850


2975

ENAME HIREDATE SAL PRESAL1 PRESAL2 PRESAL3 PRESAL4


---------- --------- ---------- ---------- ---------- ---------- ----------
PRESAL5
----------
JAMES 03-DEC-81 950 5000 1250 1500 2450
2850

FORD 03-DEC-81 3000 950 5000 1250 1500


2450

MILLER 23-JAN-82 1300 3000 950 5000 1250


1500
ENAME HIREDATE SAL PRESAL1 PRESAL2 PRESAL3 PRESAL4
---------- --------- ---------- ---------- ---------- ---------- ----------
PRESAL5
----------
SCOTT 09-DEC-82 3000 1300 3000 950 5000
1250

ADAMS 12-JAN-83 1100 3000 1300 3000 950


5000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate, Sal,


2 LAG(Sal, 1)
3 OVER(ORDER BY HireDate) PreSal1,
4 LAG(Sal, 2)
5 OVER(ORDER BY HireDate) PreSal2,
6 LAG(Sal, 3)
7 OVER(ORDER BY HireDate) PreSal3,
8 LAG(Sal, 4)
9 OVER(ORDER BY HireDate) PreSal4
10* FROM Emp
SQL> /

ENAME HIREDATE SAL PRESAL1 PRESAL2 PRESAL3 PRESAL4


---------- --------- ---------- ---------- ---------- ---------- ----------
SMITH 17-DEC-80 800
ALLEN 20-FEB-81 1600 800
WARD 22-FEB-81 1250 1600 800
JONES 02-APR-81 2975 1250 1600 800
BLAKE 01-MAY-81 2850 2975 1250 1600 800
CLARK 09-JUN-81 2450 2850 2975 1250 1600
TURNER 08-SEP-81 1500 2450 2850 2975 1250
MARTIN 28-SEP-81 1250 1500 2450 2850 2975
KING 17-NOV-81 5000 1250 1500 2450 2850
JAMES 03-DEC-81 950 5000 1250 1500 2450
FORD 03-DEC-81 3000 950 5000 1250 1500

ENAME HIREDATE SAL PRESAL1 PRESAL2 PRESAL3 PRESAL4


---------- --------- ---------- ---------- ---------- ---------- ----------
MILLER 23-JAN-82 1300 3000 950 5000 1250
SCOTT 09-DEC-82 3000 1300 3000 950 5000
ADAMS 12-JAN-83 1100 3000 1300 3000 950

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate, Sal,


2 LAG(Sal, &GOffset)
3 OVER(ORDER BY HireDate) PreSal
4* FROM Emp
SQL> /
Enter value for goffset: 1
old 2: LAG(Sal, &GOffset)
new 2: LAG(Sal, 1)

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
SMITH 17-DEC-80 800
ALLEN 20-FEB-81 1600 800
WARD 22-FEB-81 1250 1600
JONES 02-APR-81 2975 1250
BLAKE 01-MAY-81 2850 2975
CLARK 09-JUN-81 2450 2850
TURNER 08-SEP-81 1500 2450
MARTIN 28-SEP-81 1250 1500
KING 17-NOV-81 5000 1250
JAMES 03-DEC-81 950 5000
FORD 03-DEC-81 3000 950

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
MILLER 23-JAN-82 1300 3000
SCOTT 09-DEC-82 3000 1300
ADAMS 12-JAN-83 1100 3000

14 rows selected.

SQL> /
Enter value for goffset: 2
old 2: LAG(Sal, &GOffset)
new 2: LAG(Sal, 2)

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
SMITH 17-DEC-80 800
ALLEN 20-FEB-81 1600
WARD 22-FEB-81 1250 800
JONES 02-APR-81 2975 1600
BLAKE 01-MAY-81 2850 1250
CLARK 09-JUN-81 2450 2975
TURNER 08-SEP-81 1500 2850
MARTIN 28-SEP-81 1250 2450
KING 17-NOV-81 5000 1500
JAMES 03-DEC-81 950 1250
FORD 03-DEC-81 3000 5000

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
MILLER 23-JAN-82 1300 950
SCOTT 09-DEC-82 3000 3000
ADAMS 12-JAN-83 1100 1300

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate, Sal,


2 LAG(Sal, &GOffset)
3 OVER(ORDER BY HireDate) PreSal
4 FROM Emp
5* WHERE Ename = &GEname
SQL> SET VERIFY OFF
SQL> /
Enter value for goffset: 1
Enter value for gename: KING
WHERE Ename = KING
*
ERROR at line 5:
ORA-00904: "KING": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate, Sal,


2 LAG(Sal, &GOffset)
3 OVER(ORDER BY HireDate) PreSal
4 FROM Emp
5* WHERE Ename = UPPER('&GEname')
SQL> /
Enter value for goffset: 1
Enter value for gename: king

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
KING 17-NOV-81 5000

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate, Sal,


2 LAG(Sal, &GOffset)
3 OVER(ORDER BY HireDate) PreSal
4 FROM Emp
5* WHERE Deptno = 10
SQL> /
Enter value for goffset: 1

ENAME HIREDATE SAL PRESAL


---------- --------- ---------- ----------
CLARK 09-JUN-81 2450
KING 17-NOV-81 5000 2450
MILLER 23-JAN-82 1300 5000

SQL> cl scr

SQL> SELECT Ename, HireDate, Sal,


2 LEAD(Sal, 1, 0)
3 OVER(ORDER BY HireDate) NextSal
4 FROM Emp;
ENAME HIREDATE SAL NEXTSAL
---------- --------- ---------- ----------
SMITH 17-DEC-80 800 1600
ALLEN 20-FEB-81 1600 1250
WARD 22-FEB-81 1250 2975
JONES 02-APR-81 2975 2850
BLAKE 01-MAY-81 2850 2450
CLARK 09-JUN-81 2450 1500
TURNER 08-SEP-81 1500 1250
MARTIN 28-SEP-81 1250 5000
KING 17-NOV-81 5000 950
JAMES 03-DEC-81 950 3000
FORD 03-DEC-81 3000 1300

ENAME HIREDATE SAL NEXTSAL


---------- --------- ---------- ----------
MILLER 23-JAN-82 1300 3000
SCOTT 09-DEC-82 3000 1100
ADAMS 12-JAN-83 1100 0

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate,


2 LAG(Sal, 1, 0)
3 OVER(ORDER BY HireDate) PreSal,
4 Sal CurrSal,
5 LEAD(Sal, 1, 0)
6 OVER(ORDER BY HireDate) NextSal
7* FROM Emp
SQL> /

ENAME HIREDATE PRESAL CURRSAL NEXTSAL


---------- --------- ---------- ---------- ----------
SMITH 17-DEC-80 0 800 1600
ALLEN 20-FEB-81 800 1600 1250
WARD 22-FEB-81 1600 1250 2975
JONES 02-APR-81 1250 2975 2850
BLAKE 01-MAY-81 2975 2850 2450
CLARK 09-JUN-81 2850 2450 1500
TURNER 08-SEP-81 2450 1500 1250
MARTIN 28-SEP-81 1500 1250 5000
KING 17-NOV-81 1250 5000 950
JAMES 03-DEC-81 5000 950 3000
FORD 03-DEC-81 950 3000 1300

ENAME HIREDATE PRESAL CURRSAL NEXTSAL


---------- --------- ---------- ---------- ----------
MILLER 23-JAN-82 3000 1300 3000
SCOTT 09-DEC-82 1300 3000 1100
ADAMS 12-JAN-83 3000 1100 0

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate,


2 LAG(Sal, 2, 0)
3 OVER(ORDER BY HireDate) PreSal2,
4 LAG(Sal, 1, 0)
5 OVER(ORDER BY HireDate) PreSal1,
6 Sal CurrSal,
7 LEAD(Sal, 1, 0)
8 OVER(ORDER BY HireDate) NextSal1
9 LEAD(Sal, 2, 0)
10 OVER(ORDER BY HireDate) NextSal2
11* FROM Emp
SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, HireDate,


2 LAG(Sal, 2, 0)
3 OVER(ORDER BY HireDate) PreSal2,
4 LAG(Sal, 1, 0)
5 OVER(ORDER BY HireDate) PreSal1,
6 Sal CurrSal,
7 LEAD(Sal, 1, 0)
8 OVER(ORDER BY HireDate) NextSal1,
9 LEAD(Sal, 2, 0)
10 OVER(ORDER BY HireDate) NextSal2
11* FROM Emp
SQL> /

ENAME HIREDATE PRESAL2 PRESAL1 CURRSAL NEXTSAL1 NEXTSAL2


---------- --------- ---------- ---------- ---------- ---------- ----------
SMITH 17-DEC-80 0 0 800 1600 1250
ALLEN 20-FEB-81 0 800 1600 1250 2975
WARD 22-FEB-81 800 1600 1250 2975 2850
JONES 02-APR-81 1600 1250 2975 2850 2450
BLAKE 01-MAY-81 1250 2975 2850 2450 1500
CLARK 09-JUN-81 2975 2850 2450 1500 1250
TURNER 08-SEP-81 2850 2450 1500 1250 5000
MARTIN 28-SEP-81 2450 1500 1250 5000 950
KING 17-NOV-81 1500 1250 5000 950 3000
JAMES 03-DEC-81 1250 5000 950 3000 1300
FORD 03-DEC-81 5000 950 3000 1300 3000

ENAME HIREDATE PRESAL2 PRESAL1 CURRSAL NEXTSAL1 NEXTSAL2


---------- --------- ---------- ---------- ---------- ---------- ----------
MILLER 23-JAN-82 950 3000 1300 3000 1100
SCOTT 09-DEC-82 3000 1300 3000 1100 0
ADAMS 12-JAN-83 1300 3000 1100 0 0

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, HireDate, Sal,


2 Sal - LAG(Sal, 1, 0)
3 OVER(ORDER BY HireDate) DiffPreSal
4 FROM Emp;
ENAME HIREDATE SAL DIFFPRESAL
---------- --------- ---------- ----------
SMITH 17-DEC-80 800 800
ALLEN 20-FEB-81 1600 800
WARD 22-FEB-81 1250 -350
JONES 02-APR-81 2975 1725
BLAKE 01-MAY-81 2850 -125
CLARK 09-JUN-81 2450 -400
TURNER 08-SEP-81 1500 -950
MARTIN 28-SEP-81 1250 -250
KING 17-NOV-81 5000 3750
JAMES 03-DEC-81 950 -4050
FORD 03-DEC-81 3000 2050

ENAME HIREDATE SAL DIFFPRESAL


---------- --------- ---------- ----------
MILLER 23-JAN-82 1300 -1700
SCOTT 09-DEC-82 3000 1700
ADAMS 12-JAN-83 1100 -1900

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, HireDate, Sal,


2 Sal - LEAD(Sal, 1, 0)
3 OVER(ORDER BY HireDate) DiffNextSal
4 FROM Emp;

ENAME HIREDATE SAL DIFFNEXTSAL


---------- --------- ---------- -----------
SMITH 17-DEC-80 800 -800
ALLEN 20-FEB-81 1600 350
WARD 22-FEB-81 1250 -1725
JONES 02-APR-81 2975 125
BLAKE 01-MAY-81 2850 400
CLARK 09-JUN-81 2450 950
TURNER 08-SEP-81 1500 250
MARTIN 28-SEP-81 1250 -3750
KING 17-NOV-81 5000 4050
JAMES 03-DEC-81 950 -2050
FORD 03-DEC-81 3000 1700

ENAME HIREDATE SAL DIFFNEXTSAL


---------- --------- ---------- -----------
MILLER 23-JAN-82 1300 -1700
SCOTT 09-DEC-82 3000 1900
ADAMS 12-JAN-83 1100 1100

14 rows selected.

SQL> cl scr

SQL> COLUMN Remarks FORMAT A30


SQL> SELECT E1.Ename, E1.HireDate, E1.Sal,
ABS(E1.DiffNExtSal)||DECODE(SIGN(E1.DiffNextSal),
2 1, ' More Than Next Salary.',
3 -1, ' Less Than Next Salary.',
4 ' Salaries Equal.') Remarks
5 FROM (SELECT Ename, HireDate, Sal,
6 Sal - LEAD(Sal, 1, 0)
7 OVER(ORDER BY HireDate) DiffNextSal
8 FROM Emp) E1;

ENAME HIREDATE SAL REMARKS


---------- --------- ---------- ------------------------------
SMITH 17-DEC-80 800 800 Less Than Next Salary.
ALLEN 20-FEB-81 1600 350 More Than Next Salary.
WARD 22-FEB-81 1250 1725 Less Than Next Salary.
JONES 02-APR-81 2975 125 More Than Next Salary.
BLAKE 01-MAY-81 2850 400 More Than Next Salary.
CLARK 09-JUN-81 2450 950 More Than Next Salary.
TURNER 08-SEP-81 1500 250 More Than Next Salary.
MARTIN 28-SEP-81 1250 3750 Less Than Next Salary.
KING 17-NOV-81 5000 4050 More Than Next Salary.
JAMES 03-DEC-81 950 2050 Less Than Next Salary.
FORD 03-DEC-81 3000 1700 More Than Next Salary.

ENAME HIREDATE SAL REMARKS


---------- --------- ---------- ------------------------------
MILLER 23-JAN-82 1300 1700 Less Than Next Salary.
SCOTT 09-DEC-82 3000 1900 More Than Next Salary.
ADAMS 12-JAN-83 1100 1100 More Than Next Salary.

14 rows selected.

SQL> cl scr

SQL> COLUMN Remarks FORMAT A40


SQL> SELECT E1.Deptno, E1.DeptSalSum,
2 ABS(E1.DeptSalSum - NextSal)||
3 DECODE(NVL(SIGN(E1.DeptSalSum - NextSal), 0),
4 1, ' More Budget Than Next Department',
5 -1, ' Less Budget Than Next Department',
6 0, ' Terminating Department') Remarks
7 FROM (SELECT Deptno, SUM(Sal) DeptSalSum,
8 LEAD(SUM(Sal), 1, NULL)
9 OVER(ORDER BY Deptno) NextSal
10 FROM Emp
11 GROUP BY Deptno) E1;

DEPTNO DEPTSALSUM REMARKS


---------- ---------- ----------------------------------------
10 8750 2125 Less Budget Than Next Department
20 10875 1475 More Budget Than Next Department
30 9400 Terminating Department

SQL> cl scr

SQL> BREAK ON Deptno SKIP 1


SQL> COLUMN DaysDiff FORMAT A40
SQL> COLUMN DEPTNO FORMAT 99
SQL> COLUMN ENAME FORMAT A10
SQL> SELECT Deptno, Ename, HireDate,
2 LAG(HireDate, 1, NULL)
3 OVER(PARTITION BY Deptno
4 ORDER BY HireDate, Ename) Last_Hire,
5 NVL(HireDate - LAG(HireDate, 1, Null)
6 OVER (PARTITION BY Deptno
7 ORDER BY HireDate, Ename), 0)||' Days of Difference.' DaysDiff
8 FROM Emp
9 ORDER BY DeptNo, HireDate;

DEPTNO ENAME HIREDATE LAST_HIRE DAYSDIFF


------ ---------- --------- --------- ----------------------------------------
10 CLARK 09-JUN-81 0 Days of Difference.
KING 17-NOV-81 09-JUN-81 161 Days of Difference.
MILLER 23-JAN-82 17-NOV-81 67 Days of Difference.

20 SMITH 17-DEC-80 0 Days of Difference.


JONES 02-APR-81 17-DEC-80 106 Days of Difference.
FORD 03-DEC-81 02-APR-81 245 Days of Difference.
SCOTT 09-DEC-82 03-DEC-81 371 Days of Difference.
ADAMS 12-JAN-83 09-DEC-82 34 Days of Difference.

30 ALLEN 20-FEB-81 0 Days of Difference.

DEPTNO ENAME HIREDATE LAST_HIRE DAYSDIFF


------ ---------- --------- --------- ----------------------------------------
30 WARD 22-FEB-81 20-FEB-81 2 Days of Difference.
BLAKE 01-MAY-81 22-FEB-81 68 Days of Difference.
TURNER 08-SEP-81 01-MAY-81 130 Days of Difference.
MARTIN 28-SEP-81 08-SEP-81 20 Days of Difference.
JAMES 03-DEC-81 28-SEP-81 66 Days of Difference.

14 rows selected.

SQL> BREAK ON Deptno DUP


SQL> cl scr

SQL> SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(PARTITION BY DeptNo
4 ORDER BY Sal DESC) Max_Sal_Name
5 FROM Emp ORDER BY Deptno, Sal DESC, Ename DESC;

ENAME DEPTNO SAL MAX_SAL_NA


---------- ------ ---------- ----------
KING 10 5000 KING
CLARK 10 2450 KING
MILLER 10 1300 KING
SCOTT 20 3000 FORD
FORD 20 3000 FORD
JONES 20 2975 FORD
ADAMS 20 1100 FORD
SMITH 20 800 FORD
BLAKE 30 2850 BLAKE
ALLEN 30 1600 BLAKE
TURNER 30 1500 BLAKE
ENAME DEPTNO SAL MAX_SAL_NA
---------- ------ ---------- ----------
WARD 30 1250 BLAKE
MARTIN 30 1250 BLAKE
JAMES 30 950 BLAKE

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(PARTITION BY DeptNo
4 ORDER BY Sal DESC) Max_Sal_Name
5 FROM Emp
6* ORDER BY Deptno, Sal DESC
SQL> /

ENAME DEPTNO SAL MAX_SAL_NA


---------- ------ ---------- ----------
KING 10 5000 KING
CLARK 10 2450 KING
MILLER 10 1300 KING
FORD 20 3000 FORD
SCOTT 20 3000 FORD
JONES 20 2975 FORD
ADAMS 20 1100 FORD
SMITH 20 800 FORD
BLAKE 30 2850 BLAKE
ALLEN 30 1600 BLAKE
TURNER 30 1500 BLAKE

ENAME DEPTNO SAL MAX_SAL_NA


---------- ------ ---------- ----------
MARTIN 30 1250 BLAKE
WARD 30 1250 BLAKE
JAMES 30 950 BLAKE

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 LAST_VALUE(Ename)
3 OVER(PARTITION BY DeptNo
4 ORDER BY Sal DESC) Last
5 FROM Emp
6* ORDER BY Deptno, Sal DESC
SQL> /

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
KING 10 5000 KING
CLARK 10 2450 CLARK
MILLER 10 1300 MILLER
FORD 20 3000 SCOTT
SCOTT 20 3000 SCOTT
JONES 20 2975 JONES
ADAMS 20 1100 ADAMS
SMITH 20 800 SMITH
BLAKE 30 2850 BLAKE
ALLEN 30 1600 ALLEN
TURNER 30 1500 TURNER

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
MARTIN 30 1250 WARD
WARD 30 1250 WARD
JAMES 30 950 JAMES

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(PARTITION BY DeptNo
4 ORDER BY Sal DESC) Last
5 FROM Emp
6* ORDER BY Deptno, Sal DESC
SQL> /

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
KING 10 5000 KING
CLARK 10 2450 KING
MILLER 10 1300 KING
FORD 20 3000 FORD
SCOTT 20 3000 FORD
JONES 20 2975 FORD
ADAMS 20 1100 FORD
SMITH 20 800 FORD
BLAKE 30 2850 BLAKE
ALLEN 30 1600 BLAKE
TURNER 30 1500 BLAKE

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
MARTIN 30 1250 BLAKE
WARD 30 1250 BLAKE
JAMES 30 950 BLAKE

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(PARTITION BY DeptNo
4 ORDER BY Sal DESC) First
5 FROM Emp
6* ORDER BY Deptno, Sal DESC
SQL> /

ENAME DEPTNO SAL FIRST


---------- ------ ---------- ----------
KING 10 5000 KING
CLARK 10 2450 KING
MILLER 10 1300 KING
FORD 20 3000 FORD
SCOTT 20 3000 FORD
JONES 20 2975 FORD
ADAMS 20 1100 FORD
SMITH 20 800 FORD
BLAKE 30 2850 BLAKE
ALLEN 30 1600 BLAKE
TURNER 30 1500 BLAKE

ENAME DEPTNO SAL FIRST


---------- ------ ---------- ----------
MARTIN 30 1250 BLAKE
WARD 30 1250 BLAKE
JAMES 30 950 BLAKE

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 LAST_VALUE(Ename)
3 OVER(PARTITION BY DeptNo
4 ORDER BY Sal DESC) Last
5 FROM Emp
6* ORDER BY Deptno, Sal DESC
SQL> /

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
KING 10 5000 KING
CLARK 10 2450 CLARK
MILLER 10 1300 MILLER
FORD 20 3000 SCOTT
SCOTT 20 3000 SCOTT
JONES 20 2975 JONES
ADAMS 20 1100 ADAMS
SMITH 20 800 SMITH
BLAKE 30 2850 BLAKE
ALLEN 30 1600 ALLEN
TURNER 30 1500 TURNER

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
MARTIN 30 1250 WARD
WARD 30 1250 WARD
JAMES 30 950 JAMES
14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 LAST_VALUE(Ename)
3 OVER(PARTITION BY DeptNo
4 ORDER BY Deptno) Last
5 FROM Emp
6* ORDER BY Deptno
SQL> /

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
CLARK 10 2450 MILLER
KING 10 5000 MILLER
MILLER 10 1300 MILLER
ADAMS 20 1100 SMITH
FORD 20 3000 SMITH
JONES 20 2975 SMITH
SCOTT 20 3000 SMITH
SMITH 20 800 SMITH
ALLEN 30 1600 WARD
BLAKE 30 2850 WARD
JAMES 30 950 WARD

ENAME DEPTNO SAL LAST


---------- ------ ---------- ----------
MARTIN 30 1250 WARD
TURNER 30 1500 WARD
WARD 30 1250 WARD

14 rows selected.

SQL> cl scr

SQL> SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(ORDER BY Sal ASC
4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Min_Sal_Name
5 FROM (SELECT *
6 FROM Emp
7 WHERE Deptno = 30);

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
JAMES 30 950 JAMES
MARTIN 30 1250 JAMES
WARD 30 1250 JAMES
TURNER 30 1500 JAMES
ALLEN 30 1600 JAMES
BLAKE 30 2850 JAMES

6 rows selected.
SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 LAST_VALUE(Ename)
3 OVER(ORDER BY Sal ASC
4 ) Min_Sal_Name
5 FROM (SELECT *
6 FROM Emp
7* WHERE Deptno = 30)
SQL> /

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
JAMES 30 950 JAMES
MARTIN 30 1250 WARD
WARD 30 1250 WARD
TURNER 30 1500 TURNER
ALLEN 30 1600 ALLEN
BLAKE 30 2850 BLAKE

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 LAST_VALUE(Ename)
3 OVER(ORDER BY Sal ASC
4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Min_Sal_Name
5 FROM (SELECT *
6 FROM Emp
7* WHERE Deptno = 30)
SQL> /

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
JAMES 30 950 BLAKE
MARTIN 30 1250 BLAKE
WARD 30 1250 BLAKE
TURNER 30 1500 BLAKE
ALLEN 30 1600 BLAKE
BLAKE 30 2850 BLAKE

6 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 LAST_VALUE(Ename)
3 OVER(ORDER BY Sal ASC
4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Min_Sal_Name
5* FROM Emp
6 /

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
SMITH 20 800 KING
JAMES 30 950 KING
ADAMS 20 1100 KING
MARTIN 30 1250 KING
WARD 30 1250 KING
MILLER 10 1300 KING
TURNER 30 1500 KING
ALLEN 30 1600 KING
CLARK 10 2450 KING
BLAKE 30 2850 KING
JONES 20 2975 KING

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
FORD 20 3000 KING
SCOTT 20 3000 KING
KING 10 5000 KING

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 FIRSt_VALUE(Ename)
3 OVER(ORDER BY Sal ASC
4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Min_Sal_Name
5* FROM Emp
SQL> /

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
SMITH 20 800 SMITH
JAMES 30 950 SMITH
ADAMS 20 1100 SMITH
MARTIN 30 1250 SMITH
WARD 30 1250 SMITH
MILLER 10 1300 SMITH
TURNER 30 1500 SMITH
ALLEN 30 1600 SMITH
CLARK 10 2450 SMITH
BLAKE 30 2850 SMITH
JONES 20 2975 SMITH

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
FORD 20 3000 SMITH
SCOTT 20 3000 SMITH
KING 10 5000 SMITH

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal ASC
6 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Min_Sal_Name
7* FROM Emp
SQL> /

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
MILLER 10 1300 MILLER
CLARK 10 2450 MILLER
KING 10 5000 MILLER
SMITH 20 800 SMITH
ADAMS 20 1100 SMITH
JONES 20 2975 SMITH
FORD 20 3000 SMITH
SCOTT 20 3000 SMITH
JAMES 30 950 JAMES
MARTIN 30 1250 JAMES
WARD 30 1250 JAMES

ENAME DEPTNO SAL MIN_SAL_NA


---------- ------ ---------- ----------
TURNER 30 1500 JAMES
ALLEN 30 1600 JAMES
BLAKE 30 2850 JAMES

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal ASC
6 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Min_Sal_Name,
7 LAST_VALUE(Ename)
8 OVER(
9 PARTITION BY Deptno
10 ORDER BY Sal ASC
11 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Max_Sal_Name
12* FROM Emp
SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 FIRST_VALUE(Ename)
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal ASC
6 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Min_Sal_Name,
7 LAST_VALUE(Ename)
8 OVER(
9 PARTITION BY Deptno
10 ORDER BY Sal ASC
11 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) Max_Sal_Name
12* FROM Emp
SQL> /

ENAME DEPTNO SAL MIN_SAL_NA MAX_SAL_NA


---------- ------ ---------- ---------- ----------
MILLER 10 1300 MILLER KING
CLARK 10 2450 MILLER KING
KING 10 5000 MILLER KING
SMITH 20 800 SMITH SCOTT
ADAMS 20 1100 SMITH SCOTT
JONES 20 2975 SMITH SCOTT
FORD 20 3000 SMITH SCOTT
SCOTT 20 3000 SMITH SCOTT
JAMES 30 950 JAMES BLAKE
MARTIN 30 1250 JAMES BLAKE
WARD 30 1250 JAMES BLAKE

ENAME DEPTNO SAL MIN_SAL_NA MAX_SAL_NA


---------- ------ ---------- ---------- ----------
TURNER 30 1500 JAMES BLAKE
ALLEN 30 1600 JAMES BLAKE
BLAKE 30 2850 JAMES BLAKE

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal ASC
5 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)
6* FROM Emp
SQL> /

ENAME DEPTNO SAL


---------- ------ ----------
SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
-----------------------------------------------------------------------------
SMITH 20 800
29025

JAMES 30 950
29025

ADAMS 20 1100
29025

ENAME DEPTNO SAL


---------- ------ ----------
SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
-----------------------------------------------------------------------------
MARTIN 30 1250
29025

WARD 30 1250
29025

MILLER 10 1300
29025

ENAME DEPTNO SAL


---------- ------ ----------
SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
-----------------------------------------------------------------------------
TURNER 30 1500
29025

ALLEN 30 1600
29025

CLARK 10 2450
29025

ENAME DEPTNO SAL


---------- ------ ----------
SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
-----------------------------------------------------------------------------
BLAKE 30 2850
29025

JONES 20 2975
29025

FORD 20 3000
29025

ENAME DEPTNO SAL


---------- ------ ----------
SUM(SAL)OVER(ORDERBYSALASCROWSBETWEENUNBOUNDEDPRECEDINGANDUNBOUNDEDFOLLOWING)
-----------------------------------------------------------------------------
SCOTT 20 3000
29025

KING 10 5000
29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal ASC
5 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
SMITH 20 800 29025
JAMES 30 950 29025
ADAMS 20 1100 29025
MARTIN 30 1250 29025
WARD 30 1250 29025
MILLER 10 1300 29025
TURNER 30 1500 29025
ALLEN 30 1600 29025
CLARK 10 2450 29025
BLAKE 30 2850 29025
JONES 20 2975 29025

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
FORD 20 3000 29025
SCOTT 20 3000 29025
KING 10 5000 29025

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal ASC
5 ROWS BETWEEN 1 PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
SMITH 20 800 29025
JAMES 30 950 29025
ADAMS 20 1100 28225
MARTIN 30 1250 27275
WARD 30 1250 26175
MILLER 10 1300 24925
TURNER 30 1500 23675
ALLEN 30 1600 22375
CLARK 10 2450 20875
BLAKE 30 2850 19275
JONES 20 2975 16825

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
FORD 20 3000 13975
SCOTT 20 3000 11000
KING 10 5000 8000
14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal ASC
5 ROWS BETWEEN 2 PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
SMITH 20 800 29025
JAMES 30 950 29025
ADAMS 20 1100 29025
MARTIN 30 1250 28225
WARD 30 1250 27275
MILLER 10 1300 26175
TURNER 30 1500 24925
ALLEN 30 1600 23675
CLARK 10 2450 22375
BLAKE 30 2850 20875
JONES 20 2975 19275

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
FORD 20 3000 16825
SCOTT 20 3000 13975
KING 10 5000 11000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal ASC
5 ROWS BETWEEN 0 PRECEDING AND UNBOUNDED FOLLOWING) "Slide Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
SMITH 20 800 29025
JAMES 30 950 28225
ADAMS 20 1100 27275
MARTIN 30 1250 26175
WARD 30 1250 24925
MILLER 10 1300 23675
TURNER 30 1500 22375
ALLEN 30 1600 20875
CLARK 10 2450 19275
BLAKE 30 2850 16825
JONES 20 2975 13975

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
FORD 20 3000 11000
SCOTT 20 3000 8000
KING 10 5000 5000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal ASC
5 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) "Slide Sal"
6* FROM Emp
SQL> /

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
SMITH 20 800 1750
JAMES 30 950 2850
ADAMS 20 1100 3300
MARTIN 30 1250 3600
WARD 30 1250 3800
MILLER 10 1300 4050
TURNER 30 1500 4400
ALLEN 30 1600 5550
CLARK 10 2450 6900
BLAKE 30 2850 8275
JONES 20 2975 8825

ENAME DEPTNO SAL Slide Sal


---------- ------ ---------- ----------
FORD 20 3000 8975
SCOTT 20 3000 11000
KING 10 5000 8000

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Deptno, Sal,


2 SUM(Sal)
3 OVER(
4 ORDER BY Sal ASC
5 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) "Center Sum",
6 TO_CHAR(AVG(Sal)
7 OVER(
8 ORDER BY Sal ASC
9 ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING), '9G999D99') "Center Avg"
10* FROM Emp
SQL> /

ENAME DEPTNO SAL Center Sum Center Av


---------- ------ ---------- ---------- ---------
SMITH 20 800 1750 875.00
JAMES 30 950 2850 950.00
ADAMS 20 1100 3300 1,100.00
MARTIN 30 1250 3600 1,200.00
WARD 30 1250 3800 1,266.67
MILLER 10 1300 4050 1,350.00
TURNER 30 1500 4400 1,466.67
ALLEN 30 1600 5550 1,850.00
CLARK 10 2450 6900 2,300.00
BLAKE 30 2850 8275 2,758.33
JONES 20 2975 8825 2,941.67

ENAME DEPTNO SAL Center Sum Center Av


---------- ------ ---------- ---------- ---------
FORD 20 3000 8975 2,991.67
SCOTT 20 3000 11000 3,666.67
KING 10 5000 8000 4,000.00

14 rows selected.

SQL> cl scr

SQL> SELECT
2 ROW_NUMBER()
3 OVER(ORDER BY Sal DESC
4 NULLS LAST) RowNo,
5 Ename, Deptno
6 FROM Emp;

ROWNO ENAME DEPTNO


---------- ---------- ------
1 KING 10
2 FORD 20
3 SCOTT 20
4 JONES 20
5 BLAKE 30
6 CLARK 10
7 ALLEN 30
8 TURNER 30
9 MILLER 10
10 MARTIN 30
11 WARD 30

ROWNO ENAME DEPTNO


---------- ---------- ------
12 ADAMS 20
13 JAMES 30
14 SMITH 20

14 rows selected.

SQL> ED
Wrote file afiedt.buf
1 SELECT
2 ROW_NUMBER()
3 OVER(
4 PARTITION BY Deptno
5 ORDER BY Sal DESC
6 NULLS LAST) RowNo,
7 Ename, Deptno
8* FROM Emp
SQL> /

ROWNO ENAME DEPTNO


---------- ---------- ------
1 KING 10
2 CLARK 10
3 MILLER 10
1 FORD 20
2 SCOTT 20
3 JONES 20
4 ADAMS 20
5 SMITH 20
1 BLAKE 30
2 ALLEN 30
3 TURNER 30

ROWNO ENAME DEPTNO


---------- ---------- ------
4 MARTIN 30
5 WARD 30
6 JAMES 30

14 rows selected.

SQL> cl scr

SQL> SELECT Deptno, Ename,


2 ROW_NUMBER()
3 OVER (PARTITION BY Deptno
4 ORDER BY Sal DESC NULLS LAST) SeqNo
5 FROM Emp;

DEPTNO ENAME SEQNO


------ ---------- ----------
10 KING 1
10 CLARK 2
10 MILLER 3
20 FORD 1
20 SCOTT 2
20 JONES 3
20 ADAMS 4
20 SMITH 5
30 BLAKE 1
30 ALLEN 2
30 TURNER 3

DEPTNO ENAME SEQNO


------ ---------- ----------
30 MARTIN 4
30 WARD 5
30 JAMES 6

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT E1.*
2 FROM (
3 SELECT Deptno, Ename,
4 ROW_NUMBER()
5 OVER (PARTITION BY Deptno
6 ORDER BY Sal DESC NULLS LAST) SeqNo
7 FROM Emp
8 ) E1
9* WHERE E1.Seqno <= 3
SQL> /

DEPTNO ENAME SEQNO


------ ---------- ----------
10 KING 1
10 CLARK 2
10 MILLER 3
20 FORD 1
20 SCOTT 2
20 JONES 3
30 BLAKE 1
30 ALLEN 2
30 TURNER 3

9 rows selected.

SQL> SELECT Deptno,


2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (PARTITION BY Deptno
8 ORDER BY Sal DESC NULLS LAST) SeqNo
9 FROM Emp)
10 WHERE SeqNo <= 3
11 GROUP BY Deptno;

DEPTNO FIRST SECOND THIRD


------ ---------- ---------- ----------
10 KING CLARK MILLER
20 FORD SCOTT JONES
30 BLAKE ALLEN TURNER

SQL> SELECT Deptno,


2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (PARTITION BY Deptno
8 ORDER BY HireDate NULLS LAST) SeqNo
9 FROM Emp)
10 WHERE SeqNo <= 3
11 GROUP BY Deptno;

DEPTNO FIRST SECOND THIRD


------ ---------- ---------- ----------
10 CLARK KING MILLER
20 SMITH JONES FORD
30 ALLEN WARD BLAKE

SQL> cl scr

SQL> SELECT Deptno, Ename,


2 ROW_NUMBER()
3 OVER (ORDER BY HireDate NULLS LAST) SeqNo
4 FROM Emp;

DEPTNO ENAME SEQNO


------ ---------- ----------
20 SMITH 1
30 ALLEN 2
30 WARD 3
20 JONES 4
30 BLAKE 5
10 CLARK 6
30 TURNER 7
30 MARTIN 8
10 KING 9
30 JAMES 10
20 FORD 11

DEPTNO ENAME SEQNO


------ ---------- ----------
10 MILLER 12
20 SCOTT 13
20 ADAMS 14

14 rows selected.

SQL> ED
Wrote file afiedt.buf

1 SELECT E1.*
2 FROM (
3 SELECT Deptno, Ename,
4 ROW_NUMBER()
5 OVER (ORDER BY HireDate NULLS LAST) SeqNo
6 FROM Emp
7 ) E1
8* WHERE E1.Seqno <= 3
SQL> /

DEPTNO ENAME SEQNO


------ ---------- ----------
20 SMITH 1
30 ALLEN 2
30 WARD 3

SQL> SELECT Deptno,


2 NVL(MAX(DECODE(Seqno, 1, Ename, NULL)), 'N.A.') First,
3 NVL(MAX(DECODE(Seqno, 2, Ename, NULL)), 'N.A') Second,
4 NVL(MAX(DECODE(Seqno, 3, Ename, NULL)), 'N.A') Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (ORDER BY HireDate NULLS LAST) SeqNo
8 FROM Emp)
9 WHERE SeqNo <= 4 OR Deptno IN(10, 20, 30)
10 GROUP BY Deptno;

DEPTNO FIRST SECOND THIRD


------ ---------- ---------- ----------
10 N.A. N.A N.A
20 SMITH N.A N.A
30 N.A. ALLEN WARD

SQL> cl scr

SQL> SELECT Deptno,


2 DECODE (SeqNo, 1, Ename, NULL) First,
3 DECODE (SeqNo, 2, Ename, NULL) Second,
4 DECODE (SeqNo, 3, Ename, NULL) Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (PARTITION BY Deptno
8 ORDER BY Sal DESC NULLS LAST) SeqNo
9 FROM Emp)
10 WHERE SeqNo <= 3;

DEPTNO FIRST SECOND THIRD


------ ---------- ---------- ----------
10 KING
10 CLARK
10 MILLER
20 FORD
20 SCOTT
20 JONES
30 BLAKE
30 ALLEN
30 TURNER

9 rows selected.

SQL> SELECT Deptno,


2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (PARTITION BY Deptno
8 ORDER BY Sal DESC NULLS LAST) SeqNo
9 FROM Emp)
10 WHERE SeqNo <= 3
11 GROUP BY Deptno;

DEPTNO FIRST SECOND THIRD


------ ---------- ---------- ----------
10 KING CLARK MILLER
20 FORD SCOTT JONES
30 BLAKE ALLEN TURNER

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno,
2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
5 SUM(Sal)
6 FROM (SELECT Deptno, Ename, Sal
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /
ROW_NUMBER()
*
ERROR at line 7:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno,
2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
5 SUM(Sal)
6 FROM (SELECT Deptno, Ename, Sal,
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /

DEPTNO FIRST SECOND THIRD SUM(SAL)


------ ---------- ---------- ---------- ----------
10 KING CLARK MILLER 8750
20 FORD SCOTT JONES 8975
30 BLAKE ALLEN TURNER 5950

SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno,
2 DECODE(Seqno, 1, Ename, NULL) First,
3 DECODE(Seqno, 2, Ename, NULL) Second,
4 DECODE(Seqno, 3, Ename, NULL) Third,
5 Sal
6 FROM (SELECT Deptno, Ename, Sal,
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /
DECODE(Seqno, 1, Ename, NULL) First,
*
ERROR at line 2:
ORA-00979: not a GROUP BY expression

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno,
2 DECODE(Seqno, 1, Ename, NULL) First,
3 DECODE(Seqno, 2, Ename, NULL) Second,
4 DECODE(Seqno, 3, Ename, NULL) Third,
5 Sal
6 FROM (SELECT Deptno, Ename, Sal,
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11* WHERE SeqNo <= 3
SQL> /

DEPTNO FIRST SECOND THIRD SAL


------ ---------- ---------- ---------- ----------
10 KING 5000
10 CLARK 2450
10 MILLER 1300
20 FORD 3000
20 SCOTT 3000
20 JONES 2975
30 BLAKE 2850
30 ALLEN 1600
30 TURNER 1500

9 rows selected.

SQL> cl scr

SQL> SELECT
2 Empno,
3 Deptno,
4 HireDate,
5 FIRST_VALUE(HireDate)
6 OVER (
7 PARTITION BY Deptno
8 ORDER BY HireDate
9 ) FirstDate,
10 HireDate - FIRST_VALUE(HireDate)
11 OVER (
12 PARTITION BY Deptno
13 ORDER BY HireDate
14 ) NDays
15 FROM Emp
16 ORDER BY Deptno, NDays;

EMPNO DEPTNO HIREDATE FIRSTDATE NDAYS


---------- ------ --------- --------- ----------
7782 10 09-JUN-81 09-JUN-81 0
7839 10 17-NOV-81 09-JUN-81 161
7934 10 23-JAN-82 09-JUN-81 228
7369 20 17-DEC-80 17-DEC-80 0
7566 20 02-APR-81 17-DEC-80 106
7902 20 03-DEC-81 17-DEC-80 351
7788 20 09-DEC-82 17-DEC-80 722
7876 20 12-JAN-83 17-DEC-80 756
7499 30 20-FEB-81 20-FEB-81 0
7521 30 22-FEB-81 20-FEB-81 2
7698 30 01-MAY-81 20-FEB-81 70

EMPNO DEPTNO HIREDATE FIRSTDATE NDAYS


---------- ------ --------- --------- ----------
7844 30 08-SEP-81 20-FEB-81 200
7654 30 28-SEP-81 20-FEB-81 220
7900 30 03-DEC-81 20-FEB-81 286

14 rows selected.

SQL> cl scr

SQL> SELECT
2 Empno,
3 Deptno,
4 HireDate,
5 LAST_VALUE(Hiredate)
6 OVER (
7 PARTITION BY Deptno
8 ORDER BY HireDate
9 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
10 ) LastDate,
11 LAST_VALUE(Hiredate)
12 OVER (
13 PARTITION BY Deptno
14 ORDER BY Hiredate
15 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
16 ) - HireDate NDays
17 FROM Emp
18 ORDER BY Deptno, NDays DESC
19 /

EMPNO DEPTNO HIREDATE LASTDATE NDAYS


---------- ------ --------- --------- ----------
7782 10 09-JUN-81 23-JAN-82 228
7839 10 17-NOV-81 23-JAN-82 67
7934 10 23-JAN-82 23-JAN-82 0
7369 20 17-DEC-80 12-JAN-83 756
7566 20 02-APR-81 12-JAN-83 650
7902 20 03-DEC-81 12-JAN-83 405
7788 20 09-DEC-82 12-JAN-83 34
7876 20 12-JAN-83 12-JAN-83 0
7499 30 20-FEB-81 03-DEC-81 286
7521 30 22-FEB-81 03-DEC-81 284
7698 30 01-MAY-81 03-DEC-81 216

EMPNO DEPTNO HIREDATE LASTDATE NDAYS


---------- ------ --------- --------- ----------
7844 30 08-SEP-81 03-DEC-81 86
7654 30 28-SEP-81 03-DEC-81 66
7900 30 03-DEC-81 03-DEC-81 0

14 rows selected.

SQL> SPOOL OFF


SQL> SELECT Deptno,
2 NVL(MAX(DECODE(Seqno, 1, Ename, NULL)), 'N.A.') First,
3 NVL(MAX(DECODE(Seqno, 2, Ename, NULL)), 'N.A') Second,
4 NVL(MAX(DECODE(Seqno, 3, Ename, NULL)), 'N.A') Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (ORDER BY HireDate NULLS LAST) SeqNo
8 FROM Emp)
9 WHERE SeqNo <= 4 OR Deptno IN(10, 20, 30)
10 GROUP BY Deptno;

DEPTNO FIRST SECOND THIRD


---------- ---------- ---------- ----------
10 N.A. N.A N.A
20 SMITH N.A N.A
30 N.A. ALLEN WARD

SQL> cl scr

SQL> SELECT Deptno,


2 DECODE (SeqNo, 1, Ename, NULL) First,
3 DECODE (SeqNo, 2, Ename, NULL) Second,
4 DECODE (SeqNo, 3, Ename, NULL) Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (PARTITION BY Deptno
8 ORDER BY Sal DESC NULLS LAST) SeqNo
9 FROM Emp)
10 WHERE SeqNo <= 3;

DEPTNO FIRST SECOND THIRD


---------- ---------- ---------- ----------
10 KING
10 CLARK
10 MILLER
20 FORD
20 SCOTT
20 JONES
30 BLAKE
30 ALLEN
30 TURNER

9 rows selected.

SQL> SELECT Deptno,


2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (PARTITION BY Deptno
8 ORDER BY Sal DESC NULLS LAST) SeqNo
9 FROM Emp)
10 WHERE SeqNo <= 3
11 GROUP BY Deptno;

DEPTNO FIRST SECOND THIRD


---------- ---------- ---------- ----------
10 KING CLARK MILLER
20 FORD SCOTT JONES
30 BLAKE ALLEN TURNER

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno,
2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
5 Sal
6 FROM (SELECT Deptno, Ename, Sal
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /
ROW_NUMBER()
*
ERROR at line 7:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno,
2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
5 Sal
6 FROM (SELECT Deptno, Ename, Sal,
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /
Sal
*
ERROR at line 5:
ORA-00979: not a GROUP BY expression

SQL> ED
Wrote file afiedt.buf

1 SELECT Deptno,
2 MAX(DECODE(Seqno, 1, Ename, NULL)) First,
3 MAX(DECODE(Seqno, 2, Ename, NULL)) Second,
4 MAX(DECODE(Seqno, 3, Ename, NULL)) Third,
5 SUM(Sal) SalSum
6 FROM (SELECT Deptno, Ename, Sal,
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11 WHERE SeqNo <= 3
12* GROUP BY Deptno
SQL> /

DEPTNO FIRST SECOND THIRD SALSUM


---------- ---------- ---------- ---------- ----------
10 KING CLARK MILLER 8750
20 FORD SCOTT JONES 8975
30 BLAKE ALLEN TURNER 5950

SQL> cl scr

SQL> SELECT Deptno,


2 DECODE (SeqNo, 1, Ename, NULL) First,
3 DECODE (SeqNo, 2, Ename, NULL) Second,
4 DECODE (SeqNo, 3, Ename, NULL) Third,
5 Sal
6 FROM (SELECT Deptno, Ename, Sal
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11 WHERE SeqNo <= 3;
ROW_NUMBER()
*
ERROR at line 7:
ORA-00923: FROM keyword not found where expected

SQL> ED
Wrote file afiedt.buf
1 SELECT Deptno,
2 DECODE (SeqNo, 1, Ename, NULL) First,
3 DECODE (SeqNo, 2, Ename, NULL) Second,
4 DECODE (SeqNo, 3, Ename, NULL) Third,
5 Sal
6 FROM (SELECT Deptno, Ename, Sal,
7 ROW_NUMBER()
8 OVER (PARTITION BY Deptno
9 ORDER BY Sal DESC NULLS LAST) SeqNo
10 FROM Emp)
11* WHERE SeqNo <= 3
SQL> /

DEPTNO FIRST SECOND THIRD SAL


---------- ---------- ---------- ---------- ----------
10 KING 5000
10 CLARK 2450
10 MILLER 1300
20 FORD 3000
20 SCOTT 3000
20 JONES 2975
30 BLAKE 2850
30 ALLEN 1600
30 TURNER 1500

9 rows selected.

SQL> SELECT Deptno,


2 NVL(DECODE(SeqNo, 1, Ename, NULL), '***') First,
3 NVL(DECODE(SeqNo, 2, Ename, NULL), '***') Second,
4 NVL(DECODE(SeqNo, 3, Ename, NULL), '***') Third
5 FROM (SELECT Deptno, Ename,
6 ROW_NUMBER()
7 OVER (PARTITION BY Deptno
8 ORDER BY Sal DESC NULLS LAST) SeqNo
9 FROM Emp)
10 WHERE SeqNo <= 3;

DEPTNO FIRST SECOND THIRD


---------- ---------- ---------- ----------
10 KING *** ***
10 *** CLARK ***
10 *** *** MILLER
20 FORD *** ***
20 *** SCOTT ***
20 *** *** JONES
30 BLAKE *** ***
30 *** ALLEN ***
30 *** *** TURNER

9 rows selected.

SQL> cl scr

SQL> SELECT
2 DECODE(RN,
3 1, Ename,
4 2, Ename,
5 3, Ename,
6 'Rest'
7 ),
8 SUM(SAL)
9 FROM (
10 SELECT
11 ROW_NUMBER()
12 OVER(ORDER BY Sal DESC) RN,
13 Ename,
14 SAL
15 FROM EMP
16 )
17 GROUP BY
18 DECODE(RN,
19 1, ENAME,
20 2, ENAME,
21 3, ENAME,
22 'Rest'
23 )
24 ORDER BY 2;

DECODE(RN, SUM(SAL)
---------- ----------
FORD 3000
SCOTT 3000
KING 5000
Rest 18025

SQL> cl scr

SQL> SELECT
2 NumRow,
3 Deptno,
4 Sal,
5 MAX(Total)
6 OVER() Rest
7 FROM (
8 SELECT
9 NumRow,
10 Deptno,
11 Sal,
12 SUM(Sal)
13 OVER (ORDER BY NumRow
14 RANGE BETWEEN 3 FOLLOWING AND
15 UNBOUNDED FOLLOWING) Total
16 FROM
17 (SELECT
18 Empno,
19 Deptno,
20 Sal,
21 SUM(Sal) OVER (ORDER BY Empno) Cumulative,
22 DENSE_RANK() OVER (ORDER BY Sal DESC) NumRow
23 FROM Emp) B)
24 WHERE NumRow <= 3;
NUMROW DEPTNO SAL REST
---------- ---------- ---------- ----------
1 10 5000 15050
2 20 3000 15050
2 20 3000 15050
3 20 2975 15050

SQL> cl scr

SQL> SELECT Ename, Job, Comm


2 FROM Emp
3 WHERE Job = 'CLERK';

ENAME JOB COMM


---------- --------- ----------
JAMES CLERK
SMITH CLERK
ADAMS CLERK
MILLER CLERK
SQL> UPDATE Emp
2 SET
3 Comm = NULL
4 WHERE Job = 'CLERK';

4 rows updated.

SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3* Sal = NULL
4 /

14 rows updated.

SQL> SELECT Ename, Sal FROM Emp;

ENAME SAL
---------- ----------
KING
BLAKE
CLARK
JONES
MARTIN
ALLEN
TURNER
JAMES
WARD
FORD
SMITH

ENAME SAL
---------- ----------
SCOTT
ADAMS
MILLER

14 rows selected.

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT Ename, Sal FROM Emp;

ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
MARTIN 1250
ALLEN 1600
TURNER 1500
JAMES 950
WARD 1250
FORD 3000
SMITH 800

ENAME SAL
---------- ----------
SCOTT 3000
ADAMS 1100
MILLER 1300

14 rows selected.

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT Ename, Job, Sal, Deptno


2 FROM Emp
3 WHERE Ename = 'ALLEN';

ENAME JOB SAL DEPTNO


---------- --------- ---------- ----------
ALLEN SALESMAN 1600 30

SQL> UPDATE Emp


2 SET
3 Job = 'MANAGER',
4 Sal = 2500,
5 Deptno = 10
6 WHERE Ename = 'ALLEN';

1 row updated.

SQL> SELECT Ename, Job, Sal, Deptno


2 FROM Emp
3 WHERE Ename = 'ALLEN';

ENAME JOB SAL DEPTNO


---------- --------- ---------- ----------
ALLEN MANAGER 2500 10

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT Ename, Job, Sal, Deptno


2 FROM Emp
3 WHERE Ename = 'BLAKE';

ENAME JOB SAL DEPTNO


---------- --------- ---------- ----------
BLAKE MANAGER 2850 30

SQL> UPDATE Emp


2 SET
3 Job = 'ANALYST',
4 Sal = Sal + 1000
5 WHERE Ename = 'BLAKE';

1 row updated.

SQL> SELECT Ename, Job, Sal, Deptno


2 FROM Emp
3 WHERE Ename = 'BLAKE';

ENAME JOB SAL DEPTNO


---------- --------- ---------- ----------
BLAKE ANALYST 3850 30

SQL> ED
Wrote file afiedt.buf

1 SELECT Ename, Job, Sal, Deptno


2 FROM Emp
3* WHERE Ename = 'BLAKE'
SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3 Job = 'ANALYST',
4 Sal = 1000 + Sal
5* WHERE Ename = 'BLAKE'
SQL> /

1 row updated.

SQL> SELECT Ename, Job, Sal, Deptno


2 FROM Emp
3 WHERE Ename = 'BLAKE';

ENAME JOB SAL DEPTNO


---------- --------- ---------- ----------
BLAKE ANALYST 4850 30

SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3 Job = 'ANALYST',
4 Sal = 1000 + (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'BLAKE'
8 )
9* WHERE Ename = 'BLAKE'
SQL> /

1 row updated.

SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3 Job = 'ANALYST',
4 Sal = (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'BLAKE'
8 ) + 1000
9* WHERE Ename = 'BLAKE'
SQL> /
) + 1000
*
ERROR at line 8:
ORA-00933: SQL command not properly ended

SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3 Job = 'ANALYST',
4 Sal = (
5 (
6 SELECT Sal
7 FROM Emp
8 WHERE Ename = 'BLAKE') + 1000
9 )
10* WHERE Ename = 'BLAKE'
SQL> /
WHERE Ename = 'BLAKE') + 1000
*
ERROR at line 8:
ORA-00907: missing right parenthesis

SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3 Job = 'ANALYST',
4 Sal = Sal + 1000
5* WHERE Ename = 'BLAKE'
SQL> cl scr

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT Ename, Job, Sal


2 FROM Emp;
ENAME JOB SAL
---------- --------- ----------
KING PRESIDENT 5000
BLAKE MANAGER 2850
CLARK MANAGER 2450
JONES MANAGER 2975
MARTIN SALESMAN 1250
ALLEN SALESMAN 1600
TURNER SALESMAN 1500
JAMES CLERK 950
WARD SALESMAN 1250
FORD ANALYST 3000
SMITH CLERK 800

ENAME JOB SAL


---------- --------- ----------
SCOTT ANALYST 3000
ADAMS CLERK 1100
MILLER CLERK 1300

14 rows selected.

SQL> UPDATE Emp


2 SET
3 Job = 'ANALYST',
4 Sal = 1000 + (
5 SELECT Sal
6 FROM Emp
7 WHERE Ename = 'JONES'
8 )
9 WHERE Ename = 'BLAKE';

1 row updated.

SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3 Job = (
4 SELECT Job
5 FROM Emp
6 WHERE Ename = 'SMITH'
7 ),
8 Sal = 1000 + (
9 SELECT Sal
10 FROM Emp
11 WHERE Ename = 'JONES'
12 )
13* WHERE Ename = 'BLAKE'
SQL> /

1 row updated.

SQL> cl scr

SQL> ROLLBACK;
Rollback complete.

SQL> UPDATE Emp


2 SET Sal = Sal * 1.10
3 WHERE Deptno = (SELECT Deptno
4 FROM Dept
5 WHERE Loc = 'CHICAGO');

6 rows updated.

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT Empno, Ename, Deptno, Job


2 FROM Emp
3 WHERE Empno = 7788;

EMPNO ENAME DEPTNO JOB


---------- ---------- ---------- ---------
7788 SCOTT 20 ANALYST

SQL> UPDATE Emp


2 SET
3 Deptno = (SELECT Deptno
4 FROM Emp
5 WHERE Empno = 7788)
6 WHERE
7 Job = (SELECT Job
8 FROM Emp
9 WHERE Empno = 7788);

2 rows updated.

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> UPDATE Emp


2 SET
3 (Job, Deptno) = (SELECT Job, Deptno
4 FROM Emp
5 WHERE Empno = 7499)
6 WHERE Empno = 7698;

1 row updated.

SQL> ED
Wrote file afiedt.buf

1 UPDATE Emp
2 SET
3 Job = (SELECT Job
4 FROM Emp
5 WHERE Empno = 7499),
6 Deptno = (SELECT Deptno
7 FROM Emp
8 WHERE Empno = 7499)
9* WHERE Empno = 7698
SQL> /

1 row updated.

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> UPDATE Emp E1


2 SET Deptno = (SELECT Deptno
3 FROM Dept
4 WHERE Loc = 'DALLAS'),
5 (Sal, Comm) = (SELECT 1.1 * AVG (Sal),
6 1.5 * AVG ( Comm )
7 FROM Emp E2
8 WHERE E1.Deptno = E2.Deptno)
9 WHERE Deptno IN (SELECT Deptno
10 FROM Dept
11 WHERE Loc = 'NEW YORK' OR
12 Loc = 'BOSTON');

3 rows updated.

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Deptno = 20;

ENAME SAL DEPTNO


---------- ---------- ----------
JONES 2975 20
FORD 3000 20
SMITH 800 20
SCOTT 3000 20
ADAMS 1100 20

SQL> UPDATE Emp


2 SET Sal = Sal + 1000
3 WHERE Deptno = 20;

5 rows updated.

SQL> SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Deptno = 20;
ENAME SAL DEPTNO
---------- ---------- ----------
JONES 3975 20
FORD 4000 20
SMITH 1800 20
SCOTT 4000 20
ADAMS 2100 20

SQL> SELECT Deptno, SUM(Sal)


2 FROM Emp
3 WHERE Deptno = 20
4 GROUP BY Deptno;

DEPTNO SUM(SAL)
---------- ----------
20 15875

SQL> ROLLBACK;

Rollback complete.

SQL> VARIABLE Dept20SalSum NUMBER


SQL> UPDATE Emp
2 SET Sal = Sal + 1000
3 WHERE Deptno = 20
4 RETURNING SUM(Sal) INTO :Dept20SalSum;

5 rows updated.

SQL> PRINT Dept20SalSum;

DEPT20SALSUM
------------
15875

SQL> cl scr

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT Ename, Sal, Deptno


2 FROM Emp
3 WHERE Deptno = 20;

ENAME SAL DEPTNO


---------- ---------- ----------
JONES 2975 20
FORD 3000 20
SMITH 800 20
SCOTT 3000 20
ADAMS 1100 20

SQL> cl scr

SQL> CREATE TABLE MyBonus


2 (
3 Empno NUMBER,
4 Bonus NUMBER DEFAULT 100
5 );
CREATE TABLE MyBonus
*
ERROR at line 1:
ORA-00955: name is already used by an existing object

SQL> DROP PRCEDURE MyBonus;


DROP PRCEDURE MyBonus
*
ERROR at line 1:
ORA-00950: invalid DROP option

SQL> DROP PROCEDURE MyBonus;

Procedure dropped.

SQL> PURGE RECYCLEBIN;

Recyclebin purged.

SQL> cl scr

SQL> CREATE TABLE MyBonus


2 (
3 Empno NUMBER,
4 Bonus NUMBER DEFAULT 100
5 );

Table created.

SQL> SELECT * FROM MyBonus;

no rows selected

SQL> INSERT INTO MyBonus(Empno)


2 (SELECT E.Empno
3 FROM Emp E
4 WHERE Job = 'SALESMAN');

4 rows created.

SQL> SELECT * FROM MyBonus;

EMPNO BONUS
---------- ----------
7654 100
7499 100
7844 100
7521 100

SQL> SELECT Empno, Sal, Deptno


2 FROM Emp
3 WHERE Deptno = 30;
EMPNO SAL DEPTNO
---------- ---------- ----------
7698 2850 30
7654 1250 30
7499 1600 30
7844 1500 30
7900 950 30
7521 1250 30

6 rows selected.

SQL> MERGE INTO MyBonus B


2 USING (SELECT Empno, Sal, Deptno
3 FROM Emp
4 WHERE Deptno = 30) S
5 ON (B.Empno = S.Empno)
6 WHEN MATCHED THEN
7 UPDATE
8 SET B.Bonus = B.Bonus + S.Sal * 0.1
9 DELETE
10 WHERE (S.Sal > 4000)
11 WHEN NOT MATCHED THEN
12 INSERT(B.Empno, B.Bonus)
13 VALUES(S.Empno, S.Sal * 0.1)
14 WHERE(S.Sal <= 4000)
15 /

6 rows merged.

SQL> SELECT * FROM MyBonus;

EMPNO BONUS
---------- ----------
7654 225
7499 260
7844 250
7521 225
7698 285
7900 95

6 rows selected.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1234, 'SAMPLE01', 30, 3750);

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1235, 'SAMPLE02', 30, 4050);

1 row created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1236, 'SAMPLE03', 30, 3550);

1 row created.
SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)
2 VALUES(1237, 'SAMPLE04', 30, 4250);

1 row created.

SQL> UPDATE Emp


2 SET
3 Sal = Sal + 2000
4 WHERE Empno = 7698;

1 row updated.

SQL> UPDATE Emp


2 SET
3 Sal = Sal + 2700
4 WHERE Empno = 7499;

1 row updated.

SQL> MERGE INTO MyBonus B


2 USING (SELECT Empno, Sal, Deptno
3 FROM Emp
4 WHERE Deptno = 30) S
5 ON (B.Empno = S.Empno)
6 WHEN MATCHED THEN
7 UPDATE
8 SET B.Bonus = B.Bonus + S.Sal * 0.1
9 DELETE
10 WHERE (S.Sal > 4000)
11 WHEN NOT MATCHED THEN
12 INSERT(B.Empno, B.Bonus)
13 VALUES(S.Empno, S.Sal * 0.1)
14 WHERE(S.Sal <= 4000)
15 /

8 rows merged.

SQL> SELECT * FROM MyBonus;

EMPNO BONUS
---------- ----------
7654 350
7844 400
7521 350
7900 190
1236 355
1234 375

6 rows selected.

SQL> cl scr

SQL> DELETE FROM Emp;

18 rows deleted.
SQL> SELECT * FROM Emp;

no rows selected

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7839 KING PRESIDENT 17-NOV-81 5000
10

7698 BLAKE MANAGER 7839 01-MAY-81 2850


30

7782 CLARK MANAGER 7839 09-JUN-81 2450


10

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-APR-81 2975
20

7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400


30

7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30

7900 JAMES CLERK 7698 03-DEC-81 950


30

7521 WARD SALESMAN 7698 22-FEB-81 1250 500


30

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20

7369 SMITH CLERK 7902 17-DEC-80 800


20

7788 SCOTT ANALYST 7566 09-DEC-82 3000


20

EMPNO ENAME JOB MGR HIREDATE SAL COMM


---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7876 ADAMS CLERK 7788 12-JAN-83 1100
20

7934 MILLER CLERK 7782 23-JAN-82 1300


10

14 rows selected.

SQL> cl scr

SQL> DELETE Emp;

14 rows deleted.

SQL> ROLLBACK;

Rollback complete.

SQL> DELETE FROM Emp


2 WHERE Deptno = 30;

6 rows deleted.

SQL> ROLLBACK;

Rollback complete.

SQL> DELETE FROM Emp


2 WHERE Deptno = (
3 SELECT Deptno
4 FROM Dept
5 WHERE Dname = 'SALES'
6 );

6 rows deleted.

SQL> DELETE FROM Emp


2 WHERE Deptno = 10;
DELETE FROM Emp
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.EMP_SELF_KEY) violated - child record
found
SQL> SPOOL OFF

SQL> cl scr

SQL> CREATE TABLE ExamTimeTable


2 (
3 ExamName VARCHAR2(30),
4 ExamTime VARCHAR2(12),
5 CONSTRAINT ExamNamePK PRIMARY KEY(ExamName)
6 );

Table created.

SQL> SELECT * FROM ExamTimeTable;

no rows selected

SQL> INSERT INTO ExamTimeTable


2 VALUES ('PHYSICAL SCIENCES' , '9:00 AM');

1 row created.

SQL> MERGE INTO ExamTimeTable E1


2 USING ExamTimeTable E2
3 ON
4 (E2.ExamName = E1.ExamName AND
5 E1.ExamName = 'PHYSICAL SCIENCES')
6 WHEN MATCHED THEN
7 UPDATE
8 SET E1.ExamTime = '10:30 AM'
9 WHEN NOT MATCHED THEN
10 INSERT(E1.ExamName, E1.ExamTime)
11 VALUES('PHYSICAL SCIENCES' , '10:30 AM')
12 /

1 row merged.

SQL> SELECT * FROM ExamTimeTable;

EXAMNAME EXAMTIME
------------------------------ ------------
PHYSICAL SCIENCES 10:30 AM

SQL> MERGE INTO ExamTimeTable E1


2 USING ExamTimeTable E2
3 ON
4 (E2.ExamName = E1.ExamName AND
5 E1.ExamName = 'CHEMICAL SCIENCES')
6 WHEN MATCHED THEN
7 UPDATE SET E1.ExamTime = '12:30 PM'
8 WHEN NOT MATCHED THEN
9 INSERT(E1.ExamName, E1.ExamTime )
10 VALUES('CHEMICAL SCIENCES' , '12:30 PM');

1 row merged.
SQL> SELECT * FROM ExamTimeTable;

EXAMNAME EXAMTIME
------------------------------ ------------
PHYSICAL SCIENCES 10:30 AM
CHEMICAL SCIENCES 12:30 PM

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT Ename, Sal, Deptno, Job


2 FROM Emp;

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
KING 5000 10 PRESIDENT
BLAKE 2850 30 MANAGER
CLARK 2450 10 MANAGER
JONES 2975 20 MANAGER
MARTIN 1250 30 SALESMAN
ALLEN 1600 30 SALESMAN
TURNER 1500 30 SALESMAN
JAMES 950 30 CLERK
WARD 1250 30 SALESMAN
FORD 3000 20 ANALYST
SMITH 800 20 CLERK

ENAME SAL DEPTNO JOB


---------- ---------- ---------- ---------
SCOTT 3000 20 ANALYST
ADAMS 1100 20 CLERK
MILLER 1300 10 CLERK

14 rows selected.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');

1 row created.

SQL> INSERT INTO Dept


2 VALUES(60, 'CARGO', 'MUMBAI');

1 row created.

SQL> SELECT * FROM Dept;


DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI
60 CARGO MUMBAI

6 rows selected.

SQL> DELETE FROM Dept


2 WHERE Deptno = 60;

1 row deleted.

SQL> DELETE FROM Emp


2 WHERE Ename = 'SMITH';

1 row deleted.

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> COLUMN Empno FORMAT 9999


SQL> COLUMN MGR FORMAT 9999
SQL> COLUMN Deptno FORMAT 99
SQL> SELECT * FROm Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ---------- ---------- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ---------- ---------- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> cl scr

SQL> SHOW USER


USER is "SCOTT"
SQL> GRANT SELECT, INSERT, UPDATE, DELETE
2 ON Dept TO SampTR;

Grant succeeded.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> INSERT INTO Dept


2 VALUES(50, 'SHIPPING', 'CHENNAI');

1 row created.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI

SQL> /

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
50 SHIPPING CHENNAI

SQL> INSERT INTO Dept


2 VALUES(60, 'CARGO', 'MUMBAI');
INSERT INTO Dept
*
ERROR at line 1:
ORA-00001: unique constraint (SCOTT.DEPT_PRIMARY_KEY) violated

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
60 CARGO MUMBAI
50 SHIPPING CHENNAI

6 rows selected.

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
60 CARGO MUMBAI

SQL> cl scr

SQL> COMMIT;

Commit complete.

SQL> cl scr

SQL> SELECT * FROm Dept;

DEPTNO DNAME LOC


------ -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
60 CARGO MUMBAI
50 SHIPPING CHENNAI

6 rows selected.
SQL> SAVEPOINT DeptDel01;

Savepoint created.

SQL> DELETE FROM Dept


2 WHERE Deptno = 60;

1 row deleted.

SQL> SAVEPOINT DeptDel02;

Savepoint created.

SQL> DELETE FROM Dept


2 WHERE Deptno = 50;

1 row deleted.

SQL> SAVEPOINT EmpIns01;

Savepoint created.

SQL> INSERT INTO Emp(Empno, Ename, Deptno, Sal)


2 VALUES(1234, 'SAMPLE01', 30, 2000);

1 row created.

SQL> SAVEPOINT EmpDel02;

Savepoint created.

SQL> DELETE FROM Emp


2 WHERE Ename = 'SMITH';

1 row deleted.

SQL> ROLLBACK TO SAVEPOINT EmpDel02;

Rollback complete.

SQL> ROLLBACK TO SAVEPOINT DeptDel02;

Rollback complete.

SQL> cl scr

SQL> CREATE TABLE SampleALT


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleALT-SampID-PK PRIMARY KEY
5
SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampleALT


2 (
3 SampID NUMBER(2)
4* CONSTRAINT SampleALT_SampID_PK PRIMARY KEY
SQL> ED
Wrote file afiedt.buf

1 CREATE TABLE SampleALT


2 (
3 SampID NUMBER(2)
4 CONSTRAINT SampleALT_SampID_PK PRIMARY KEY
5* )
SQL> /

Table created.

SQL> ALTER TABLE SampleALT


2 ADD
3 (
4 SampName VARCHAR2(10)
5 CONSTRAINT SampleALT_SampName_NN NOT NULL,
6 SampDate DATE
7 );

Table altered.

SQL> cl scr

SQL> DROP TABLE SampleALT;

Table dropped.

SQL> SELECT * FROm TAB;

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
EMP_SUM TABLE
MYSUBTOT TABLE
MYBONUS TABLE
MYMASTERDF TABLE
DEPT10 TABLE
INSERTDEPT VIEW
EDEPT30 VIEW
EXAMTIMETABLE TABLE
BIN$VxL2g13AQcO02YkDCYGTyw==$0 TABLE
SAMPF TABLE
DEPT TABLE

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
EMP TABLE
BONUS TABLE
SALGRADE TABLE
DUMMY TABLE
CUSTOMER TABLE
ORD TABLE
ITEM TABLE
PRODUCT TABLE
PRICE TABLE
SALES VIEW

21 rows selected.

SQL> PURGE RECYCLEBIN;

Recyclebin purged.

SQL> SELECT * FROm TAB;

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
EMP_SUM TABLE
MYSUBTOT TABLE
MYBONUS TABLE
MYMASTERDF TABLE
DEPT10 TABLE
INSERTDEPT VIEW
EDEPT30 VIEW
EXAMTIMETABLE TABLE
SAMPF TABLE
DEPT TABLE
EMP TABLE

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
BONUS TABLE
SALGRADE TABLE
DUMMY TABLE
CUSTOMER TABLE
ORD TABLE
ITEM TABLE
PRODUCT TABLE
PRICE TABLE
SALES VIEW

20 rows selected.

SQL> cl scr

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ---------- ---------- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ---------- ---------- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> DELETE FROM Emp;

14 rows deleted.

SQL> SELECT * FROM Emp;

no rows selected

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM Emp;

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ---------- ---------- ------
7839 KING PRESIDENT 17-NOV-81 5000 10
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7900 JAMES CLERK 7698 03-DEC-81 950 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7369 SMITH CLERK 7902 17-DEC-80 800 20

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO


----- ---------- --------- ----- --------- ---------- ---------- ------
7788 SCOTT ANALYST 7566 09-DEC-82 3000 20
7876 ADAMS CLERK 7788 12-JAN-83 1100 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10

14 rows selected.

SQL> TRUNCATE TABLE Emp;

Table truncated.

SQL> SELECT * FROM Emp;

no rows selected

SQL> ROLLBACK;

Rollback complete.

SQL> SELECT * FROM Emp;


no rows selected

SQL> cl scr

SQL> cl scr

SQL> DESC Emp


Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NOT NULL NUMBER(2)

SQL> COMMENT ON TABLE Emp


2 IS 'This Table Stores Employees Information';

Comment created.

SQL> COMMNET ON COLUMN Emp.Ename


SP2-0734: unknown command beginning "COMMNET ON..." - rest of line ignored.
SQL> COMMENT ON COLUMN Emp.Ename
2 IS 'This Column Stores The Information for Employee Names';

Comment created.

SQL> COMMENT ON COLUMN Emp.Ename


2 IS '';

Comment created.

SQL> SPOOL OFF

SQL> cl scr
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE SampDept


2 AS
3 SELECT * FROM Dept
4 /

Table created.

SQL> DESC Dept


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)

SQL> DESC SampDept


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)

SQL> SELECT * FROM SampDept;

DEPTNO DNAME LOC


---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> CREATE TABLE SampDept1(


2 DeptID,
3 DeptName,
4 Place
5 )
6 AS
7 SELECT * FROM Dept
8 /

Table created.

SQL> DESC SampDept1


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTID NOT NULL NUMBER(2)
DEPTNAME VARCHAR2(14)
PLACE VARCHAR2(13)

SQL> SELECT * FROM SampDept1;

DEPTID DEPTNAME PLACE


---------- -------------- -------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

10 ACCOUNTING NEW YORK


20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

SQL> CREATE TABLE SampDept2


2 AS
3 SELECT Deptno, Dname
4 FROM Dept
5 /

Table created.

SQL> DESC SampDept2


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)

SQL> CREATE TABLE SampDept3


2 AS
3 SELECT * FROM Dept
4 WHERE 1 = 2
5 /

Table created.

SQL> DESC SampDept3


Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)

SQL> SELECT * FROM SampDept3;

no rows selected

SQL> CREATE TABLE SampleTablePart


2 (
3 SampID NUMBER(4)
4 CONSTRAINT SampIDPK PRIMARY KEY,
5 SampName VARCHAR2(20)
6 CONSTRAINT SampNameNN NOT NULL
7 CONSTRAINT SampNameCHK
8 CHECK(SampName = UPPER(SampName)),
9 SampDate DATE DEFAULT SYSDATE
10 CONSTRAINT SampdateNN NOT NULL,
11 SampDesc VARCHAR2(4000)
12 DEFAULT 'NOT PROVIDED'
13 )
14 PARTITION BY RANGE(SampID)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

15 (
16 PARTITION SampIDPart1
17 VALUES LESS THAN (500),
18 PARTITION SampIDPart2
19 VALUES LESS THAN (1000),
20 PARTITION SampIDPart3
21 VALUES LESS THAN (2000),
22 PARTITION SampIDPart4
23 VALUES LESS THAN (3000),
24 PARTITION SampIDPart5
25 VALUES LESS THAN (4000),
26 PARTITION SampIDPart6
27 VALUES LESS THAN (MAXVALUE)
28 );

Table created.

SQL> cl scr

CREATE TABLE EmpTableHash


(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN NOT NULL
CONSTRAINT ENameCHK CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN NOT NULL
CONSTRAINT JobCHKUpper CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList CHECK
(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2)
CONSTRAINT DeptnoCHKRange
CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList
CHECK(DeptNo IN(10, 20, 30, 40, 50, 60, 70, 80, 90)),
MGRID NUMBER(6)
CONSTRAINT MGRIDFKSelf
REFERENCES EmpTableHash(EmpNo)
ON DELETE SET NULL,
HireDate DATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DEFAULT SYSDATE
CONSTRAINT HireDateNN NOT NULL,
Sal NUMBER(8,2)
DEFAULT 10000
CONSTRAINT SalNN NOT NULL
CONSTRAINT SalChkRange CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7,2)
DEFAULT NULL
CONSTRAINT CommNN NOT NULL
CONSTRAINT CommChkRange CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKHASH
FOREIGN KEY(DeptNo)
REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK
CHECK(Sal + Comm <= 175000)
)
PARTITION BY HASH(DeptNO)
PARTITIONS 9

CREATE TABLE EmpSampleList1


(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK1 PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN1 NOT NULL
CONSTRAINT ENameCHK1
CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN1 NOT NULL
CONSTRAINT JobCHKUpper1
CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList1 CHECK
CONSTRAINT JobCHKList CHECK
(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2)
CONSTRAINT DeptnoCHKRange1
CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList1
CHECK(DeptNo IN(10,20,30,40,50,60,70,80,90)),
MGRID NUMBER(6)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CONSTRAINT MGRIDFKSelf1
REFERENCES EmpSampleList(EmpNo)
ON DELETE SET NULL,
HireDate DATE
DEFAULT SYSDATE
CONSTRAINT HireDateNN1 NOT NULL,
Sal NUMBER(8,2)
DEFAULT 10000
CONSTRAINT SalNN1 NOT NULL
CONSTRAINT SalChkRange1
CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7,2)
DEFAULT NULL
CONSTRAINT CommNN1 NOT NULL
CONSTRAINT CommChkRange1
CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKHASH1
FOREIGN KEY(DeptNo)
REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK1
CHECK(Sal + Comm <= 175000)
)
PARTITION BY LIST(Job)
(
PARTITION JPresident
VALUES('PRESIDENT'),
PARTITION JAnalyst
VALUES('ANALYST'),
PARTITION JManager
VALUES('MANAGER'),
PARTITION JSalesman
VALUES('SALESMAN'),
PARTITION JClerk
VALUES('CLERK')
);

CREATE TABLE EmpSampleList


(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN NOT NULL
CONSTRAINT ENameCHK
CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN NOT NULL
CONSTRAINT JobCHKUpper
CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList CHECK
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

CONSTRAINT JobCHKList CHECK


(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2)
CONSTRAINT DeptnoCHKRange
CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList
CHECK(DeptNo IN(10,20,30,40,50,60,70,80,90)),
MGRID NUMBER(6)
CONSTRAINT MGRIDFKSelf
REFERENCES EmpSampleList(EmpNo)
ON DELETE SET NULL,
HireDate DATE
DEFAULT SYSDATE
CONSTRAINT HireDateNN NOT NULL,
Sal NUMBER(8, 2)
DEFAULT 10000
CONSTRAINT SalNN NOT NULL
CONSTRAINT SalChkRange
CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7, 2)
DEFAULT NULL
CONSTRAINT CommNN NOT NULL
CONSTRAINT CommChkRange
CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKHASH
FOREIGN KEY(DeptNo)
REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK
CHECK(Sal + Comm <= 175000)
)
PARTITION BY LIST(Job)
(
PARTITION JPartList1
VALUES(
'PRESIDENT',
'ANALYST'
),
PARTITION JPartList2
VALUES(
'MANAGER',
'SALESMAN',
'CLERK'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

)
);

CREATE TABLE EmpSampleSubPart


(
EmpNo NUMBER(6)
CONSTRAINT EmpNOPK2 PRIMARY KEY,
EName VARCHAR2(20)
DEFAULT 'NOT PROVIDED'
CONSTRAINT ENameNN2 NOT NULL
CONSTRAINT ENameCHK2
CHECK(EName = UPPER(EName)),
Job VARCHAR2(30)
DEFAULT 'NOT MENTIONED'
CONSTRAINT SampdateNN2 NOT NULL
CONSTRAINT JobCHKUpper2
CHECK(Job = UPPER(Job))
CONSTRAINT JobCHKList2
CONSTRAINT JobCHKList CHECK
(
Job IN
(
'PRESIDENT',
'ANALYST',
'MANAGER',
'SALESMAN',
'CLERK'
)
),
DeptNo NUMBER(2) CONSTRAINT
DeptnoCHKRange2 CHECK(DeptNo BETWEEN 10 AND 99)
CONSTRAINT DeptnoCHKList2
CHECK(DeptNo IN(10,20,30,40,50,60,70,80,90)),
MGRID NUMBER(6)
CONSTRAINT MGRIDFKSelf2
REFERENCES EmpSampleSubPart(EmpNo)
ON DELETE SET NULL,
HireDate DATE
DEFAULT SYSDATE
CONSTRAINT HireDateNN2 NOT NULL,
Sal NUMBER(8, 2)
DEFAULT 10000
CONSTRAINT SalNN2 NOT NULL
CONSTRAINT SalChkRange2
CHECK(Sal BETWEEN 10000 AND 150000),
Comm NUMBER(7, 2)
DEFAULT NULL
CONSTRAINT CommNN2 NOT NULL
CONSTRAINT CommChkRange2
CHECK(Comm BETWEEN 0 AND 25000),
CONSTRAINT DeptNOFKSubPart2
FOREIGN KEY(DeptNo)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

REFERENCES Dept(Deptno)
ON DELETE CASCADE,
CONSTRAINT TotalSalaryCHK2
CHECK(Sal + Comm <= 175000)
)
PARTITION BY RANGE(Ename)
SUBPARTITION BY HASH(Job)
SUBPARTITIONS 5
(
PARTITION NameP1
VALUES LESS THAN('G'),
PARTITION NAMEP2
VALUES LESS THAN('N'),
PARTITION NAMEP3
VALUES LESS THAN('T'),
PARTITION NAMEP4
VALUES LESS THAN(MAXVALUE)
)
/

ALTER TABLE SampleTablePart


SPLIT PARTITION SampIDPart6
AT(5000)
INTO(
PARTITION SampIDPart6,
PARTITION SampIDPart7
)
/

ALTER TABLE EmpSampleList


SPLIT PARTITION JPartList2
VALUES(
'MANAGER',
'SALESMAN'
)
INTO(
PARTITION MANAGER,
PARTITION SALESMAN
)
/

ALTER TABLE EmpSampleList


MERGE
PARTITIONS
MANAGER,
SALESMAN
INTO
PARTITION
JPARTLIST2
/

ALTER TABLE SampleTablePart


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

MERGE
PARTITIONS
SampIDPart6,
SampIDPart7
INTO
PARTITION
SampIDPart7
/

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SET VERIFY OFF


SQL> cl scr

SQL> CREATE OR REPLACE TYPE Student


2 AS
3 OBJECT
4 (
5 Studid NUMBER(6)
6 ,Sname VARCHAR2(20)
7 ,DOB DATE
8 ,DOA DATE
9 ,FEES NUMBER(7, 2)
10 );
11 /

Type created.

SQL> DESC USER_OBJECTS


Name Null? Type
----------------------------------------- -------- ----------------------------
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(30)
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(19)
CREATED DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)

SQL> COLUMN OBJECT_NAME FORMAT A10


SQL> COLUMN OBJECT_TYPE FORMAT A10
SQL> COLUMN OBJECT_ID FORMAT 9999999999999999
SQL> SELECT OBJECT_ID, OBJECT_TYPE, OBJECT_NAME, CREATED
2 FROM USER_OBJECTS;

OBJECT_ID OBJECT_TYP OBJECT_NAM CREATED


----------------- ---------- ---------- ---------
52594 TYPE STUDENT 29-JUL-10

SQL> SELECT OBJECT_ID, DATA_OBJECT_ID, OBJECT_TYPE, OBJECT_NAME, CREATED


2 FROM USER_OBJECTS
3
SQL> COLUMN OBJECT_ID FORMAT 999999
SQL> /

OBJECT_ID DATA_OBJECT_ID OBJECT_TYP OBJECT_NAM CREATED


--------- -------------- ---------- ---------- ---------
52594 TYPE STUDENT 29-JUL-10

SQL> DESC USER_TYPES


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Name Null? Type


----------------------------------------- -------- ----------------------------
TYPE_NAME NOT NULL VARCHAR2(30)
TYPE_OID NOT NULL RAW(16)
TYPECODE VARCHAR2(30)
ATTRIBUTES NUMBER
METHODS NUMBER
PREDEFINED VARCHAR2(3)
INCOMPLETE VARCHAR2(3)
FINAL VARCHAR2(3)
INSTANTIABLE VARCHAR2(3)
SUPERTYPE_OWNER VARCHAR2(30)
SUPERTYPE_NAME VARCHAR2(30)
LOCAL_ATTRIBUTES NUMBER
LOCAL_METHODS NUMBER
TYPEID RAW(16)

SQL> COLUMN TYPE_NAME FORMAT A10


SQL> COLUMN ATTRIBUTES FORMAT 999
SQL> COLUMN TYPE_OID FORMAT A15
SQL> COLUMN TYPE_CODE FORMAT A15
SQL> SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID, TYPE_CODE
2 FROM USER_TYPES;
SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID, TYPE_CODE
*
ERROR at line 1:
ORA-00904: "TYPE_CODE": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID


2* FROM USER_TYPES
SQL> ED
Wrote file afiedt.buf

1 SELECT TYPE_NAME, ATTRIBUTES, TYPE_OID


2* FROM USER_TYPES
SQL> /

TYPE_NAME ATTRIBUTES TYPE_OID


---------- ---------- ---------------
STUDENT 5 1E74881F216B4EF
E95ECA63DD27F72
E7

SQL> cl scr

SQL> DESC Student


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NUMBER(6)
SNAME VARCHAR2(20)
DOB DATE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DOA DATE
FEES NUMBER(7,2)

SQL> INSERT INTO Student


2 VALUES(1, 'SAMPLE01', SYSDATE, SYSDATE, 25000);
INSERT INTO Student
*
ERROR at line 1:
ORA-04044: procedure, function, package, or type is not allowed here

SQL> cl scr

SQL> CREATE TABLE McaStudent


2 OF Student;

Table created.

SQL> DESC Student


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NUMBER(6)
SNAME VARCHAR2(20)
DOB DATE
DOA DATE
FEES NUMBER(7,2)

SQL> DESC McaStudent


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NUMBER(6)
SNAME VARCHAR2(20)
DOB DATE
DOA DATE
FEES NUMBER(7,2)

SQL> INSERT INTO McaStudent


2 VALUES(1234, 'KUMAR', '07-OCT-98', SYSDATE, 15000);

1 row created.

SQL> INSERT INTO McaStudent(StudID, SName)


2 VALUES(1235, 'KRISHNA');

1 row created.

SQL> INSERT INTO McaStudent


2 VALUES(
3 Student(
4 1236,
5 'SATISH',
6 '05-SEP-99',
7 SYSDATE,
8 1300
9 )
10 );
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1 row created.

SQL> COLUMN SName FORMAT A12


SQL> COLUMN StudID FORMAT 9999
SQL> cl scr

SQL> SELECT * FROM MCAStudent;

STUDID SNAME DOB DOA FEES


------ ------------ --------- --------- ----------
1234 KUMAR 07-OCT-98 29-JUL-10 15000
1235 KRISHNA
1236 SATISH 05-SEP-99 29-JUL-10 1300

SQL> SELECT StudID, Sname


2 FROM McaStudent;

STUDID SNAME
------ ------------
1234 KUMAR
1235 KRISHNA
1236 SATISH

SQL> SELECT StudID, Sname


2 FROM McaStudent
3 WHERE StudID = 1234;

STUDID SNAME
------ ------------
1234 KUMAR

SQL> UPDATE McaStudent


2 SET Sname = 'SRI RAM'
3 WHERE StudID = 1234;

1 row updated.

SQL> SELECT StudID, Sname


2 FROM McaStudent
3 WHERE StudID = 1234;

STUDID SNAME
------ ------------
1234 SRI RAM

SQL> DELETE FROM McaStudent


2 WHERE StudID = 1234;

1 row deleted.

SQL> SELECT StudID, Sname


2 FROM McaStudent
3 WHERE StudID = 1234;

no rows selected
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DELETE FROM McaStudent;

2 rows deleted.

SQL> SELECT StudID, Sname


2 FROM McaStudent;

no rows selected

SQL> cl scr

SQL> CREATE OR REPLACE TYPE Address


2 AS
3 OBJECT
4 (
5 HouseNum VARCHAR2(15)
6 ,Street VARCHAR2(20)
7 ,City VARCHAR2(20)
8 ,District VARCHAR2(20)
9 ,State VARCHAR2(20)
10 ,Country VARCHAR2(20)
11 ,Pin CHAR(6)
12 );
13 /

Type created.

SQL> CREATE OR REPLACE TYPE Name


2 AS
3 OBJECT
4 (
5 FirstName VARCHAR2(20)
6 ,MiddleName VARCHAR2(20)
7 ,LastName VARCHAR2(20)
8 );
9 /

Type created.

SQL> CREATE OR REPLACE TYPE Person


2 AS
3 OBJECT
4 (
5 Personid NUMBER(6)
6 ,PersonFullName NAME
7 ,PersonDOB DATE
8 ,PersonAddress ADDRESS
9 );
10 /

Type created.

SQL> CREATE OR REPLACE TYPE Fees


2 AS
3 OBJECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

4 (
5 TutionFees NUMBER(8, 2)
6 ,LabFees NUMBER(6, 2)
7 ,SportsFees NUMBER(6, 2)
8 ,LibraryFees NUMBER(6, 2)
9 ,ExamFees NUMBER(6, 2)
10 ,TransportFees NUMBER(7, 2)
11 ,HostelFees NUMBER(8, 2)
12 ,MessFees NUMBER(8, 2)
13 );
14 /

Type created.

SQL> CREATE OR REPLACE TYPE StudentColl


2 AS
3 OBJECT
4 (
5 Student PERSON
6 ,StudentFees FEES
7 );
8 /

Type created.

SQL> CREATE TABLE MCAStudent


2 OF
3 StudentColl;
CREATE TABLE MCAStudent
*
ERROR at line 1:
ORA-00955: name is already used by an existing object

SQL> DROP TABLE MCAStudent;

Table dropped.

SQL> CREATE TABLE MCAStudent


2 OF
3 StudentColl;

Table created.

SQL> cl scr

SQL> DESC MCAStudent


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDENT PERSON
STUDENTFEES FEES

SQL> SET DESCRIBE DEPTH 1


SQL> DESC MCAStudent
Name Null? Type
----------------------------------------- -------- ----------------------------
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

STUDENT PERSON
STUDENTFEES FEES

SQL> SET DESCRIBE DEPTH 2


SQL> DESC MCAStudent
Name Null? Type
----------------------------------------- -------- ----------------------------
STUDENT PERSON
PERSONID NUMBER(6)
PERSONFULLNAME NAME
PERSONDOB DATE
PERSONADDRESS ADDRESS
STUDENTFEES FEES
TUTIONFEES NUMBER(8,2)
LABFEES NUMBER(6,2)
SPORTSFEES NUMBER(6,2)
LIBRARYFEES NUMBER(6,2)
EXAMFEES NUMBER(6,2)
TRANSPORTFEES NUMBER(7,2)
HOSTELFEES NUMBER(8,2)
MESSFEES NUMBER(8,2)

SQL> SET DESCRIBE DEPTH 3


SQL> DESC MCAStudent
Name Null? Type
----------------------------------------- -------- ----------------------------
STUDENT PERSON
PERSONID NUMBER(6)
PERSONFULLNAME NAME
FIRSTNAME VARCHAR2(20)
MIDDLENAME VARCHAR2(20)
LASTNAME VARCHAR2(20)
PERSONDOB DATE
PERSONADDRESS ADDRESS
HOUSENUM VARCHAR2(15)
STREET VARCHAR2(20)
CITY VARCHAR2(20)
DISTRICT VARCHAR2(20)
STATE VARCHAR2(20)
COUNTRY VARCHAR2(20)
PIN CHAR(6)
STUDENTFEES FEES
TUTIONFEES NUMBER(8,2)
LABFEES NUMBER(6,2)
SPORTSFEES NUMBER(6,2)
LIBRARYFEES NUMBER(6,2)
EXAMFEES NUMBER(6,2)
TRANSPORTFEES NUMBER(7,2)
HOSTELFEES NUMBER(8,2)
MESSFEES NUMBER(8,2)

SQL> INSERT INTO


2 MCAStudent
3 (
4 Student
5 ,StudentFees
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6 )
7 VALUES
8 (
9 PERSON(1234, NAME
10 (
11 'SATISH', 'KUMAR', 'YELLANKI'
12 )
13 ,'02-OCT-86'
14 ,ADDRESS
15 (
16 '2-715/B/6'
17 ,'BALKAMPET ROAD'
18 ,'HYDERABAD'
19 ,'RANGA REDDY'
20 ,'ANDHRA PRADESH'
21 ,'INDIA'
22 ,'500016'
23 )
24 )
25 ,FEES
26 (
27 100000
28 ,6000
29 ,2000
30 ,1500
31 ,5000
32 ,20000
33 ,12000
34 ,27000
35 )
36 );

1 row created.

SQL> INSERT INTO


2 MCAStudent
3 (
4 Student
5 ,StudentFees
6 )
7 VALUES
8 (
9 PERSON(1235, NAME
10 (
11 'RAVI', 'KUMAR', 'SHARMA'
12 )
13 ,'03-JAN-86'
14 ,ADDRESS
15 (
16 '2-716/B/6'
17 ,'SHIVAM ROAD'
18 ,'HYDERABAD'
19 ,'RANGA REDDY'
20 ,'ANDHRA PRADESH'
21 ,'INDIA'
22 ,'500016'
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

23 )
24 )
25 ,FEES
26 (
27 100000
28 ,6000
29 ,2000
30 ,1500
31 ,5000
32 ,20000
33 ,12000
34 ,27000
35 )
36 );

1 row created.

SQL> INSERT INTO


2 MCAStudent
3 (
4 Student
5 ,StudentFees
6 )
7 VALUES
8 (
9 PERSON(1236, NAME
10 (
11 'RAMANA', 'KUMAR', 'RANJAN'
12 )
13 ,'23-JUN-86'
14 ,ADDRESS
15 (
16 '2-716/B/6'
17 ,'GANDHI ROAD'
18 ,'HYDERABAD'
19 ,'RANGA REDDY'
20 ,'ANDHRA PRADESH'
21 ,'INDIA'
22 ,'500016'
23 )
24 )
25 ,FEES
26 (
27 100000
28 ,6000
29 ,2000
30 ,1500
31 ,5000
32 ,20000
33 ,12000
34 ,27000
35 )
36 );

1 row created.

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT * FROM MCAStudent;

STUDENT(PERSONID, PERSONFULLNAME(FIRSTNAME, MIDDLENAME, LASTNAME), PERSONDOB, PE


--------------------------------------------------------------------------------
STUDENTFEES(TUTIONFEES, LABFEES, SPORTSFEES, LIBRARYFEES, EXAMFEES, TRANSPORTFEE
--------------------------------------------------------------------------------
PERSON(1234, NAME('SATISH', 'KUMAR', 'YELLANKI'), '02-OCT-86', ADDRESS('2-715/B/
6', 'BALKAMPET ROAD', 'HYDERABAD', 'RANGA REDDY', 'ANDHRA PRADESH', 'INDIA', '50
0016'))
FEES(100000, 6000, 2000, 1500, 5000, 20000, 12000, 27000)

PERSON(1235, NAME('RAVI', 'KUMAR', 'SHARMA'), '03-JAN-86', ADDRESS('2-716/B/6',


'SHIVAM ROAD', 'HYDERABAD', 'RANGA REDDY', 'ANDHRA PRADESH', 'INDIA', '500016'))
FEES(100000, 6000, 2000, 1500, 5000, 20000, 12000, 27000)

STUDENT(PERSONID, PERSONFULLNAME(FIRSTNAME, MIDDLENAME, LASTNAME), PERSONDOB, PE


--------------------------------------------------------------------------------
STUDENTFEES(TUTIONFEES, LABFEES, SPORTSFEES, LIBRARYFEES, EXAMFEES, TRANSPORTFEE
--------------------------------------------------------------------------------
PERSON(1236, NAME('RAMANA', 'KUMAR', 'RANJAN'), '23-JUN-86', ADDRESS('2-716/B/6'
, 'GANDHI ROAD', 'HYDERABAD', 'RANGA REDDY', 'ANDHRA PRADESH', 'INDIA', '500016'
))
FEES(100000, 6000, 2000, 1500, 5000, 20000, 12000, 27000)

SQL> COLUMN FNAME FORMAT A10


SQL> COLUMN Mname FORMAT A10
SQL> COLUMN LName FORMAT A10
SQL> COLUMN FullName FORMAT A30
SQL> SELECT
2 E1.Student.PersonFullName.FirstName FName,
3 E1.Student.PersonFullName.MiddleName MName,
4 E1.Student.PersonFullName.LastName LName,
5 E1.Student.PersonFullName.FirstName||' '
6 ||E1.Student.PersonFullName.MiddleName||' '
7 ||E1.Student.PersonFullName.LastName FullName
8 FROM MCAStudent E1;

FNAME MNAME LNAME FULLNAME


---------- ---------- ---------- ------------------------------
SATISH KUMAR YELLANKI SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA RAVI KUMAR SHARMA
RAMANA KUMAR RANJAN RAMANA KUMAR RANJAN

SQL> SELECT
2 E1.Student.PersonFullName.FirstName FName,
3 E1.Student.PersonFullName.MiddleName MName,
4 E1.Student.PersonFullName.LastName LName,
5 E1.Student.PersonFullName.FirstName||' '
6 ||E1.Student.PersonFullName.MiddleName||' '
7 ||E1.Student.PersonFullName.LastName FullName
8 FROM (
9 SELECT *
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

10 FROM MCAStudent
11 ) E1;

FNAME MNAME LNAME FULLNAME


---------- ---------- ---------- ------------------------------
SATISH KUMAR YELLANKI SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA RAVI KUMAR SHARMA
RAMANA KUMAR RANJAN RAMANA KUMAR RANJAN

SQL> CREATE OR REPLACE VIEW StudentName


2 AS
3 SELECT
4 E1.Student.PersonFullName.FirstName FName,
5 E1.Student.PersonFullName.MiddleName MName,
6 E1.Student.PersonFullName.LastName LName,
7 E1.Student.PersonFullName.FirstName||' '
8 ||E1.Student.PersonFullName.MiddleName||' '
9 ||E1.Student.PersonFullName.LastName FullName
10 FROM MCAStudent E1;

View created.

SQL> DESC StudentName


Name Null? Type
----------------------------------------- -------- ----------------------------
FNAME VARCHAR2(20)
MNAME VARCHAR2(20)
LNAME VARCHAR2(20)
FULLNAME VARCHAR2(62)

SQL> SELECT * FROM StudentName;

FNAME MNAME LNAME FULLNAME


---------- ---------- ---------- ------------------------------
SATISH KUMAR YELLANKI SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA RAVI KUMAR SHARMA
RAMANA KUMAR RANJAN RAMANA KUMAR RANJAN

SQL> UPDATE MCAStudent


2 SET
3 FirstName = 'RAGHAVA'
4 WHERE PersonID = 1236;
WHERE PersonID = 1236
*
ERROR at line 4:
ORA-00904: "PERSONID": invalid identifier

SQL> UPDATE MCAStudent


2 SET
3 MCAStudent.Student.PersonFullName.FirstName = 'RAGHAVA'
4 WHERE MCAStudent.Student.PersonID = 1236;
WHERE MCAStudent.Student.PersonID = 1236
*
ERROR at line 4:
ORA-00904: "MCASTUDENT"."STUDENT"."PERSONID": invalid identifier
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> ED
Wrote file afiedt.buf

1 UPDATE MCAStudent MCA


2 SET
3 MCA.Student.PersonFullName.FirstName = 'RAGHAVA'
4* WHERE MCA.Student.PersonID = 1236
SQL> /

1 row updated.

SQL> SELECT * FROM StudentName;

FNAME MNAME LNAME FULLNAME


---------- ---------- ---------- ------------------------------
SATISH KUMAR YELLANKI SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA RAVI KUMAR SHARMA
RAGHAVA KUMAR RANJAN RAGHAVA KUMAR RANJAN

SQL>
SQL> UPDATE (
2 SELECT *
3 FROM MCAStudent
4 ) MCA
5 SET
6 MCA.Student.PersonFullName.FirstName = 'RAGHAVA'
7 WHERE MCA.Student.PersonID = 1236;

1 row updated.

SQL> DELETE MCAStudent MCA


2 WHERE MCA.Student.PersonID = 1236;

1 row deleted.

SQL> SELECT * FROM StudentName;

FNAME MNAME LNAME FULLNAME


---------- ---------- ---------- ------------------------------
SATISH KUMAR YELLANKI SATISH KUMAR YELLANKI
RAVI KUMAR SHARMA RAVI KUMAR SHARMA

SQL> DELETE (
2 SELECT *
3 FROM MCAStudent
4 ) MCA
5 WHERE MCA.Student.PersonID = 1236;

0 rows deleted.

SQL> SPOOL OFF


SQL> cl scr

SQL> COLUMN InchargeName FORMAT A19


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> COLUMN StudentIncharge FORMAT A25


SQL> COLUMN OID FORMAT A25
SQL> SELECT * FROM StudentIncharges;

no rows selected

SQL> cl scr

SQL> DESC MCAStudent


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NUMBER(6)
SNAME VARCHAR2(20)
DOB DATE
DOA DATE
FEES NUMBER(7,2)

SQL> COLUMN STUDID FORMAT 9999


SQL> COLUMN SNAME FORMAT A10
SQL> COLUMN Fees FORMAT 99999
SQL> SELECT * FROM MCAStudent;

STUDID SNAME DOB DOA FEES


------ ---------- --------- --------- ------
1100 KUMAR 07-OCT-80 30-JUL-10 15000
1101 SESHU 07-OCT-81 30-JUL-10 15000
1102 RAMANA 07-OCT-80 30-JUL-10 15000
1103 RAMU 07-OCT-82 30-JUL-10 15000
1104 SRIPATH 07-OCT-83 30-JUL-10 15000

SQL> SELECT
2 'SUBRAMANYAM SHARMA' InchargeName,
3 REF(A) StudentIncharge
4 FROM McaStudent A
5 WHERE SName = 'SESHU';

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------
SUBRAMANYAM SHARMA 0000280209FA2A77B669F548C
8A36B581FF12354371C2C7E2A
1E654C848A33AA9EBB45597B0
10000370004

SQL> CREATE TABLE MBAStudent


2 OF Student;

Table created.

SQL> CREATE TABLE MAStudent


2 OF Student;

Table created.

SQL> CREATE TABLE MComStudent


2 OF Student;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Table created.

SQL> cl scr

SQL> SELECT * FROM Tab;

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
MBASTUDENT TABLE
MASTUDENT TABLE
MCOMSTUDENT TABLE
MCASTUDENT TABLE
STUDENTINCHARGES TABLE

SQL> BEGIN
2 INSERT INTO McaStudent
3 VALUES(1100, 'KUMAR', '07-Oct-80', SYSDATE, 15000);
4 INSERT INTO McaStudent
5 VALUES(1101, 'SESHU', '07-Oct-81', SYSDATE, 15000);
6 INSERT INTO McaStudent
7 VALUES(1102, 'RAMANA', '07-Oct-80', SYSDATE, 15000);
8 INSERT INTO McaStudent
9 VALUES(1103, 'RAMU', '07-Oct-82', SYSDATE, 15000);
10 INSERT INTO McaStudent
11 VALUES(1104, 'SRIPATH', '07-Oct-83', SYSDATE, 15000);
12 INSERT INTO MBAStudent
13 VALUES(1200, 'SAMPATH', '10-DEC-85', SYSDATE, 25000);
14 INSERT INTO MBAStudent
15 VALUES(1201, 'SURESH', '10-DEC-80', SYSDATE, 25000);
16 INSERT INTO MBAStudent
17 VALUES(1202, 'RAJESH', '10-DEC-83', SYSDATE, 25000);
18 INSERT INTO MAStudent
19 VALUES(1300, 'BOBBY', '10-DEC-80', SYSDATE, 25000);
20 INSERT INTO MAStudent
21 VALUES(1301, 'SUNDER', '10-DEC-85', SYSDATE, 25000);
22 INSERT INTO MComStudent
23 VALUES(1400, 'RAMESH', '10-DEC-83', SYSDATE, 25000);
24 COMMIT;
25 END;
26 /

PL/SQL procedure successfully completed.

SQL> cl scr

SQL> SELECT * FROM MCAStudent;

STUDID SNAME DOB DOA FEES


------ ---------- --------- --------- ------
1101 SESHU 07-OCT-81 02-AUG-10 15000
1102 RAMANA 07-OCT-80 02-AUG-10 15000
1103 RAMU 07-OCT-82 02-AUG-10 15000
1100 KUMAR 07-OCT-80 30-JUL-10 15000
1101 SESHU 07-OCT-81 30-JUL-10 15000
1102 RAMANA 07-OCT-80 30-JUL-10 15000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

1103 RAMU 07-OCT-82 30-JUL-10 15000


1104 SRIPATH 07-OCT-83 30-JUL-10 15000
1100 KUMAR 07-OCT-80 02-AUG-10 15000
1104 SRIPATH 07-OCT-83 02-AUG-10 15000

10 rows selected.

SQL> DELETE FROM MCASTUDENT;

10 rows deleted.

SQL> COMMIT;

Commit complete.

SQL> cl scr

SQL> ED
Wrote file afiedt.buf

1 BEGIN
2 INSERT INTO McaStudent
3 VALUES(1100, 'KUMAR', '07-Oct-80', SYSDATE, 15000);
4 INSERT INTO McaStudent
5 VALUES(1101, 'SESHU', '07-Oct-81', SYSDATE, 15000);
6 INSERT INTO McaStudent
7 VALUES(1102, 'RAMANA', '07-Oct-80', SYSDATE, 15000);
8 INSERT INTO McaStudent
9 VALUES(1103, 'RAMU', '07-Oct-82', SYSDATE, 15000);
10 INSERT INTO McaStudent
11 VALUES(1104, 'SRIPATH', '07-Oct-83', SYSDATE, 15000);
12 COMMIT;
13* END;
SQL> /

PL/SQL procedure successfully completed.

SQL> cl scr

SQL> SELECT * FROm MCAStudent;

STUDID SNAME DOB DOA FEES


------ ---------- --------- --------- ------
1100 KUMAR 07-OCT-80 02-AUG-10 15000
1101 SESHU 07-OCT-81 02-AUG-10 15000
1102 RAMANA 07-OCT-80 02-AUG-10 15000
1103 RAMU 07-OCT-82 02-AUG-10 15000
1104 SRIPATH 07-OCT-83 02-AUG-10 15000

SQL> SELECT * FROM MBAStudent;

STUDID SNAME DOB DOA FEES


------ ---------- --------- --------- ------
1200 SAMPATH 10-DEC-85 02-AUG-10 25000
1201 SURESH 10-DEC-80 02-AUG-10 25000
1202 RAJESH 10-DEC-83 02-AUG-10 25000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT * FROM MAStudent;

STUDID SNAME DOB DOA FEES


------ ---------- --------- --------- ------
1300 BOBBY 10-DEC-80 02-AUG-10 25000
1301 SUNDER 10-DEC-85 02-AUG-10 25000

SQL> SELECT * FROM MComStudent;

STUDID SNAME DOB DOA FEES


------ ---------- --------- --------- ------
1400 RAMESH 10-DEC-83 02-AUG-10 25000

SQL> cl scr

SQL> BEGIN
2 INSERT INTO
3 StudentIncharges
4 SELECT
5 'SUBRAMANYAM SHARMA',
6 REF(A)
7 FROM McaStudent A
8 WHERE SName = 'SESHU';
9 INSERT INTO StudentIncharges
10 SELECT
11 'SUBRAMANYAM SHARMA',
12 REF(A)
13 FROM McaStudent A
14 WHERE SName = 'RAMANA';
15 INSERT INTO StudentIncharges
16 SELECT
17 'SUBRAMANYAM SHARMA',
18 REF(A)
19 FROM McaStudent A
20 WHERE SName = 'SRIPATH';
21 INSERT INTO StudentIncharges
22 SELECT
23 'NIRANJAN RAMORI',
24 REF(A)
25 FROM McaStudent A
26 WHERE SName = 'KUMAR';
27 INSERT INTO StudentIncharges
28 SELECT
29 'NIRANJAN RAMORI',
30 REF(A)
31 FROM McaStudent A
32 WHERE SName = 'RAMU';
33 END;
34 /

PL/SQL procedure successfully completed.

SQL> COMMIT;

Commit complete.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT *
2 FROM StudentIncharges
3 WHERE InchargeName = 'SUBRAMANYAM SHARMA';

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------
SUBRAMANYAM SHARMA 0000220208ED66DAEA0E954BD
4929E25DCCA43FAEE1C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA 0000220208F1A6DA06BC66440


49FC333A08475B9E81C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA 0000220208F410869986DA415


DB48FED91BF3C92EF1C2C7E2A
1E654C848A33AA9EBB45597B

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------

SQL> ED
Wrote file afiedt.buf

1 SELECT *
2 FROM StudentIncharges
3* WHERE InchargeName = 'NIRANJAN RAMORI'
SQL> /

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------
NIRANJAN RAMORI 0000220208B5154F3D38B1444
F811E7EDDA5C0D3D51C2C7E2A
1E654C848A33AA9EBB45597B

NIRANJAN RAMORI 000022020858AE1BD83198452


C897A9119162C452A1C2C7E2A
1E654C848A33AA9EBB45597B

SQL> SELECT
2 DEREF(X.StudentIncharge)
3 FROM StudentIncharges X
4 WHERE InchargeName = 'SUBRAMANYAM SHARMA';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


--------------------------------------------------------------------------------
STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)

SQL> SELECT
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

2 DEREF(X.StudentIncharge)
3 FROM StudentIncharges X
4 WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


--------------------------------------------------------------------------------
STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)

SQL> BEGIN
2 INSERT INTO StudentIncharges
3 SELECT
4 'SUBRAMANYAM SHARMA',
5 REF(A)
6 FROM MBAStudent A
7 WHERE SName = 'SAMPATH';
8 INSERT INTO StudentIncharges
9 SELECT
10 'SUBRAMANYAM SHARMA',
11 REF(A)
12 FROM MBAStudent A
13 WHERE SName = 'RAJESH';
14 INSERT INTO StudentIncharges
15 SELECT
16 'NIRANJAN RAMORI',
17 REF(A)
18 FROM MBAStudent A
19 WHERE SName = 'SURESH';
20 END;
21 /

PL/SQL procedure successfully completed.

SQL> COMMIT;

Commit complete.

SQL> SELECT *
2 FROM StudentIncharges
3 WHERE InchargeName = 'SUBRAMANYAM SHARMA';

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------
SUBRAMANYAM SHARMA 0000220208ED66DAEA0E954BD
4929E25DCCA43FAEE1C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA 0000220208F1A6DA06BC66440


49FC333A08475B9E81C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA 0000220208F410869986DA415


DB48FED91BF3C92EF1C2C7E2A
1E654C848A33AA9EBB45597B

INCHARGENAME STUDENTINCHARGE
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

------------------- -------------------------

SUBRAMANYAM SHARMA 000022020836EC82D132E24E2


AAF045D0CCEB8EC71DC81AA66
119E46B6BC9B12173D9331B6

SUBRAMANYAM SHARMA 0000220208E8080A7CA76845A


38F8A5DF113D34A6FDC81AA66
119E46B6BC9B12173D9331B6

SQL> SELECT
2 DEREF(X.StudentIncharge)
3 FROM StudentIncharges X
4 WHERE InchargeName = 'SUBRAMANYAM SHARMA';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


--------------------------------------------------------------------------------
STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)
STUDENT(1200, 'SAMPATH', '10-DEC-85', '02-AUG-10', 25000)
STUDENT(1202, 'RAJESH', '10-DEC-83', '02-AUG-10', 25000)

SQL> SELECT
2 DEREF(X.StudentIncharge)
3 FROM StudentIncharges X
4 WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


--------------------------------------------------------------------------------
STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)

SQL> BEGIN
2 INSERT INTO StudentIncharges
3 SELECT
4 'NIRANJAN RAMORI',
5 REF(A)
6 FROM MAStudent A
7 WHERE SName = 'BOBBY';
8 INSERT INTO StudentIncharges
9 SELECT
10 'NIRANJAN RAMORI',
11 REF(A)
12 FROM MAStudent A
13 WHERE SName = 'SUNDER';
14 END;
15 /

PL/SQL procedure successfully completed.

SQL> COMMIT;

Commit complete.
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> SELECT
2 DEREF(X.StudentIncharge)
3 FROM StudentIncharges X
4 WHERE InchargeName = 'SUBRAMANYAM SHARMA';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


--------------------------------------------------------------------------------
STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)
STUDENT(1200, 'SAMPATH', '10-DEC-85', '02-AUG-10', 25000)
STUDENT(1202, 'RAJESH', '10-DEC-83', '02-AUG-10', 25000)

SQL> SELECT
2 DEREF(X.StudentIncharge)
3 FROM StudentIncharges X
4 WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


--------------------------------------------------------------------------------
STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1300, 'BOBBY', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1301, 'SUNDER', '10-DEC-85', '02-AUG-10', 25000)

SQL> BEGIN
2 INSERT INTO StudentIncharges
3 SELECT
4 'NIRANJAN RAMORI',
5 REF(A)
6 FROM MComStudent A
7 WHERE SName = 'RAMESH';
8 END;
9 /

PL/SQL procedure successfully completed.

SQL> COMMIT;

Commit complete.

SQL> SELECT
2 DEREF(X.StudentIncharge)
3 FROM StudentIncharges X
4 WHERE InchargeName = 'NIRANJAN RAMORI';

DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)


--------------------------------------------------------------------------------
STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1300, 'BOBBY', '10-DEC-80', '02-AUG-10', 25000)
STUDENT(1301, 'SUNDER', '10-DEC-85', '02-AUG-10', 25000)
STUDENT(1400, 'RAMESH', '10-DEC-83', '02-AUG-10', 25000)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6 rows selected.

SQL> cl scr

SQL> SELECT
2 InchargeName, DEREF(X.StudentIncharge)
3 FROM StudentIncharges X;

INCHARGENAME
-------------------
DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
--------------------------------------------------------------------------------
SUBRAMANYAM SHARMA
STUDENT(1101, 'SESHU', '07-OCT-81', '02-AUG-10', 15000)

SUBRAMANYAM SHARMA
STUDENT(1102, 'RAMANA', '07-OCT-80', '02-AUG-10', 15000)

SUBRAMANYAM SHARMA
STUDENT(1104, 'SRIPATH', '07-OCT-83', '02-AUG-10', 15000)

INCHARGENAME
-------------------
DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
--------------------------------------------------------------------------------
NIRANJAN RAMORI
STUDENT(1100, 'KUMAR', '07-OCT-80', '02-AUG-10', 15000)

NIRANJAN RAMORI
STUDENT(1103, 'RAMU', '07-OCT-82', '02-AUG-10', 15000)

SUBRAMANYAM SHARMA
STUDENT(1200, 'SAMPATH', '10-DEC-85', '02-AUG-10', 25000)

INCHARGENAME
-------------------
DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
--------------------------------------------------------------------------------
SUBRAMANYAM SHARMA
STUDENT(1202, 'RAJESH', '10-DEC-83', '02-AUG-10', 25000)

NIRANJAN RAMORI
STUDENT(1201, 'SURESH', '10-DEC-80', '02-AUG-10', 25000)

NIRANJAN RAMORI
STUDENT(1300, 'BOBBY', '10-DEC-80', '02-AUG-10', 25000)

INCHARGENAME
-------------------
DEREF(X.STUDENTINCHARGE)(STUDID, SNAME, DOB, DOA, FEES)
--------------------------------------------------------------------------------
NIRANJAN RAMORI
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

STUDENT(1301, 'SUNDER', '10-DEC-85', '02-AUG-10', 25000)

NIRANJAN RAMORI
STUDENT(1400, 'RAMESH', '10-DEC-83', '02-AUG-10', 25000)

11 rows selected.

SQL> cl scr

SQL> SELECT
2 InchargeName Incharge,
3 E1.Stu.StudId StudID,
4 E1.Stu.SName Sname,
5 E1.Stu.DOB DOB,
6 E1.Stu.DOA DOA,
7 E1.Stu.Fees Fees
8 FROM (SELECT
9 InchargeName, DEREF(X.StudentIncharge) Stu
10 FROM StudentIncharges X
11 ) E1;

INCHARGE STUDID SNAME DOB DOA FEES


------------------------------ ------ ---------- --------- --------- ------
SUBRAMANYAM SHARMA 1101 SESHU 07-OCT-81 02-AUG-10 15000
SUBRAMANYAM SHARMA 1102 RAMANA 07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA 1104 SRIPATH 07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI 1100 KUMAR 07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI 1103 RAMU 07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA 1200 SAMPATH 10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA 1202 RAJESH 10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI 1201 SURESH 10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI 1300 BOBBY 10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI 1301 SUNDER 10-DEC-85 02-AUG-10 25000
NIRANJAN RAMORI 1400 RAMESH 10-DEC-83 02-AUG-10 25000

11 rows selected.

SQL> ED
Wrote file afiedt.buf

1 CREATE OR REPLACE VIEW StudentINCHData


2 AS
3 SELECT
4 InchargeName Incharge,
5 E1.Stu.StudId StudID,
6 E1.Stu.SName Sname,
7 E1.Stu.DOB DOB,
8 E1.Stu.DOA DOA,
9 E1.Stu.Fees Fees
10 FROM (SELECT
11 InchargeName, DEREF(X.StudentIncharge) Stu
12 FROM StudentIncharges X
13* ) E1
SQL> /

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

View created.

SQL> DESC StudentINCHData


Name Null? Type
----------------------------------------- -------- ----------------------------
INCHARGE VARCHAR2(30)
STUDID NUMBER(6)
SNAME VARCHAR2(20)
DOB DATE
DOA DATE
FEES NUMBER(7,2)

SQL> SELECT * FROM StudentINCHData;

INCHARGE STUDID SNAME DOB DOA FEES


------------------------------ ------ ---------- --------- --------- ------
SUBRAMANYAM SHARMA 1101 SESHU 07-OCT-81 02-AUG-10 15000
SUBRAMANYAM SHARMA 1102 RAMANA 07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA 1104 SRIPATH 07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI 1100 KUMAR 07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI 1103 RAMU 07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA 1200 SAMPATH 10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA 1202 RAJESH 10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI 1201 SURESH 10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI 1300 BOBBY 10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI 1301 SUNDER 10-DEC-85 02-AUG-10 25000
NIRANJAN RAMORI 1400 RAMESH 10-DEC-83 02-AUG-10 25000

11 rows selected.

SQL> DELETE
2 FROM MCAStudent
3 WHERE SName = 'SESHU';

1 row deleted.

SQL> SELECT * FROM StudentIncharges;

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------
SUBRAMANYAM SHARMA 0000220208ED66DAEA0E954BD
4929E25DCCA43FAEE1C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA 0000220208F1A6DA06BC66440


49FC333A08475B9E81C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA 0000220208F410869986DA415


DB48FED91BF3C92EF1C2C7E2A
1E654C848A33AA9EBB45597B

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------

NIRANJAN RAMORI 0000220208B5154F3D38B1444


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

F811E7EDDA5C0D3D51C2C7E2A
1E654C848A33AA9EBB45597B

NIRANJAN RAMORI 000022020858AE1BD83198452


C897A9119162C452A1C2C7E2A
1E654C848A33AA9EBB45597B

SUBRAMANYAM SHARMA 000022020836EC82D132E24E2


AAF045D0CCEB8EC71DC81AA66

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------
119E46B6BC9B12173D9331B6

SUBRAMANYAM SHARMA 0000220208E8080A7CA76845A


38F8A5DF113D34A6FDC81AA66
119E46B6BC9B12173D9331B6

NIRANJAN RAMORI 000022020860E1ACFB0B734AA


19995A4480B4873A0DC81AA66
119E46B6BC9B12173D9331B6

NIRANJAN RAMORI 0000220208F8348FCEE75A421

INCHARGENAME STUDENTINCHARGE
------------------- -------------------------
FB19191E90630BD8BF6131B14
BE6941D4886AF9685E255BC7

NIRANJAN RAMORI 000022020866E8E45C571A431


0A57D80114C8509E5F6131B14
BE6941D4886AF9685E255BC7

NIRANJAN RAMORI 00002202089904F2627FB64B0


781029CB8EE47DC3655A6BBB2
D4A3443ABC20A3BCDA8E5B39

11 rows selected.

SQL> SELECT * FROM StudentINCHData;

INCHARGE STUDID SNAME DOB DOA FEES


------------------------------ ------ ---------- --------- --------- ------
SUBRAMANYAM SHARMA
SUBRAMANYAM SHARMA 1102 RAMANA 07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA 1104 SRIPATH 07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI 1100 KUMAR 07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI 1103 RAMU 07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA 1200 SAMPATH 10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA 1202 RAJESH 10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI 1201 SURESH 10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI 1300 BOBBY 10-DEC-80 02-AUG-10 25000
NIRANJAN RAMORI 1301 SUNDER 10-DEC-85 02-AUG-10 25000
NIRANJAN RAMORI 1400 RAMESH 10-DEC-83 02-AUG-10 25000

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

11 rows selected.

SQL> DELETE FROM StudentINCHData


2 WHERE Stuid IS NULL AND INCHARGE = 'SUBRAMANYAM SHARMA';
WHERE Stuid IS NULL AND INCHARGE = 'SUBRAMANYAM SHARMA'
*
ERROR at line 2:
ORA-00904: "STUID": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 DELETE FROM (
2 SELECT
3 InchargeName,
4 DEREF(X.StudentIncharge) Stu
5 FROM StudentIncharges X
6 ) E1
7 WHERE
8 E1.Stu.StudId StudID IS NULL AND
9* InchargeName = 'SUBRAMANYAM SHARMA'
SQL> /
E1.Stu.StudId StudID IS NULL AND
*
ERROR at line 8:
ORA-00920: invalid relational operator

SQL> ED
Wrote file afiedt.buf

1 DELETE FROM (
2 SELECT
3 InchargeName,
4 DEREF(X.StudentIncharge) Stu
5 FROM StudentIncharges X
6 ) E1
7 WHERE
8 E1.Stu.StudId IS NULL AND
9* InchargeName = 'SUBRAMANYAM SHARMA'
SQL> /

1 row deleted.

SQL> SELECT * FROM StudentINCHData;

INCHARGE STUDID SNAME DOB DOA FEES


------------------------------ ------ ---------- --------- --------- ------
SUBRAMANYAM SHARMA 1102 RAMANA 07-OCT-80 02-AUG-10 15000
SUBRAMANYAM SHARMA 1104 SRIPATH 07-OCT-83 02-AUG-10 15000
NIRANJAN RAMORI 1100 KUMAR 07-OCT-80 02-AUG-10 15000
NIRANJAN RAMORI 1103 RAMU 07-OCT-82 02-AUG-10 15000
SUBRAMANYAM SHARMA 1200 SAMPATH 10-DEC-85 02-AUG-10 25000
SUBRAMANYAM SHARMA 1202 RAJESH 10-DEC-83 02-AUG-10 25000
NIRANJAN RAMORI 1201 SURESH 10-DEC-80 02-AUG-10 25000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

NIRANJAN RAMORI 1300 BOBBY 10-DEC-80 02-AUG-10 25000


NIRANJAN RAMORI 1301 SUNDER 10-DEC-85 02-AUG-10 25000
NIRANJAN RAMORI 1400 RAMESH 10-DEC-83 02-AUG-10 25000

10 rows selected.

SQL> cl scr

SQL> Create Table Students


2 (
3 Studid NUMBER(6)
4 CONSTRAINT StudIDPK PRIMARY KEY,
5 SName VARCHAR2(30),
6 Street VARCHAR2(40),
7 CityName VARCHAR2(25),
8 StateName VARCHAR2(40),
9 Pincode Number(6)
10 );

Table created.

SQL> BEGIN
2 INSERT INTO Students
3 VALUES(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH',
506001);
4 INSERT INTO Students
5 VALUES(1201, 'SRINIVAS', 'SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002);
6 INSERT INTO Students
7 VALUES(1202, 'SHIVAJI', 'ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060);
8 COMMIT;
9 END;
10 /

PL/SQL procedure successfully completed.

SQL> COLUMN STUDID FORMAT 9999


SQL> COLUMN SNAME FORMAT A9
SQL> COLUMN STREET FORMAT A12
SQL> COLUMN CITYNAME FORMAT A13
SQL> COLUMN STATENAME FORMAT A15
SQL> COLUMN PINCODE FORMAT 999999
SQL> SELECT *
2 FROM Students;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> CREATE OR REPLACE TYPE MyAddress


2 AS OBJECT
3 (
4 Street VARCHAR2(40),
5 CityName VARCHAR2(25),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

6 StateName VARCHAR2(40),
7 Pincode NUMBER(6)
8 );
9 /

Type created.

SQL> CREATE OR REPLACE TYPE MyStudent


2 AS OBJECT
3 (
4 SName VARCHAR2(30),
5 Saddress Myaddress
6 );
7 /

Type created.

SQL> SELECT
2 StudID,
3 SName,
4 Street, CityName , StateName, Pincode
5 FROM Students;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> SELECT
2 StudID,
3 MyStudent(SName,
4 Myaddress(Street, CityName , StateName, Pincode))
5 FROM Students;

STUDID
------
MYSTUDENT(SNAME,MYADDRESS(STREET,CITYNAME,STATENAME,PINCODE))(SNAME, SADDRESS(ST
--------------------------------------------------------------------------------
1200
MYSTUDENT('SAMPATH', MYADDRESS('SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 50600
1))

1201
MYSTUDENT('SRINIVAS', MYADDRESS('SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002))

1202

STUDID
------
MYSTUDENT(SNAME,MYADDRESS(STREET,CITYNAME,STATENAME,PINCODE))(SNAME, SADDRESS(ST
--------------------------------------------------------------------------------
MYSTUDENT('SHIVAJI', MYADDRESS('ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060))

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE OR REPLACE VIEW


2 StudentOV(StudID, StudDEF)
3 AS
4 SELECT
5 StudID,
6 MyStudent(SName,
7 Myaddress(Street, CityName , StateName, Pincode))
8 FROM Students;

View created.

SQL> DESC StudentOV


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NOT NULL NUMBER(6)
STUDDEF MYSTUDENT

SQL> SET DESCRIBE DEPTH 2


SQL> DESC StudentOV
Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NOT NULL NUMBER(6)
STUDDEF MYSTUDENT
SNAME VARCHAR2(30)
SADDRESS MYADDRESS

SQL> SET DESCRIBE DEPTH 3


SQL> DESC StudentOV
Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NOT NULL NUMBER(6)
STUDDEF MYSTUDENT
SNAME VARCHAR2(30)
SADDRESS MYADDRESS
STREET VARCHAR2(40)
CITYNAME VARCHAR2(25)
STATENAME VARCHAR2(40)
PINCODE NUMBER(6)

SQL> SELECT * FROM StudentOV;

STUDID
------
STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))
--------------------------------------------------------------------------------
1200
MYSTUDENT('SAMPATH', MYADDRESS('SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 50600
1))

1201
MYSTUDENT('SRINIVAS', MYADDRESS('SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002))

1202

STUDID
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

------
STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))
--------------------------------------------------------------------------------
MYSTUDENT('SHIVAJI', MYADDRESS('ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060))

SQL> SELECT
2 StudID,
3 E1.StudDEF.Sname Sname,
4 E1.StudDEF.SAddress.Street Street,
5 E1.StudDEF.SAddress.CityName CityName,
6 E1.StudDEF.SAddress.StateName StateName,
7 E1.StudDEF.SAddress.PinCode PinCode
8 FROM (SELECT *
9 FROM StudentOV) E1;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> SPOOL OFF


SQL> cl scr

SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID


------------------------------ ------- ----------
STUDENTS TABLE
STUDENTOV VIEW

SQL> SELECT * FROM STUDENTS;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> DESC STUDENTOV


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NOT NULL NUMBER(6)
STUDDEF MYSTUDENT

SQL> SET DESCRIBE DEPTH 2


SQL> DESC STUDENTOV
Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NOT NULL NUMBER(6)
STUDDEF MYSTUDENT
SNAME VARCHAR2(30)
SADDRESS MYADDRESS

SQL> SET DESCRIBE DEPTH 3


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> DESC STUDENTOV


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NOT NULL NUMBER(6)
STUDDEF MYSTUDENT
SNAME VARCHAR2(30)
SADDRESS MYADDRESS
STREET VARCHAR2(40)
CITYNAME VARCHAR2(25)
STATENAME VARCHAR2(40)
PINCODE NUMBER(6)

SQL> SELECT *
2 FROM StudentOV;

STUDID
------
STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))
--------------------------------------------------------------------------------
1200
MYSTUDENT('SAMPATH', MYADDRESS('SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 50600
1))

1201
MYSTUDENT('SRINIVAS', MYADDRESS('SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002))

1202

STUDID
------
STUDDEF(SNAME, SADDRESS(STREET, CITYNAME, STATENAME, PINCODE))
--------------------------------------------------------------------------------
MYSTUDENT('SHIVAJI', MYADDRESS('ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060))

SQL> SELECT
2 StudID,
3 E1.StudDEF.Sname Sname,
4 E1.StudDEF.SAddress.Street Street,
5 E1.StudDEF.SAddress.CityName CityName,
6 E1.StudDEF.SAddress.StateName StateName,
7 E1.StudDEF.SAddress.PinCode PinCode
8 FROM (SELECT *
9 FROM StudentOV) E1;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> INSERT INTO StudentOV


2 VALUES(1203,
3 MYStudent('RAMESH',
4 MyAddress(
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

5 'SHYAMA NAGAR',
6 'SECUNDERABAD',
7 'ANDHRA PRADESH',
8 506001
9 )
10 )
11 );

1 row created.

SQL> SELECT *
2 FROM Students;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060
1203 RAMESH SHYAMA NAGAR SECUNDERABAD ANDHRA PRADESH 506001

SQL> INSERT INTO StudentOV


2 VALUES(1203,
3 MYStudent('RAMESH',
4 MyAddress(
5 'SH
6 'SE
7 'AN
8 506
9 )
10 )
11 )
12
SQL> cl scr

SQL> DELETE StudentOV


2 WHERE StudId = 1200;

1 row deleted.

SQL> SELECT *
2 FROM Students;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060
1203 RAMESH SHYAMA NAGAR SECUNDERABAD ANDHRA PRADESH 506001

SQL> DELETE (SELECT *


2 FROM StudentOV) E1
3 WHERE E1.StudDef.Sname = 'SHIVAJI';

1 row deleted.

SQL> SELECT *
2 FROM Students;
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1203 RAMESH SHYAMA NAGAR SECUNDERABAD ANDHRA PRADESH 506001

SQL> UPDATE (SELECT *


2 FROM StudentOV) E1
3 SET E1.StudDef.Sname = 'SRINIVAS RAJU'
4 WHERE E1.StudID = 1201;

1 row updated.

SQL> SELECT *
2 FROM Students;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
RAJU

1203 RAMESH SHYAMA NAGAR SECUNDERABAD ANDHRA PRADESH 506001

SQL> cl scr

SQL> ROLLBACK;

Rollback complete.

SQL> cl scr

SQL> BEGIN
2 DELETE FROM STUDENTS;
3 INSERT INTO Students
4 VALUES(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH',
506001);
5 INSERT INTO Students
6 VALUES(1201, 'SRINIVAS', 'SHYAM NAGAR', 'SECUNDERABAD', 'ANDHRA PRADESH',
506002);
7 INSERT INTO Students
8 VALUES(1202, 'SHIVAJI', 'ANDAL NAGAR', 'CHENNAI', 'TAMIL NADU', 606060);
9 COMMIT;
10 END;
11 /

PL/SQL procedure successfully completed.

SQL> cl scr

SQL> SELECT * FROM STUDENTS;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> CREATE TABLE StudentBooks


2 (
3 LibTranNO NUMBER(6),
4 StudID NUMBER(6),
5 BookTitle VARCHAR2(50),
6 LendingDate DATE,
7 CONSTRAINT LibtreamNoPK
8 PRIMARY KEY(LibTranNO, Studid),
9 CONSTRAINT StudentBooksFK
10 FOREIGN KEY(Studid)
11 REFERENCES Students(StudID)
12 );

Table created.

SQL> BEGIN
2 INSERT INTO StudentBooks
3 VALUES(2000, 1200, 'THERMO DYNAMICS', SYSDATE);
4 INSERT INTO StudentBooks
5 VALUES(2001, 1200, 'FLUID MECHANICS', SYSDATE);
6 INSERT INTO StudentBooks
7 VALUES(2002, 1200, 'ATOMIC PHYSICS', SYSDATE);
8 INSERT INTO StudentBooks
9 VALUES(2003, 1201, 'STRUCTURAL DYNAMICS', SYSDATE);
10 INSERT INTO StudentBooks
11 VALUES(2004, 1201, 'AVIATION THEORY', SYSDATE);
12 INSERT INTO StudentBooks
13 VALUES(2005, 1202, 'PROPULSION THEORY', SYSDATE);
14 COMMIT;
15 END;
16 /

PL/SQL procedure successfully completed.

SQL> cl scr

SQL> SELECT * FROM STUDENTS;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> BEGIN
2 INSERT INTO StudentBooks
3 VALUES(2000, 1200, 'THERMO DYNAMICS', SYSDATE);
4 INSERT INTO StudentBooks
5 VALUES(2001, 1200, 'FLUID MECHANICS', SYSDATE);
6 INSERT INTO StudentBooks
7 VALUES(2002, 1200, 'ATOMIC PHYSICS', SYSDATE);
8 INSERT INTO StudentBooks
9 VALUES(2003, 1201, 'STRUCTURAL DYNAMICS', SYSDATE);
10 INSERT INTO StudentBooks
11 VALUES(2004, 1201, 'AVIATION THEORY', SYSDATE);
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

12 INSERT INTO StudentBooks


13 VALUES(2005, 1202, 'PROPULSION THEORY', SYSDATE);
14 COMMIT;
15 END
16
17 .
SQL> cl scr

SQL> SELECT * FROM Students;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> COLUMN LIBTRANNO FORMAT 9999


SQL> COLUMN STUDID FORMAT 9999
SQL> COLUMN BOOKTITLE FORMAT A20
SQL> SELECT *
2 FROM StudentBooks;

LIBTRANNO STUDID BOOKTITLE LENDINGDA


--------- ------ -------------------- ---------
2000 1200 THERMO DYNAMICS 03-AUG-10
2001 1200 FLUID MECHANICS 03-AUG-10
2002 1200 ATOMIC PHYSICS 03-AUG-10
2003 1201 STRUCTURAL DYNAMICS 03-AUG-10
2004 1201 AVIATION THEORY 03-AUG-10
2005 1202 PROPULSION THEORY 03-AUG-10

6 rows selected.

SQL> SELECT Sname, BookTitle, LendingDate


2 FROM Students S, StudentBooks SB
3 WHERE S.StudID = SB.StudID;

SNAME BOOKTITLE LENDINGDA


--------- -------------------- ---------
SAMPATH THERMO DYNAMICS 03-AUG-10
SAMPATH FLUID MECHANICS 03-AUG-10
SAMPATH ATOMIC PHYSICS 03-AUG-10
SRINIVAS STRUCTURAL DYNAMICS 03-AUG-10
SRINIVAS AVIATION THEORY 03-AUG-10
SHIVAJI PROPULSION THEORY 03-AUG-10

6 rows selected.

SQL> CREATE OR REPLACE TYPE StudentType


2 AS OBJECT
3 (
4 Studid NUMBER(6),
5 Sname VARCHAR2(30),
6 Street Varchar2(40),
7 Cityname VARCHAR2(25),
8 Statename VARCHAR2(40),
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

9 Pincode NUMBER(6)
10 );
11 /

Type created.

SQL> CREATE OR REPLACE VIEW STUDENTOV


2 OF StudentType
3 WITH OBJECT IDENTIFIER(StudID)
4 AS
5 SELECT StudID, Sname,
6 Street, CityName,
7 StateName, Pincode
8 FROM Students;

View created.

SQL> DESC STUDENTOV


Name Null? Type
----------------------------------------- -------- ----------------------------
STUDID NUMBER(6)
SNAME VARCHAR2(30)
STREET VARCHAR2(40)
CITYNAME VARCHAR2(25)
STATENAME VARCHAR2(40)
PINCODE NUMBER(6)

SQL> SELECT * FROM STUDENTOV;

STUDID SNAME STREET CITYNAME STATENAME PINCODE


------ --------- ------------ ------------- --------------- -------
1200 SAMPATH SHIV BAGH HYDERABAD ANDHRA PRADESH 506001
1201 SRINIVAS SHYAM NAGAR SECUNDERABAD ANDHRA PRADESH 506002
1202 SHIVAJI ANDAL NAGAR CHENNAI TAMIL NADU 606060

SQL> COLUMN OID FORMAT A25


SQL> SELECT SNAME, REF(A) OID
2 FROM STUDENTOV;
SELECT SNAME, REF(A) OID
*
ERROR at line 1:
ORA-00904: "A": invalid identifier

SQL> ED
Wrote file afiedt.buf

1 SELECT SNAME, REF(A) OID


2* FROM STUDENTOV A
SQL> /

SNAME OID
--------- -------------------------
SAMPATH 00004A038A0046A4805E25E10
5476690852B320CDCBAE00000
0014260100010001002900000
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

00000090606002A00078401FE
0000000A02C20D00000000000
0000000000000000000000000
0000

SRINIVAS 00004A038A0046A4805E25E10
5476690852B320CDCBAE00000
0014260100010001002900000

SNAME OID
--------- -------------------------
00000090606002A00078401FE
0000000B03C20D02000000000
0000000000000000000000000
0000

SHIVAJI 00004A038A0046A4805E25E10
5476690852B320CDCBAE00000
0014260100010001002900000
00000090606002A00078401FE
0000000B03C20D03000000000
0000000000000000000000000

SNAME OID
--------- -------------------------
0000

SQL> cl scr

SQL> SELECT
2 StudID,
3 LibTranNo, BookTitle, LendingDate
4 FROM StudentBooks;

STUDID LIBTRANNO BOOKTITLE LENDINGDA


------ --------- -------------------- ---------
1200 2000 THERMO DYNAMICS 03-AUG-10
1200 2001 FLUID MECHANICS 03-AUG-10
1200 2002 ATOMIC PHYSICS 03-AUG-10
1201 2003 STRUCTURAL DYNAMICS 03-AUG-10
1201 2004 AVIATION THEORY 03-AUG-10
1202 2005 PROPULSION THEORY 03-AUG-10

6 rows selected.

SQL> CREATE VIEW StudentBooksOV


2 AS
3 SELECT
4 MAKE_REF(StudentOV, StudID) StudID,
5 LibTranNo, BookTitle, LendingDate
6 FROM StudentBooks;

View created.

SQL> DESC StudentBooksOV


Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

Name Null? Type


----------------------------------------- -------- ----------------------------
STUDID REF OF STUDENTTYPE
STUDID NUMBER(6)
SNAME VARCHAR2(30)
STREET VARCHAR2(40)
CITYNAME VARCHAR2(25)
STATENAME VARCHAR2(40)
PINCODE NUMBER(6)
LIBTRANNO NOT NULL NUMBER(6)
BOOKTITLE VARCHAR2(50)
LENDINGDATE DATE

SQL> COLUMN LibTranNo FORMAT 9999


SQL> COLUMN StudID FORMAT A20
SQL> COLUMN BookTitle FORMAT A20
SQL> SELECT *
2 FROM StudentBooksOV;

STUDID LIBTRANNO BOOKTITLE LENDINGDA


-------------------- --------- -------------------- ---------
00004A038A0046A4805E 2000 THERMO DYNAMICS 03-AUG-10
25E105476690852B320C
DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000A02C20D000000
00000000000000000000
00000000000000

00004A038A0046A4805E 2001 FLUID MECHANICS 03-AUG-10


25E105476690852B320C

STUDID LIBTRANNO BOOKTITLE LENDINGDA


-------------------- --------- -------------------- ---------
DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000A02C20D000000
00000000000000000000
00000000000000

00004A038A0046A4805E 2002 ATOMIC PHYSICS 03-AUG-10


25E105476690852B320C
DCBAE000000014260100
01000100290000000000

STUDID LIBTRANNO BOOKTITLE LENDINGDA


-------------------- --------- -------------------- ---------
090606002A00078401FE
0000000A02C20D000000
00000000000000000000
00000000000000

00004A038A0046A4805E 2003 STRUCTURAL DYNAMICS 03-AUG-10


25E105476690852B320C
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000B03C20D020000

STUDID LIBTRANNO BOOKTITLE LENDINGDA


-------------------- --------- -------------------- ---------
00000000000000000000
00000000000000

00004A038A0046A4805E 2004 AVIATION THEORY 03-AUG-10


25E105476690852B320C
DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000B03C20D020000
00000000000000000000
00000000000000

STUDID LIBTRANNO BOOKTITLE LENDINGDA


-------------------- --------- -------------------- ---------

00004A038A0046A4805E 2005 PROPULSION THEORY 03-AUG-10


25E105476690852B320C
DCBAE000000014260100
01000100290000000000
090606002A00078401FE
0000000B03C20D030000
00000000000000000000
00000000000000

6 rows selected.

SQL> SELECT DEREF(SB.StudID)


2 FROM StudentBooksOV SB
3 WHERE BookTitle = 'THERMO DYNAMICS';

DEREF(SB.STUDID)(STUDID, SNAME, STREET, CITYNAME, STATENAME, PINCODE)


--------------------------------------------------------------------------------
STUDENTTYPE(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 506001)

SQL> SELECT
2 LibTranNO,
3 BookTitle,
4 LendingDate,
5 DEREF(SB.StudID) StudentData
6 FROM StudentBooksOV SB
7 WHERE BookTitle = 'THERMO DYNAMICS';

LIBTRANNO BOOKTITLE LENDINGDA


--------- -------------------- ---------
STUDENTDATA(STUDID, SNAME, STREET, CITYNAME, STATENAME, PINCODE)
--------------------------------------------------------------------------------
2000 THERMO DYNAMICS 03-AUG-10
STUDENTTYPE(1200, 'SAMPATH', 'SHIV BAGH', 'HYDERABAD', 'ANDHRA PRADESH', 506001)
Document Generated By SkyEss Techno Solutions Pvt. Ltd.
For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090
Spool Generated For Class of Oracle By Satish K Yellanki

SQL> cl scr

SQL> SELECT
2 StudentBooksData.StudentData.StudID StudID,
3 StudentBooksData.StudentData.Sname Sname,
4 LibTranNO,
5 BookTitle,
6 LendingDate
7 FROM (SELECT
8 LibTranNO,
9 BookTitle,
10 LendingDate,
11 DEREF(SB.StudID) StudentData
12 FROM StudentBooksOV SB
13 ) StudentBooksData;

STUDID SNAME LIBTRANNO BOOKTITLE LENDINGDA


---------- --------- --------- -------------------- ---------
########## SAMPATH 2002 ATOMIC PHYSICS 03-AUG-10
########## SAMPATH 2001 FLUID MECHANICS 03-AUG-10
########## SAMPATH 2000 THERMO DYNAMICS 03-AUG-10
########## SRINIVAS 2004 AVIATION THEORY 03-AUG-10
########## SRINIVAS 2003 STRUCTURAL DYNAMICS 03-AUG-10
########## SHIVAJI 2005 PROPULSION THEORY 03-AUG-10

6 rows selected.

SQL> COLUMN STUDID FORMAT 9999


SQL> /

STUDID SNAME LIBTRANNO BOOKTITLE LENDINGDA


------ --------- --------- -------------------- ---------
1200 SAMPATH 2002 ATOMIC PHYSICS 03-AUG-10
1200 SAMPATH 2001 FLUID MECHANICS 03-AUG-10
1200 SAMPATH 2000 THERMO DYNAMICS 03-AUG-10
1201 SRINIVAS 2004 AVIATION THEORY 03-AUG-10
1201 SRINIVAS 2003 STRUCTURAL DYNAMICS 03-AUG-10
1202 SHIVAJI 2005 PROPULSION THEORY 03-AUG-10

6 rows selected.

SQL> SPOOL OFF

Document Generated By SkyEss Techno Solutions Pvt. Ltd.


For Queries And Live Project Experience in Any Domain
Mail at: info@skyessmail.com (OR) rajesh.b@skyessmail.com
Mobile : 9030750090

You might also like