SQL Notes
SQL Notes
Contents
BASICS of SQL ................................................................................................................................................................ 2
4-May-2018- ORACLE Basics class................................................................................................................................. 6
5-May-2018 - Create table Notes ................................................................................................................................. 7
5-May-2018 -create table Exa ..................................................................................................................................... 12
6-May-2018-Diff bet Char and Varchar2.................................................................................................................... 23
6-May-2018-Diff bet Char and Varchar2(Exam) ........................................................................................................ 29
6-May-2018-Diff bet Null and Implicit Null(Exam) .................................................................................................... 47
24-MAY- 2018 Substr &INSTR ..................................................................................................................................... 50
24-MAY- 2018 Substr &INSTR Example ...................................................................................................................... 58
25-MAY- 2018 LTRIM,RTIM, COALESCE ...................................................................................................................... 89
25-MAY- 2018 - LTRIM,RTIM, COALESCE Examples ................................................................................................... 93
28-MAY-2018 -DECODE,CASE,CHR,ASCII .................................................................................................................. 125
28-MAY-2018 -DECODE,CASE,CHR,ASCII,CASE(Example) ......................................................................................... 129
31-May-2018 - CHARACTER FUNCTIONS .................................................................................................................. 161
31-May-2018 - CHARACTER FUNCTIONS-Example ................................................................................................... 167
1-Jun-2018 Date Functions ....................................................................................................................................... 195
1-Jun-2018 Date Functions (Exa) .............................................................................................................................. 201
3-jun-2018-Conversion functions ............................................................................................................................. 224
3-jun-2018-Conversion functions (Example) ............................................................................................................ 226
03-jun-2018 ............................................................................................................................................................... 267
4-Jun-2018 (GROUP FUNCTIONS/AGGR FUNCTIONS/ MULTI ROW FUNCTIONS) .................................................... 340
4-Jun-2018 (GROUP FUNCTIONS/AGGR FUNCTIONS/ MULTI ROW FUNCTIONS)-Exam ......................................... 345
8-jun-2018 Constraints Notes ................................................................................................................................... 378
8-jun-2018 Constraints Examples ............................................................................................................................. 382
9-Jun-2018 -Foreign KEY Example2 ........................................................................................................................... 404
9-Jun-2018 -Example1............................................................................................................................................... 426
10-Jun-2018 Joins.1 Notes ........................................................................................................................................ 448
10-Jun-2018 Joins.1 Examples .................................................................................................................................. 452
11-Jun-2018 Joins.2 Notes ........................................................................................................................................ 546
11-Jun-2018 Joins.2 Examples .................................................................................................................................. 551
16-jun-2018 Subquiry Notes ..................................................................................................................................... 596
16-jun-2018 Subquireies Examples ........................................................................................................................... 607
17-jun-2018 Subquery conti Notes ........................................................................................................................... 670
17-jun-2018 Subquery conti Examples ..................................................................................................................... 673
25-jun-2018 Hierarchial Query Notes ...................................................................................................................... 717
2|Page
BASICS of SQL
2 (
3 ID NUMBER
4 ,NAME CHAR
5 );
Alias =AS
this is changing the header to the different name
WHAT IS DUAL ?
DUAL IS A ORACLE PREDIFINED TABLE
IT CONTAINS ONE ROW AND ONE COLUMN ALWAYS
ROW VALUE WILL BE "X" AND COLUMN NAME WILL BE DUMMY
WE CAN PERFORM ONLY SELECT ON DUAL TABLE OTHER THAN THAT WE CAN NOT PEROFMRM
ANY OTHER OPERATION(INSERT..UPDATE..DELETE..ETC IS NOT ALLOWED)
C1
--------------------------------
TODAY DATE IS 12-MAY-18
6|Page
Example
IF YOU WANT TO STORE THE DATA WE ARE HAVING LANGUAGE CALLED SQL(STRUCTURED
QUERY LANGUAGE)
TRUNCATE
2) DML( DATA MANIPULATION LANGUAGE) STATEMENTS
INSERT
UPDATE
DELETE
MERGE(INSERT/UPDATE/DELETE)
3) DCL ( DATA CONTROL LANGUAGE ) STATEMENTS
GRANT
REVOKE
4) TCL (TRANSACTION CONTROL LANGUAGE) STATEMETNS
COMMIT
ROLLBACK
SAVEPOINT
5) DRL (DATA RETRIEVAL LANGUAGE) STATEMENTS
SELECT
IF YOU WANT TO DEFINE STRUCTURE OF THE TABLE(I.E WHAT COLUMNS AND DATA TYPE
IT SHOULD CONTAIN) WE HAVE
TO USE CREATE COMMAND.
All DDL AND DCL COMMANDS CHANGES ARE AUTO SAVED(AUTO COMMIT)
ALL DML COMMANDS ARE NOT AUTO SAVED(NOT AUTO COMMIT)
Questions :
CREATE -- NOTALLOWED
INSERT -- ALLOWED
PLSQL_STUDENT_INFORMATION
2 TO 4 YEARS--
FAKE-
DATA TYPES
-------------
NUMBER
IT IS USED TO STORE ONLY NUMBER(0-9)
IT IS HAVING WIDTH PROPERTY(HOW MANY DIGITS CAN BE STORED )
NUMBER(10)-- MAXIMUM 10 DIGITS WE CAN STORE
BUT IT IS OPTINAL
NUMBER-- BY DEFAULT WE CAN STORE UPTO 38 DIGITS
NUMBER(P1,P2)
IN TOTAL P1 HOW MANY ARE FOR DECIMALS(P2)
NUMBER(7,2)
IN TOTAL 7 DIGITS 2 FOR DECIMALS
99999.99--ACCEPTED
9999999.99--BIT AKKIED
CHAR
IT IS USED TO STORE ALPHA NUMERICS AND SPECIAL CHARACTERS
A-Z,0-9-_^&*..ETC
9|Page
VARCHAR2
IT IS USED TO STORE ALPHA NUMERICS AND SPECIAL CHARACTERS
A-Z,0-9-_^&*..ETC
WIDTH PROPERTY IS MANDATORY
MAXIMUM WE CAN STORE 4000 CHARACTERS/BYTES
IT IS A VARIABLE LENGTH MEMORY ALLOCATION
LONG
IT IS NOT HAVING ANY WIDTH PROPERTY
IT IS USED TO STORE ALPHA NUMERICS AND SPECIAL CHARACTERS
A-Z,0-9-_^&*..ETC
MAXIMUM 8000 CHARACTERS/BYTES WE CAN STORE
CLOB
CHARACTER LARGE OBJECT
IT IS NOT HAVING ANY WIDTH PROPERTY
IT IS USED TO STORE ALPHA NUMERICS AND SPECIAL CHARACTERS
A-Z,0-9-_^&*..ETC
HERE WE CAN STORE -23GB TO +23 GB(THIS IS THE MAXIMUM WE CAN STORE)
BLOB
BINARY LARGE OBJECT
IT IS NOT HAVING ANY WIDTH PROPERTY
IT IS USED TO STORE YOUR IMAGES..PDF FILES..ECT
DATE
IT IS NOT HAVING ANY WIDTH PROPERTY
DEFAULT DATE FORMAT WHICH WILL ACCEPT IS DD-MON-YY
WHENEVER WE WANT TO STORE
DATES(DOJ,DOB,DOP,PA+GI,P_E_d...ECT,ORDER_DATE,P_A_D,P_D_D,T_A_T)
PSI***
10 | P a g e
CREATE TABLE
SERVICE BASED
-------
CUSTOMER(CLIENT)
---------------------------------
YES/NO--YES
IT WILL OPOEN COMMAND PROMPT
CONNECT SYSTEM/ARJUN
TO SEE WHICH USER YOU CONNECTED
SHOW USER
SPOOL
-----
CREATING A FILE IN SPECIFIC DIRECTORY/FOLDER
WHATEVER WE TYPE ON COMMAND PROMPT ALL COMMANDS/STATEMETNS WILL BE SAVED IN
THAT FILE
SPOOL FOLDERPATH\FILENAME.DOC
CTRL + V
RIGHT CLICK
ALT + SPACEBAR + E+ P
EDIT
---------
12 | P a g e
IF YOU WANT TO SEE WHAT IS THERE IN BUFFER YOU HAVE TO SAY EDIT AND ENTER
IT WILL OPEN ONE NOTEPAD(BUFFER) AND YOU CAN SEE PREVIOUS SQL COMMAND
---------------------------------------------------------
Table created.
5 ,MOB NUMBER(10)
6 ,GEN CHAR(1)
7 ,DOJ DATE
8 PAN VARCHAR2(10)
9 );
PAN VARCHAR2(10)
*
ERROR at line 8:
ORA-00907: missing right parenthesis
SQL> EDIT
Wrote file afiedt.buf
Table created.
SQL> CL SCR
SQL> /
CREATE TABLE B26_AKS_STD_1
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> R
1 CREATE TABLE B26_AKS_STD_1
2 (
3 ID NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,GEN CHAR(1)
7 ,DOJ DATE
8 ,PAN VARCHAR2(10)
9* )
CREATE TABLE B26_AKS_STD_1
*
ERROR at line 1:
14 | P a g e
SQL> CL SCR
SQL> R
1 CREATE TABLE B26_AKS_STD_1
2 (
3 ID NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,GEN CHAR(1)
7 ,DOJ DATE
8 ,PAN VARCHAR2(10)
9* )
CREATE TABLE B26_AKS_STD_1
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> EDIT
Wrote file afiedt.buf
SQL> R
1 CREATE TABLE B26_AKS_STD_2
2 (
3 ID NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,GEN CHAR(1)
7 ,DOJ DATE
8 ,PAN VARCHAR2(10)
9* )
Table created.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
SQL> /
Table created.
SQL> R
1 CREATE TABLE B26_AKS_STD_3
2 (
3 ID NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,GEN CHAR(1)
7 ,DOJ DATE
8 ,PAN VARCHAR2(10)
9* )
CREATE TABLE B26_AKS_STD_3
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> CL SCR
SQL> R
1 CREATE TABLE B26_AKS_STD_3
2 (
3 ID NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,GEN CHAR(1)
7 ,DOJ DATE
8 ,PAN VARCHAR2(10)
9* )
CREATE TABLE B26_AKS_STD_3
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> CL SCR
SQL> /
CREATE TABLE B26_AKS_STD_3
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> CL SCR
SQL> EDIT
16 | P a g e
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
17 | P a g e
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> R
1 CREATE TABLE B26_AKS_STD_B26_AKS_STD_B26
2 (
3 ID NUMBER
4 ,NAME VARCHAR2(10)
5 ,MOB NUMBER(10)
6 ,DOJ DATE
7 ,FEES NUMBER(7,2)
8* )
CREATE TABLE B26_AKS_STD_B26_AKS_STD_B26
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> CL SCR
TABLE_NAME
------------------------------
B26_AKS_STD
B26_AKS_STD_1
B26_AKS_STD_2
B26_AKS_STD_3
B26_AKS_STD_B26_AKS_STD_B26
SQL> EDIT
18 | P a g e
1 SELECT TABLE_NAME
2 FROM USER_TABLES
3* WHERE TABLE_NAME LIKE '%B26%'
SQL>
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
19 | P a g e
Table created.
16 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,NVL (COMM
4 ,10
5 )
6 ,SAL + COMM AS TOTINCOME
7* FROM EMP
8 /
CLARK 2450 10
JONES 2975 10
SCOTT 3000 10
FORD 3000 10
SMITH 800 10
ALLEN 1600 300 1900
WARD 1250 500 1750
MARTIN 1250 1400 2650
TURNER 1500 0 1500
ADAMS 1100 10
JAMES 950 10
MILLER 1300 10
PUNAM 4200 10
NULL 2200 10
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,NVL (COMM
5 ,10
6 )
7 ,SAL + COMM AS TOTINCOME
8* FROM EMP
SQL> /
16 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,NVL (COMM
5 ,10
6 )
7 ,SAL + COMM AS TOTINCOME
8* FROM EMP
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL + COMM TOTINCOME
5 ,NVL (COMM
6 ,10
7 )
8 ,SAL + NVL( COMM
9 ,10
10 ) AS TOTINCOME1
11* FROM EMP
SQL> /
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL + NVL( COMM
22 | P a g e
5 ,10
6 ) AS TOTINCOME
7* FROM EMP
SQL> /
16 rows selected.
Where ,And,Between
INSTR
------
INSTR(
P1-- COLUMN/LITERAL
,P2--SEARCHED STRING
,P3-- FROM WHICH POSITION WE WANT TO SEARCH
,P4-- FROM P3 HOW MANY TIMES WE WANT TO SEARCH
)
INSTR('KALPANA'
,'A'
,1
,1
)
DB INSTALATION---
HOW TO CONNECT TO THE DATABASE
TOOLS USED TO CONNECT TO THE DATABASE
HOW TO SEE WHICH USER YOU CONNECTED --- SHOW USER
HOW TO CREATE A TABLE
RULES TO CREATE A TABLE
HOW TO SEE TABLE STU-- DESCRIBE
WHAT IS SPOOL
WHAT IS EDIT -- IS USED FOR
R
/
----------------------------------------
TABLE CREATION
-------------------
SYNTAX:
.
.
.
.
COLUMNMAE1000 DATATYPE
);
DATATYPES
--------------
IT WILL WHAT KIND OF DATA IS ALLOWED FOR THAT COLUMN
NUMBER
IT ACCEPTS ONLY 0-9
WIDTH PROPERTY IS OPTIONAL FOR NUMBER DATA TYPE
NUMBER(10)-- IT ACCEPTS ONLY MAXIMUM 10 DIGITS NUMBERS
WITH IN PARANTHESIS WHATEVER WE ARE KEEPING THAT IS CALLED WIDTH
PROPERTY
NUMBER(10,4)--
SAL-NUMBER(
ID -- NUMBER
FEES -- NUMBER
TRANSACTION AMOUNT -- NUMBER
AGE--NUMBER
CHAR
IT ACCEPTS 0-9 ALPHABETS AND SPECIAL CHARACTERS
FOR CHAR WIDHT PROPERTY IS OPTIONAL
WITH OUT WIDTH PROPERY IF YOU SPECIFY CHAR BY DEFAULT IT ACCEPT
ONLY 1 CHARACTER
MAXIMUM 2000 CHARACTERS IT ACCEPTS
25 | P a g e
VARCHAR2
IT ACCEPTS 0-9 ALPHABETS AND SPECIAL CHARACTERS
WIDHT PROPERTY IS MANDATORY
MAXIMUM IT ACCEPTS 4000 CHARACTERS
** IT IS A VARIABLE LENGTH MEMORY ALLOCATION
LONG
FOR LONG DATA TYPE WIDTH PROPERTY IS NOT THERE
IT ACCEPTS NUMBERS,ALPHABETES AND SPECIAL CHARACTERS
MAXIMUM WE CAN STORE 8000 CHARACTERS/BYTES
CLOB
CHARACTER LARGE OBJECT
FOR CLOB DATA TYPE WIDTH PROPERTY IS NOT THERE
IT ACCEPTS NUMBERS,ALPHABETES AND SPECIAL CHARACTERS
WE CAN STORE 46 GB DATA (-23 GB TO +23 GB)
BLOB
BINARY LARGE OBJECT
FOR BLOB DATA TYPE WIDTH PROPERTY IS NOT THERE
IT IS USED TO STORE YOUR IMAGES .JPEG .PDF
DATE
15 HOURS
2 CONSTRAINTS--
6 HOURS(JOINS SUB SET OPERARO )
8 HOURS(SEQUENCTES VIEWWS MVIEWS PIVO AND UNPVIR REGEXP INDEXES
PARTIONS... OLAP ETC)
SQL
26 | P a g e
US
UK
CANADA(ADAR LINKING)
HIPPA
HOSPITAL
------------
CREATE TABLE PATIENTS
(
PID
PNAME
PCITINUMBER
PMOB
PAGE
PGEN
PEDUT
ROOM_CHARGES
(
RNO NMBER
AMT NUMBER
)
DOCTORS_LIST
27 | P a g e
(
DNO
DNAME
DSPEICALA
DEXP_STARTED
)
DOCTORS_FEES
MEDICINET
TREAT_MENT_DETAILS
(
PID
DNO
RNO
MEDIICNE_NO
MEIDICNE_DATE
.
.
.
ETC
);
.
.
.
ETC
AWR
AS,M
SQL TRACE..
ETC
PROFILING
28 | P a g e
DBA
------
INSTALATION UPGRARE MIGRATIONN
RECOVERY AND BACKUP
PERFORMANCE UTNING TIWTH (DEVELOPERS)----
DATA BASE SECURITY
.
.
.
10 --
CHANGE REQUESTST(SCR)
INVESTIGATION
---
---
---
---
--
TEST
TESING SING OFF
PRODUCTION
29 | P a g e
SQL> CL SCR
Table created.
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
5* )
SQL> /
Table created.
SQL> CL SCR
Table created.
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> CL SCR
FNAME LNAME
---------- ----------
SURESH KUMAR
ARJUN V
SQL> ED
Wrote file afiedt.buf
1 SELECT FNAME
2 ,LENGTH(FNAME)
3 ,LNAME
4 ,LENGTH(LNAME)
32 | P a g e
5* FROM B26_CHAR_VARCHAR2_EX
SQL> /
SQL> CL SCR
SQL> CL SCR
SQL> COMMIT;
Commit complete.
SQL> CL SCR
1 row created.
SQL> CL SCR
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
Table created.
SQL> R
1 CREATE TABLE B26_AKSHARA_STUDENT
2 (
3 SNO NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,FEES NUMBER(8,2)
7 ,DOJ DATE
8 ,GEN CHAR(1)
9* )
CREATE TABLE B26_AKSHARA_STUDENT
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> CL SCR
SQL> /
CREATE TABLE B26_AKSHARA_STUDENT
*
34 | P a g e
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> R
1 CREATE TABLE B26_AKSHARA_STUDENT
2 (
3 SNO NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,FEES NUMBER(8,2)
7 ,DOJ DATE
8 ,GEN CHAR(1)
9* )
CREATE TABLE B26_AKSHARA_STUDENT
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
2 (
3 SNO NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,FEES NUMBER(8,2)
7 ,DOJ DATE
8 ,GEN CHAR(1)
9* )
SQL>
SQL>
SQL> CL SCR
SQL> R
1 CREATE TABLE B26_AKSHARA_STUDENT_1
2 (
3 SNO NUMBER
4 ,NAME VARCHAR2(20)
5 ,MOB NUMBER(10)
6 ,FEES NUMBER(8,2)
7 ,DOJ DATE
8 ,GEN CHAR(1)
9* )
Table created.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
9 ,'M'
10* )
SQL> R
1 INSERT INTO B26_AKSHARA_STUDENT
2 VALUES
3 (
4 101
5 ,ABHISHEK
6 ,12345
7 ,5000
8 ,'03-MAY-18'
9 ,'M'
10* )
,ABHISHEK
*
ERROR at line 5:
ORA-00984: column not allowed here
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
1 row created.
SQL> EDIT
Wrote file afiedt.buf
6 ,12346
7 ,6000
8 , SYSDATE - 3
9 ,'M'
10* )
SQL> /
,"SURESH"
*
ERROR at line 5:
ORA-00984: column not allowed here
SQL> ED
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
8 , SYSDATE - 3
9 ,'B'
10* )
SQL> /
,123461234789
*
ERROR at line 6:
ORA-01438: value larger than specified precision allowed for this column
SQL> EDIT
Wrote file afiedt.buf
1 row created.
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> EDIT
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
2 VALUES
3 (
4 104
5 , 'ARJUN'
6 ,NULL
7 ,NULL
8 ,SYSDATE
9 ,'M'
10* )
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
2 (
3 GEN
4 ,FEES
5 ,SNO
6 ,DOJ
7 ,NAME
8 ,MOB
9 )
10 VALUES
11 (
12 'M'
13 ,4000
14 ,105
15 ,SYSDATE - 10
16 ,'HIMANSHU'
17 ,98765
18* )
SQL> /
1 row created.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 row created.
SQL> edit
Wrote file afiedt.buf
16* )
SQL> /
1 row created.
SQL> CL SCR
7 rows selected.
SQL> ED
Wrote file afiedt.buf
8 VALUES
9 (
10 234324
11 ,4500
12 ,107
13* )
SQL> /
VALUES
*
ERROR at line 8:
ORA-00947: not enough values
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 row created.
8 rows selected.
SQL> CL SCR
SQL> R
1* SELECT * FROM B26_AKSHARA_STUDENT
8 rows selected.
SQL> COMMIT;
Commit complete.
SQL> L SCR
SP2-0224: invalid starting line number
SQL> CL SCR
Table created.
1 row created.
FNAME LNAME
---------- ----------
45 | P a g e
1 row created.
FNAME LNAME
---------- ----------
ARJUN REDDY
SQL> ED
Wrote file afiedt.buf
1 SELECT FNAME
2 ,LENGTH(FNAME)
3 ,LNAME
4 ,LENGTH(LNAME)
5* FROM B26_NULL_SPACE_EX
SQL> /
SQL> CL SCR
SQL> R
1 SELECT FNAME
2 ,LENGTH(FNAME)
3 ,LNAME
4 ,LENGTH(LNAME)
5* FROM B26_NULL_SPACE_EX
SQL> CL SCR
5 ,MOB
6 )
7 VALUES
8 (
9 'NULL'
10 ,'NULL'
11 ,'NULL'
12* );
SQL> /
);
*
ERROR at line 12:
ORA-00911: invalid character
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
3 SNO
4 ,NAME
5 ,MOB
6 )
7 VALUES
8 (
9 NULL
10 ,'NULL'
11 ,NULL
12* )
SQL> /
1 row created.
9 rows selected.
HOW TO INSTALL
HOW TO CONNECT
CONNECT UAERNAME/PASSOWRD
HOW TO RESET THE PASSWORD
WHAT IS SPOOL
EDIT
R
/
SPOOL
CREATE
DATA TYPES
DESC TABLENAME
CREATE
-----------
INSERT
---------
48 | P a g e
INSERT SYNTAX 1:
IF YOU ARE PROVIDING ALL COLUMNS VALUES IN SAME ORDER HOW THE TABLE
IS CREATED
CONSTRAINTS--2 HOURS
49 | P a g e
CONVERSION FUNCTIONS
TO_CHAR
TO_NUMBER
TO_DATE--2 HOURS
N/A-NOT AVAILALBE
INSERT SYNTAX 2:
EACH TIME WHEN YOU CONNECT TO THE DATABASE IT WILL OPEN ONE NEW
SESSION
EACH SESSION WILL HAVE ONE UNIQUE IDENTIFIER CALLED SID
IF YOU ARE PROVIDING DATA FOR ONLY SOME COLUMNS ONLY THAT COLUMNS
YOU CAN KEEP
IN INSERT STATEMENT
THEN BY DEFAUTL ORACLE WILL KEEP NULL VALUES FOR OTHER COLUMNS
WHICH ARE THERE IN TABLE
SUBSTR(
'KRISHNA'
,1
,3
) AS C1
2) P3 PARAMETER IS OPTIONAL
IF P3 NOT PROVIDED FROM P2 TILL END IT WILL GIVE YOU
LENGTH
-------
LENGTH(
P1-- COLUMN/CHARACTERS
)
INSTR
------
52 | P a g e
INSTR(
P1-- COLUMN/LITERAL
,P2--SEARCHED STRING
,P3-- FROM WHICH POSITION WE WANT TO SEARCH
,P4-- FROM P3 HOW MANY TIMES WE WANT TO SEARCH
)
INSTR('KALPANA'
,'A'
,1
,1
)
----------------------------------------------------------
hiHu
ENAME ENAME1
----------
KING kiNg
BLAKE blKe
CLARK clRk
EMP
---
ENAME ENAME1
----------
KING kiNg
BLAKE blaKe SUBSTR(ENAME ,1,LENGTH(ENAME)/2)
,SUBSTR(ENAME,LENGTH(EMNAME)/2+1
CLARK claRk
MARTIN marTin
ROUND
TRUNC
OUTPUT : YY-20-MAY
OUTPUT : YY-MON-DD
DD-MON-YY
YY
DD-MON
4)
NAME
------------------------------
ABHI SHEK KUMAR -- between 1st space and 2nd space what is there
that middlename
SURESH KUMAR NAIDU-- between 1st space and 2nd space what is there
that middlename
A B C-- between 1st space and 2nd space what is there that
middlename
ARJUN 12 34-- between 1st space and 2nd space what is there that
middlename
OUTPUT:
MAILD
------------------------------
ABHISHEK@CAPGEMINI.COM
SURESH@CTS.COM
ARJUN@GMAIL.COM
KRISHNA@GMAIL.CO.IN
6) emp
ename
-------
KING
ARJUN
BLAKE
HIMANSHU
TEJASREE
SURESH
kiNg
arJUN
hiMANSHu
16 DIGIT
FIRST 4 ASIT
LAST 4 AS IT IS
INBETWEEN *
15:45:30
SUBSTR(TIME
,1
,INSTR(TIME,':',1,1) -1
)||' HOURS ' AS HOURS
REPLACE
(
P1-- COLUMN/LITERAL
,P2 -- SEARCHED STRING
,P3 -- REPLACED STRING
)
NOTE:
TRANSLATE
(
P1-- COLUMN/LITERAL
,P2-- SEARCHED CHARACTER SET
,P3-- REPLACED CHARACTER SET
)
(
P1-- COLUMN/LITERAL
,P2-- HOW MANY NUMBER OF CHARACTERS WE ARE EXPECTING IN P1
,P3 -- IF LENGTH(P1 ) < P2 THEN WHAT CHARACTERS WE WANT TO KEEP
LEFT SIDE OF P1 TO MAKE
LENGTH(P1) = P2
)
LPAD(
'SURESH'
,10
,'*'
)
****SURESH
RPAD
(
P1-- COLUMN/LITERAL
,P2-- HOW MANY NUMBER OF CHARACTERS WE ARE EXPECTING IN P1
58 | P a g e
LTRIM
RTRIM
TRIM
NVL
NVL2
NULLIF
COALESECE
CONCAT
CHR
GREATEST
LEAST
DECODE
CASE
SYSDATE
---------
24-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2* FROM DUAL
SQL> /
C1
---------
24-MAY-18
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS C1
2* FROM DUAL
59 | P a g e
C1
---------
24-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 ) AS YY
5* FROM DUAL
SQL> /
C1 YY
--------- --------
24-MAY-18 18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 ) AS YY
5 ,SUBSTR(SYSDATE
6 ,1
7 ,2
8 ) AS DD
9* FROM DUAL
SQL> /
C1 YY DD
--------- -------- --------
24-MAY-18 18 24
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 ) AS YY
5 ,SUBSTR(SYSDATE
6 ,1
7 ,2
8 ) AS DD
9 ,SUBSTR(SYSDATE
10 ,4
11 ,3
12 ) AS MON
13* FROM DUAL
SQL> /
C1 YY DD MON
--------- -------- -------- ------------
24-MAY-18 18 24 MAY
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
60 | P a g e
4 ) AS YY
5 ,SUBSTR(SYSDATE
6 ,1
7 ,2
8 ) AS DD
9 ,SUBSTR(SYSDATE
10 ,4
11 ,3
12 ) AS MON
13* FROM DUAL
C1 YY DD MON
--------- -------- -------- ------------
24-MAY-18 18 24 MAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 )
5 ||'-'||SUBSTR(SYSDATE
6 ,1
7 ,2
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,4
11 ,3
12 ) AS REQUIRED_DATEFORMAT
13* FROM DUAL
SQL>
SQL> /
C1 REQUIRED_DATEFORMAT
--------- ------------------------------
24-MAY-18 18-24-MAY
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 )
5 ||'-'||SUBSTR(SYSDATE
6 ,1
7 ,2
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,4
11 ,3
12 ) AS REQUIRED_DATEFORMAT
13* FROM DUAL
C1 REQUIRED_DATEFORMAT
--------- ------------------------------
24-MAY-18 18-24-MAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
61 | P a g e
3 ,-2
4 )
5 ||'-'||SUBSTR(SYSDATE
6 ,1
7 ,6
8 )
9 AS REQUIRED_DATEFORMAT
10* FROM DUAL
SQL> /
C1 REQUIRED_DATEFORMAT
--------- ---------------------------------
24-MAY-18 18-24-MAY
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 )
5 ||'-'||SUBSTR(SYSDATE
6 ,1
7 ,6
8 )
9 AS REQUIRED_DATEFORMAT
10* FROM DUAL
C1 REQUIRED_DATEFORMAT
--------- ---------------------------------
24-MAY-18 18-24-MAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 )
5 ||'-'||SUBSTR(SYSDATE
6 ,1
7 ,6
8 )
9 AS REQUIRED_DATEFORMAT
10* FROM DUAL
SQL> /
C1 REQUIRED_DATEFORMAT
--------- ---------------------------------
24-MAY-18 18-24-MAY
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS C1
2 ,SUBSTR(SYSDATE
3 ,-2
4 )
5 ||'-'||SUBSTR(SYSDATE
6 ,1
7 ,6
8 )
9 AS REQUIRED_DATEFORMAT
10* FROM DUAL
62 | P a g e
C1 REQUIRED_DATEFORMAT
--------- ---------------------------------
24-MAY-18 18-24-MAY
SQL> CL SCR
SYSDATE
---------
24-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2* FROM DUAL
SQL> /
C1
---------
24-MAY-18
SQL> ED
Wrote file afiedt.buf
INSTR(SYSDATE,'-',-1,1)
-----------------------
7
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9* FROM DUAL
SQL> /
C1
---------
YY
------------------------------------------------------------------------
24-MAY-18
18
SQL> CL SCR
C1 YY
--------- ----------
24-MAY-18 18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSATE
10 ,1
11 ,INSTR(SYSDATE
12 ,'-'
13 ,1
14 ,2
15 ) -1
16 ) AS MM
17* FROM DUAL
SQL> /
,SUBSTR(SYSATE
*
ERROR at line 9:
ORA-00904: "SYSATE": invalid identifier
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,1
11 ,INSTR(SYSDATE
12 ,'-'
13 ,1
14 ,2
15 ) -1
16 ) AS MM
64 | P a g e
C1 YY
--------- ----------
MM
------------------------------------------------------------------------
24-MAY-18 18
24-MAY
C1 YY MM
--------- ---------- ----------
24-MAY-18 18 24-MAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,1
11 ,INSTR(SYSDATE
12 ,'-'
13 ,1
14 ,2
15 ) -1
16 ) AS MM
17* FROM DUAL
SQL> /
C1 MM
--------- ----------
24-MAY-18 18-24-MAY
65 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,1
11 ,INSTR(SYSDATE
12 ,'-'
13 ,1
14 ,2
15 ) -1
16 ) AS MM
17* FROM DUAL
SQL> /
C1 MM
--------- ----------
24-MAY-18 18-24-MAY
SQL> CL SCR
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,1
11 ,INSTR(SYSDATE
12 ,'-'
13 ,1
14 ,2
15 ) -1
16 ) AS MM
17* FROM DUAL
C1 MM
--------- ----------
24-MAY-18 18-24-MAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ,
66 | P a g e
SQL> CL SCR
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ,
10* FROM DUAL
FROM DUAL
*
ERROR at line 10:
ORA-00936: missing expression
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9* FROM DUAL
10 /
C1
---------
SUBSTR(SYSDATE,INSTR(SYSDATE,'-',-1,1)+1)
------------------------------------------------------------------------
24-MAY-18
18
SQL> CL SCR
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9* FROM DUAL
C1
---------
67 | P a g e
SUBSTR(SYSDATE,INSTR(SYSDATE,'-',-1,1)+1)
------------------------------------------------------------------------
24-MAY-18
18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9* FROM DUAL
SQL> /
C1 YY
--------- ----------
24-MAY-18 18
SQL> CL SCR
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9* FROM DUAL
C1 YY
--------- ----------
24-MAY-18 18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 , INSTR(SYSDATE,'-',1,1)
10 , INSTR(SYSDATE,'-',1,2)
11* FROM DUAL
12 /
C1 YY INSTR(SYSDATE,'-',1,1) INSTR(SYSDATE,'-',1,2)
--------- ---------- ---------------------- ----------------------
24-MAY-18 18 3 7
SQL> CL SCR
SQL> R
68 | P a g e
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 , INSTR(SYSDATE,'-',1,1)
10 , INSTR(SYSDATE,'-',1,2)
11* FROM DUAL
C1 YY INSTR(SYSDATE,'-',1,1) INSTR(SYSDATE,'-',1,2)
--------- ---------- ---------------------- ----------------------
24-MAY-18 18 3 7
SQL> D
SP2-0042: unknown command "D" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) + 1
11 ,INSTR(SYSDATE,'-',1,2) - INSTR(SYSDATE,'-',1,1) -1
12 ) AS MM
13* FROM DUAL
SQL> /
C1 YY MM
--------- ---------- ----------
24-MAY-18 18 MAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) + 1
11 ,INSTR(SYSDATE,'-',1,2) - INSTR(SYSDATE,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
SQL> /
C1 YY MM
--------- ---------- ----------
69 | P a g e
DD
------------------------------------------------------------------------
24-MAY-18 18 MAY
24
SQL> r
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) + 1
11 ,INSTR(SYSDATE,'-',1,2) - INSTR(SYSDATE,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
C1 YY MM
--------- ---------- ----------
DD
--------------------------------------------------------------------------------
24-MAY-18 18 MAY
24
C1 YY MM DD
--------- ---------- ---------- ----------
24-MAY-18 18 MAY 24
SQL> cl scr
SQL> r
1 SELECT SYSDATE C1
70 | P a g e
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) + 1
11 ,INSTR(SYSDATE,'-',1,2) - INSTR(SYSDATE,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
C1 YY MM DD
--------- ---------- ---------- ----------
24-MAY-18 18 MAY 24
SQL> ed
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,-'-',1,2) - instr(sysdate,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17 FROM DUAL
18 /
19* dd-mon-yy
20 /
/
*
ERROR at line 18:
ORA-00933: SQL command not properly ended
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,-'-',1,2) - instr(sysdate,'-',1,1) -1
71 | P a g e
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
SQL> /
,instr(sysdate,-'-',1,2) - instr(sysdate,'-',1,1) -1
*
ERROR at line 11:
ORA-01722: invalid number
SQL> CL SCR
SQL> E
SP2-0042: unknown command "E" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,-'-',1,2) - instr(sysdate,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
SQL>
SQL> /
,instr(sysdate,-'-',1,2) - instr(sysdate,'-',1,1) -1
*
ERROR at line 11:
ORA-01722: invalid number
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,'-',1,2) - instr(sysdate,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
72 | P a g e
C1 YY MM DD
--------- ---------- ---------- ----------
24-MAY-18 18 MAY 24
SQL> CL S CR
SP2-0158: unknown CLEAR option "S"
SP2-0158: unknown CLEAR option "CR"
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,'-',1,2) - instr(sysdate,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
C1 YY MM DD
--------- ---------- ---------- ----------
24-MAY-18 18 MAY 24
SQL> CL SCR
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 ) AS YY
9 ,SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,'-',1,2) - instr(sysdate,'-',1,1) -1
12 ) AS MM
13 ,SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
C1 YY MM DD
--------- ---------- ---------- ----------
24-MAY-18 18 MAY 24
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
73 | P a g e
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,'-',1,2) - instr(sysdate,'-',1,1) -1
12 ) AS MM
13 ||'-'||SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS DD
17* FROM DUAL
SQL> /
||'-'||SUBSTR(SYSDATE
*
ERROR at line 13:
ORA-00923: FROM keyword not found where expected
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,'-',1,2) - instr(sysdate,'-',1,1) -1
12 )
13 ||'-'||SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS REQ_DDATE_FORMAT
17* FROM DUAL
SQL> /
C1
---------
REQ_DDATE_FORMAT
--------------------------------------------------------------------------------
24-MAY-18
18-MAY-24
SQL> CL SCR
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
74 | P a g e
11 ,instr(sysdate,'-',1,2) - instr(sysdate,'-',1,1) -1
12 )
13 ||'-'||SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS REQ_DDATE_FORMAT
17* FROM DUAL
C1
---------
REQ_DDATE_FORMAT
--------------------------------------------------------------------------------
24-MAY-18
18-MAY-24
C1 REQ_DDATE_FORMA
--------- ---------------
24-MAY-18 18-MAY-24
SQL> CL SCR
SQL> R
1 SELECT SYSDATE C1
2 ,SUBSTR( SYSDATE
3 ,INSTR( SYSDATE
4 ,'-'
5 ,-1
6 ,1
7 ) + 1
8 )
9 ||'-'||SUBSTR(SYSDATE
10 ,INSTR(SYSDATE,'-',1,1) +1
11 ,instr(sysdate,'-',1,2) - instr(sysdate,'-',1,1) -1
12 )
13 ||'-'||SUBSTR(SYSDATE
14 ,1
15 ,INSTR(SYSDATE,'-',1,1) -1
16 ) AS REQ_DDATE_FORMAT
17* FROM DUAL
C1 REQ_DDATE_FORMA
--------- ---------------
24-MAY-18 18-MAY-24
75 | P a g e
SQL> CL SCR
C1
---------
24-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'YY-MON-DD'
4 ) AS C2
5* FROM DUAL
SQL> /
C1 C2
--------- ------------------
24-MAY-18 18-MAY-24
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'YY'
4 ) AS C2
5* FROM DUAL
SQL> /
C1 C2
--------- --
24-MAY-18 18
SQL> CL SCR
SQL> CL SCR
C1
---------
24-MAY-18
SQL> ED
Wrote file afiedt.buf
C1
--------
08:38:09
76 | P a g e
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24:MI:SS'
3 ) AS C1
4* FROM DUAL
C1
--------
08:38:12
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24:MI:SS'
3 ) AS C1
4* FROM DUAL
C1
--------
08:38:14
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24:MI:SS'
3 ) AS C1
4* FROM DUAL
C1
--------
08:38:16
SQL> ED
Wrote file afiedt.buf
C1
--
08
SQL> ED
Wrote file afiedt.buf
C1 C1
-- --
08 38
SQL> ED
Wrote file afiedt.buf
2 ,'HH24'
3 ) AS C1
4 ,TO_CHAR( SYSDATE
5 ,'MI'
6 ) AS C2
7 ,TO_CHAR( SYSDATE
8 ,'SS'
9 ) AS C3
10* FROM DUAL
SQL> /
C1 C2 C3
-- -- --
08 38 51
SQL> CL SCR
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 ) AS C1
4 ,TO_CHAR( SYSDATE
5 ,'MI'
6 ) AS C2
7 ,TO_CHAR( SYSDATE
8 ,'SS'
9 ) AS C3
10* FROM DUAL
C1 C2 C3
-- -- --
08 38 52
SQL> ED
Wrote file afiedt.buf
C1 C2 C3
--------- ---------- -----------
08 HOURS 39 MINUTES 15 SECONDS
SQL> CL SCR
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS ' AS C1
4 ,TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES' AS C2
7 ,TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS C3
78 | P a g e
C1 C2 C3
--------- ---------- -----------
08 HOURS 39 MINUTES 16 SECONDS
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS ' AS C1
4 ,TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES' AS C2
7 ,TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS C3
10* FROM DUAL
C1 C2 C3
--------- ---------- -----------
08 HOURS 39 MINUTES 19 SECONDS
SQL> ED
Wrote file afiedt.buf
SQL> CL SCR
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS '
4 ,TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES'
7 ,TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS HOURS_MIN_SEC
10* FROM DUAL
SQL> ED
Wrote file afiedt.buf
HOURS_MIN_SEC
------------------------------
08 HOURS 39 MINUTES41 SECONDS
SQL> CL SCR
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS '
4 ||TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES'
7 ||TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS HOURS_MIN_SEC
10* FROM DUAL
HOURS_MIN_SEC
------------------------------
08 HOURS 39 MINUTES42 SECONDS
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS '
4 ||TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES'
7 ||TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS HOURS_MIN_SEC
10* FROM DUAL
HOURS_MIN_SEC
------------------------------
08 HOURS 39 MINUTES44 SECONDS
SQL> ED
Wrote file afiedt.buf
HOURS_MIN_SEC
80 | P a g e
-------------------------------
08 HOURS 39 MINUTES 50 SECONDS
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS '
4 ||TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES '
7 ||TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS HOURS_MIN_SEC
10* FROM DUAL
HOURS_MIN_SEC
-------------------------------
08 HOURS 39 MINUTES 51 SECONDS
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS '
4 ||TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES '
7 ||TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS HOURS_MIN_SEC
10* FROM DUAL
HOURS_MIN_SEC
-------------------------------
08 HOURS 39 MINUTES 51 SECONDS
SQL> R
1 SELECT TO_CHAR( SYSDATE
2 ,'HH24'
3 )||' HOURS '
4 ||TO_CHAR( SYSDATE
5 ,'MI'
6 )||' MINUTES '
7 ||TO_CHAR( SYSDATE
8 ,'SS'
9 )||' SECONDS ' AS HOURS_MIN_SEC
10* FROM DUAL
HOURS_MIN_SEC
-------------------------------
08 HOURS 39 MINUTES 54 SECONDS
SQL> CL SCR
C1
-------------------
SURESH IS A BAD BOY
SQL> EDIT
81 | P a g e
C1
-----------------------------
SURESH IS A VERY VERY BAD BOY
SQL> ED
Wrote file afiedt.buf
C1
------------------------------
SURESH IS A VERY VERY GOOD BOY
SQL> ED
Wrote file afiedt.buf
C1
----------------
SURESH IS A BOY
SQL> CL SCR
SQL> R
1 SELECT REPLACE('SURESH IS A GOOD BOY'
2 ,'GOOD'
3 ) AS C1
4* FROM DUAL
C1
----------------
SURESH IS A BOY
SQL> EDIT
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
C1
--------------------
SURESH IS A GOOD BOY
SQL> CL SCR
SQL> R
1 SELECT REPLACE('SURESH IS A GOOD BOY'
2 ,'GIRL'
3 ,'BEAUTIGUL GIRL'
4 ) AS C1
5* FROM DUAL
C1
--------------------
SURESH IS A GOOD BOY
SQL> CL SCR
C1
--------------------
SURESH IS A GOOD BOY
SQL> CL SCR
SQL> R
1 SELECT REPLACE('SURESH IS A GOOD BOY'
2 ,'GIRL'
3 ,'BEAUTIGUL GIRL'
4 ) AS C1
5* FROM DUAL
C1
--------------------
SURESH IS A GOOD BOY
SQL> CL SCR
15 rows selected.
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,REPLACE(JOB
5 ,'MAN'
6 ,'DAM'
7 ) AS JOB1
8* FROM EMP
SQL> /
15 rows selected.
SQL> CL SCR
C1 C2
-------------------- --------------------
SURESH IS A GOOD 123 SURESH IS A G22D 123
SQL> ED
Wrote file afiedt.buf
3 ,'1234'
4 ) AS C1
5 ,TRANSLATE('SURESH IS A GOOD BOY'
6 ,'BOYS'
7 ,'1234'
8 ) AS C2
9* FROM DUAL
SQL> /
C1 C2
-------------------- --------------------
SURESH IS A GOOD BOY 4URE4H I4 A G22D 123
SQL> R
1 SELECT REPLACE('SURESH IS A GOOD BOY'
2 ,'BOYS'
3 ,'1234'
4 ) AS C1
5 ,TRANSLATE('SURESH IS A GOOD BOY'
6 ,'BOYS'
7 ,'1234'
8 ) AS C2
9* FROM DUAL
C1 C2
-------------------- --------------------
SURESH IS A GOOD BOY 4URE4H I4 A G22D 123
SQL> CL SCR
SQL> R
1 SELECT REPLACE('SURESH IS A GOOD BOY'
2 ,'BOYS'
3 ,'1234'
4 ) AS C1
5 ,TRANSLATE('SURESH IS A GOOD BOY'
6 ,'BOYS'
7 ,'1234'
8 ) AS C2
9* FROM DUAL
C1 C2
-------------------- --------------------
SURESH IS A GOOD BOY 4URE4H I4 A G22D 123
SQL> ED
Wrote file afiedt.buf
C2
--------------------
4URE4H I4 A G22D 123
SQL> CL SCR
SQL> R
1 SELECT TRANSLATE('SURESH IS A GOOD BOY'
2 ,'BOYS'
86 | P a g e
3 ,'1234'
4 ) AS C2
5* FROM DUAL
C2
--------------------
4URE4H I4 A G22D 123
SQL> ED
Wrote file afiedt.buf
C2
-----------------
UREH I A G22D 123
SQL> ED
Wrote file afiedt.buf
C2
--------------------
4URE4H I4 A G22D 123
SQL> CL SCR
SQL> R
1 SELECT TRANSLATE('SURESH IS A GOOD BOY'
2 ,'BOYS'
3 ,'12345678'
4 ) AS C2
5* FROM DUAL
C2
--------------------
4URE4H I4 A G22D 123
SQL> ED
Wrote file afiedt.buf
SQL> CL SCR
87 | P a g e
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD(
2 'SURESH'
3 ,10
4 ,'*'
5 ) AS C1
6* FROM DUAL
SQL> /
C1
----------
****SURESH
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD(
2 'SURESH'
3 ,20
4 ,'*'
5 ) AS C1
6* FROM DUAL
SQL> /
C1
--------------------
**************SURESH
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD(
2 'SURESH'
3 ,10
4 ) AS C1
5* FROM DUAL
SQL> /
C1
----------
SURESH
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD(
2 'KSURESH'
88 | P a g e
3 ,10
4 ,'*^'
5 ) AS C1
6* FROM DUAL
7 /
C1
----------
*^*KSURESH
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD(
2 'SURESH'
3 ,3
4 ,'*'
5 ) AS C1
6* FROM DUAL
SQL> /
C1
---
SUR
SQL> ED
Wrote file afiedt.buf
1 SELECT RPAD(
2 'SURESH'
3 ,10
4 ,'*'
5 ) AS C1
6* FROM DUAL
SQL> /
C1
----------
SURESH****
SQL> ED
Wrote file afiedt.buf
1 SELECT RPAD(
2 'SURESH'
3 ,20
4 ,'*'
5 ) AS C1
6* FROM DUAL
SQL> /
C1
--------------------
SURESH**************
SQL> ED
Wrote file afiedt.buf
1 SELECT RPAD(
2 'KSURESH'
3 ,10
4 ,'*^'
5 ) AS C1
6* FROM DUAL
89 | P a g e
SQL> /
C1
----------
KSURESH*^*
SQL> ED
Wrote file afiedt.buf
1 SELECT RPAD(
2 'KSURESH'
3 ,10
4 ) AS C1
5* FROM DUAL
6 /
C1
----------
KSURESH
SQL> ED
Wrote file afiedt.buf
1 SELECT RPAD(
2 'SURESH'
3 ,3
4 ,'*'
5 ) AS C1
6* FROM DUAL
SQL> /
C1
---
SUR
SQL> CL SCR
SQL> R
1 SELECT RPAD(
2 'SURESH'
3 ,3
4 ,'*'
5 ) AS C1
6* FROM DUAL
C1
---
SUR
----------------------------------------------------------------------------------------------------------------------------------------------------
------------------------
GREATEST
(
P1
,P2
,P3
,P4
.
.
.
PN
)
IT WILL GIVE YOU GREATEST VALUE WHAT IS THERE IN A ROW
GREATEST(10,20,30,40,50,60,90,15,115,25)
ELSE
999 IS HYOU RPROCESSIN GES
END IF;
GREATE3ST(999,15000) -- 15000
LEAST(10,20,30,40,50,60,90,15,115,25)
T1
-----
C1 C2 C3
10 25 40
100 5 125
120 135 110
90 76 55
GREATEST(C1,C2,C3) -- 40
MAX(40
125
135
90
)
135
3) IN EACH ROW IN C1,C2,C3 COLUMNS WHICH COLUMN IS HAVINNG HIGHEST DATA?-- GREATEST
91 | P a g e
LTRIM
(
P1-- COLUMN /LITERAL
,P2-- TRIMMED CHARACTER SET(it can be combniation of alphabets,numbers,speical
characters
)
LTRIM('xyzXYZzyx'
,'y'
)
1) it will take one by one character from p1 and it will check is that character is
available in p2
2) if it is available it will remove that character from p1 and take next character
and it will repeat step1
3) if it is not avialable it will stop removing from that character whatever is
pending/remaining in p1 that will give you
as output.
NOTE:
IF ALL CHARACTERS ARE TRIMMED(REMOVED) THEN OUTPUT WILL BE NULL
P2 PARAMETER IS OPTIONAL IF P2 VALUE NOT PROVIDED BY DEFAULT IT WILL REMOVE ALL
LEFT SIDE SPACES WHICH ARE THERE IN P1
(I.E IT WILL CONSIDER P2 VALUE AS SPACE(' '))
RTRIM
NOTE :RTRIM ALSO SAME AS LTRIM BUT IT WILL TRIM FROM RIGHT SIDE
TRIM
IF YOU WANT TO TRIM BOTH SIDES THEN WE WILL GO FOR TRIM
SYNTAX:
by using trim we can trim both sides but only one character we can trim
(i.e trimed character should be only one character)
NVL
(
P1-- COLUMN/LITERAL
,P2-- COLUMN/LITERAL
)
NVL2
(
P1-- COLUMN/LITERAL
,P2-- COLUMN/LITERAL
,P3-- COLUMN/LITERAL
)
NOTE :
WHENEVER YOU GET A REQUIREMENT OF IF P1 VALUE IS NULL DO SOME THING ELSE DO SOME
THIHHG IN THAT SCENARIO WE CAN
USE NVL2
NULLIF
---------------
NULLIF
(
P1-- COLUMN/LITERAL
,P2--COLUMN/LITERAL
)
COALESCE
---------
COALESCE
(
P1
,P2
,P3
.
.
PN
)
'MR '||COALESLCE(FIRNATM,MNAME,LANME)
ARJUN_FUC
-----------------------
93 | P a g e
CONCAT
(
P1
,P2
)
CHR
EMPLOYEE_INFORMATION
--------------------------------------------
King SALARY IS 5000 AND WORKING AS PRESIDENT
Blake SALARY IS 2850 AND WORKING AS MANAGER
--------------------------------------------------------------------------------------------------------------------------------------
1 SELECT GREATEST(10,20,30,40,50,60,90,15,115,25) AS C1
2* FROM DUAL
C1
----------
115
1 SELECT GREATEST(10,20,30,40,50,60,90,15,115,25,160) AS C1
2* FROM DUAL
SQL> /
C1
----------
160
no rows selected
SQL> @C:\PROJECT\PROJECT\Personal\Inst\EMP_DATA.SQL
SQL> COMMIT;
Commit complete.
SQL> CL SCR
14 rows selected.
SQL> CL SCR
C1
----------
200
SQL> ED
Wrote file afiedt.buf
1 SELECT GREATEST('SURESH','KRISHNA') AS C1
2* FROM DUAL
SQL> /
C1
------
SURESH
SQL> ED
Wrote file afiedt.buf
1 SELECT GREATEST('SURESH','KRISHNA','Z') AS C1
2* FROM DUAL
SQL> /
C
-
Z
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
C1
---------
04-JUN-18
95 | P a g e
SQL> ED
Wrote file afiedt.buf
C1
---------
15-MAY-18
SQL> ED
Wrote file afiedt.buf
C1
-----
ARJUN
SQL> ED
Wrote file afiedt.buf
C1
----------
5
SQL> CL SCR
SQL> R
1 SELECT LEAST (10,20,5,125,145,110,67) AS C1
2* FROM DUAL
C1
----------
5
SQL> CL SCR
C1
---------
xyzXYZzyx
SQL> edit
Wrote file afiedt.buf
1 select LTRIM('xyzXYZzyx'
2 ,'x'
3 ) as c1
4* from dual
5 /
C1
96 | P a g e
--------
yzXYZzyx
SQL> edit
Wrote file afiedt.buf
1 select LTRIM('xyzXYZzyx'
2 ,'yx'
3 ) as c1
4* from dual
SQL> /
C1
-------
zXYZzyx
SQL> ed
Wrote file afiedt.buf
1 select LTRIM('xyzXYZzyx'
2 ,'*yx'
3 ) as c1
4* from dual
SQL> /
C1
-------
zXYZzyx
SQL> ed
Wrote file afiedt.buf
1 select LTRIM('xyzXYZzyx'
2 ,'z*yx'
3 ) as c1
4* from dual
SQL> /
C1
------
XYZzyx
SQL> ed
Wrote file afiedt.buf
1 select LTRIM('xyzXYZzyx'
2 ,'z*yxZ'
3 ) as c1
4* from dual
SQL> /
C1
------
XYZzyx
SQL> ED
Wrote file afiedt.buf
1 select LTRIM('xyzXYZzyx'
2 ,'Yz*yxZ'
3 ) as c1
4* from dual
SQL> /
97 | P a g e
C1
------
XYZzyx
SQL> cl scr
SQL> r
1 select LTRIM('xyzXYZzyx'
2 ,'Yz*yxZ'
3 ) as c1
4* from dual
C1
------
XYZzyx
SQL> ed
Wrote file afiedt.buf
1 select LTRIM('xyzXYZzyx'
2 ,'Yz*yxZX'
3 ) as c1
4* from dual
SQL> /
C
-
SQL> R
1 select LTRIM('xyzXYZzyx'
2 ,'Yz*yxZX'
3 ) as c1
4* from dual
C1
----------
SQL> ED
Wrote file afiedt.buf
1 select LTRIM('9xyzXYZzyx'
2 ,'Yz*yxZX'
3 ) as c1
4* from dual
SQL> /
C1
----------
9xyzXYZzyx
SQL> cl scr
SQL> R
1 select LTRIM('9xyzXYZzyx'
2 ,'Yz*yxZX'
3 ) as c1
98 | P a g e
4* from dual
C1
----------
9xyzXYZzyx
SQL> EDIT
Wrote file afiedt.buf
C1
----------
xyzX
YZzyx
C1
--------------------
xyzXYZzyx
SQL> CL SCR
SQL> R
1 select LTRIM(' xyzXYZzyx'
2 ,'Yz*yxZX'
3 ) as c1
4* from dual
C1
--------------------
xyzXYZzyx
SQL> ED
Wrote file afiedt.buf
C1
--------------------
xyzXYZzyx
SQL> ED
Wrote file afiedt.buf
C1
--------------------
xyzXYZzyx
SQL> ED
Wrote file afiedt.buf
C1
--------------------
xyzXYZzyx
SQL> ED
Wrote file afiedt.buf
C1
--------------------
7 xyzXYZzyx
SQL> ED
Wrote file afiedt.buf
C1
--------------------
xyzXYZzyx
SQL> CL SCR
SQL> R
1 select LTRIM(' xyzXYZzyx'
2 ,'X'
3 ) as c1
4* from dual
C1
--------------------
xyzXYZzyx
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'x'
3 ) as c1
4* from dual
100 | P a g e
SQL> /
C1
--------------------
xyzXYZzy
SQL> ed
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'xX'
3 ) as c1
4* from dual
SQL> /
C1
--------------------
xyzXYZzy
SQL> ED
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'YxX'
3 ) as c1
4* from dual
SQL> /
C1
--------------------
xyzXYZzy
SQL> ED
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'YxXy'
3 ) as c1
4* from dual
SQL> /
C1
--------------------
xyzXYZz
SQL> ed
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'zYxXy'
3 ) as c1
4* from dual
SQL> /
C1
--------------------
xyzXYZ
SQL> ed
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'zYxXyZ'
3 ) as c1
101 | P a g e
4* from dual
SQL> /
C1
--------------------
SQL> ED
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'zYxXyZARJUN'
3 ) as c1
4* from dual
SQL> /
C1
--------------------
SQL> ED
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'zYxXyZARJUN45347053475323SDFDSFASFSDSASFSDAFADSF'
3 ) as c1
4* from dual
SQL> /
C1
--------------------
SQL> ED
Wrote file afiedt.buf
1 select RTRIM('xyzXYZzyx'
2 ,'zYxXyZARJUN45347053475323SDFDSFASFSDSASFSDAFADSF'
3 ) as c1
4* from dual
SQL>
SQL> /
C1
--------------------
SQL> CL SCR
SQL> R
1 select RTRIM('xyzXYZzyx'
2 ,'zYxXyZARJUN45347053475323SDFDSFASFSDSASFSDAFADSF'
3 ) as c1
4* from dual
C1
--------------------
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
102 | P a g e
1 select TRIM('x'
2 FROM
3 'xyzXYZzyx'
4 ) as c1
5* from dual
SQL> /
C1
--------------------
yzXYZzy
SQL> ED
Wrote file afiedt.buf
1 select TRIM('x'
2 FROM
3 'xxxxxxxxxxxxxxxxxxxxyzXYZzyxxxxxxxxxxxxxxxxxxxxxxxxxx'
4 ) as c1
5* from dual
SQL> '/
SP2-0042: unknown command "'/" - rest of line ignored.
SQL> /
C1
--------------------
yzXYZzy
SQL> ed
Wrote file afiedt.buf
1 select TRIM('x'
2 FROM
3 '7xxxxxxxxxxxxxxxxxxxxyzXYZzyxxxxxxxxxxxxxxxxxxxxxxxxxx'
4 ) as c1
5* from dual
SQL> /
C1
--------------------
7xxxxxxxxxxxxxxxxxxx
xyzXYZzy
C1
------------------------------
7xxxxxxxxxxxxxxxxxxxxyzXYZzy
SQL> ed
Wrote file afiedt.buf
1 select TRIM('x'
2 FROM
3 '7xxxxxxxxxxxxxxxxxxxxyzXYZzy'
4 ) as c1
5* from dual
SQL> /
103 | P a g e
C1
------------------------------
7xxxxxxxxxxxxxxxxxxxxyzXYZzy
SQL> ed
Wrote file afiedt.buf
1 select TRIM('yx'
2 FROM
3
'xxxxxxxxxxxxxxxxxxxxyyyyyyyyyzXYZzyyyyyyyxxxxxxxxxxxxxxxxxxxxxx'
4 ) as c1
5* from dual
SQL> /
select TRIM('yx'
*
ERROR at line 1:
ORA-30001: trim set should have only one character
SQL> ed
Wrote file afiedt.buf
1 select TRIM('x'
2 FROM
3
'xxxxxxxxxxxxxxxxxxxxyyyyyyyyyzXYZzyyyyyyyxxxxxxxxxxxxxxxxxxxxxx'
4 ) as c1
5* from dual
SQL> /
C1
------------------------------
yyyyyyyyyzXYZzyyyyyyy
SQL> ed
Wrote file afiedt.buf
C1
------------------------------
zXYZz
SQL> CL SCR
SQL> R
1 select TRIM ('y'
2 FROM
3 TRIM('x'
4 FROM
5
'xxxxxxxxxxxxxxxxxxxxyyyyyyyyyzXYZzyyyyyyyxxxxxxxxxxxxxxxxxxxxxx'
6 )
104 | P a g e
7 ) as c1
8* from dual
C1
------------------------------
zXYZz
SQL> CL SCR
C1
----------
##########
SQL> ED
Wrote file afiedt.buf
1 SELECT NVL(NULL
2 ,10
3 ) AS C2
4* FROM DUAL
SQL> /
C2
----------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT NVL(5
2 ,10
3 ) AS C2
4* FROM DUAL
SQL> /
C2
----------
5
SQL> ED
Wrote file afiedt.buf
1 SELECT NVL(NULL
2 ,NULL
3 ) AS C2
4* FROM DUAL
SQL> /
C
-
SQL> CL SCR
ENAME SAL
105 | P a g e
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
ENAME SAL
---------- ----------
KING ##########
BLAKE ##########
CLARK ##########
JONES ##########
SCOTT ##########
FORD ##########
SMITH ##########
ALLEN ##########
WARD ##########
MARTIN ##########
TURNER ##########
ADAMS ##########
JAMES ##########
MILLER ##########
14 rows selected.
ENAME SAL
---------- ------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
106 | P a g e
MILLER 1300
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3* FROM EMP
ENAME SAL
---------- ------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> CL SCR
C2
----------
20
SQL> ED
Wrote file afiedt.buf
1 SELECT NVL2(5
2 ,10
3 ,20
4 ) AS C2
5* FROM DUAL
SQL> /
C2
----------
10
SQL> CL SCR
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,1000
6 ,2000
7 )
8* FROM EMP
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,1000
6 ,2000
7 )
8* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,1000
6 ,2000
7 )
8 SAL + NVL2( COMM
9 ,1000
10 ,2000
11 ) AS NSAL
12* FROM EMP
SQL> /
SAL + NVL2( COMM
*
ERROR at line 8:
ORA-00923: FROM keyword not found where expected
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,1000
6 ,2000
7 )
8 SAL + NVL2( COMM
9 ,1000
10 ,2000
11 ) AS NSAL
12* FROM EMP
SAL + NVL2( COMM
*
ERROR at line 8:
ORA-00923: FROM keyword not found where expected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
109 | P a g e
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,1000
6 ,2000
7 )
8 ,SAL + NVL2( COMM
9 ,1000
10 ,2000
11 ) AS NSAL
12* FROM EMP
SQL> /
14 rows selected.
SQL> CL L SCR
SP2-0158: unknown CLEAR option "L"
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,1000
6 ,2000
7 )
8 ,SAL + NVL2( COMM
9 ,1000
10 ,2000
11 ) AS NSAL
12* FROM EMP
14 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,'COMMISION IS THERE'
6 ,'NO COMMISION'
7 )
8* FROM EMP
9 /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 , NVL2( COMM
5 ,'COMMISION IS THERE'
6 ,'NO COMMISION'
7 )
8* FROM EMP
14 rows selected.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
C1
----------
##########
SQL> ED
Wrote file afiedt.buf
1 SELECT NULLIF(10,20) AS C2
2* FROM DUAL
SQL> /
C2
----------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT NULLIF(10,10) AS C2
2* FROM DUAL
SQL> /
C2
----------
SQL> ED
Wrote file afiedt.buf
1 SELECT NULLIF(10,'ARJUN') AS C2
2* FROM DUAL
SQL> /
SELECT NULLIF(10,'ARJUN') AS C2
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected NUMBER got CHAR
SQL> CL S CR
SP2-0158: unknown CLEAR option "S"
SP2-0158: unknown CLEAR option "CR"
SQL> CL SCR
C2
----------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(10
112 | P a g e
2 ,200
3 ,30
4 ,40
5 ,50
6 ,60
7 ,80
8 ,100
9 ,5
10 ,110
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,200
3 ,30
4 ,40
5 ,50
6 ,60
7 ,80
8 ,100
9 ,5
10 ,110
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
200
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,30
4 ,40
5 ,50
6 ,60
7 ,80
8 ,100
9 ,5
10 ,110
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
30
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
113 | P a g e
3 ,NULL
4 ,40
5 ,50
6 ,60
7 ,80
8 ,100
9 ,5
10 ,110
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
40
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,NULL
4 ,NULL
5 ,50
6 ,60
7 ,80
8 ,100
9 ,5
10 ,110
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
50
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,NULL
4 ,NULL
5 ,NULL
6 ,60
7 ,80
8 ,100
9 ,5
10 ,110
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
60
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,NULL
114 | P a g e
4 ,NULL
5 ,NULL
6 ,60
7 ,80
8 ,NULL
9 ,5
10 ,110
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
60
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,NULL
4 ,NULL
5 ,NULL
6 ,60
7 ,80
8 ,NULL
9 ,5
10 ,NULL
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
60
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,NULL
4 ,NULL
5 ,NULL
6 ,60
7 ,80
8 ,NULL
9 ,NULL
10 ,NULL
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
60
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,NULL
4 ,NULL
115 | P a g e
5 ,NULL
6 ,60
7 ,NULL
8 ,NULL
9 ,NULL
10 ,NULL
11 ) AS C2
12* FROM DUAL
SQL> /
C2
----------
60
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(NULL
2 ,NULL
3 ,NULL
4 ,NULL
5 ,NULL
6 ,NULL
7 ,NULL
8 ,NULL
9 ,NULL
10 ,NULL
11 ) AS C2
12* FROM DUAL
SQL> /
C
-
SQL> ED
Wrote file afiedt.buf
1 SELECT COALESCE(10
2 ,'ARJUN'
3 ,SYSDATE
4 ,NULL
5 ,NULL
6 ,NULL
7 ,NULL
8 ,NULL
9 ,NULL
10 ,NULL
11 ) AS C2
12* FROM DUAL
SQL> /
,'ARJUN'
*
ERROR at line 2:
ORA-00932: inconsistent datatypes: expected NUMBER got CHAR
SQL> CL SCR
3 ,JOB
4 FROM EMP;
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,' SALARY IS '
3 ,SAL
4 ,' AND WORKING AS '
5 ,JOB
6* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ||' SALARY IS '
3 ||SAL
4 ||' AND WORKING AS '
5 ||JOB AS EMPLOYEE_INFORMATION
6* FROM EMP
SQL> /
EMPLOYEE_INFORMATION
-----------------------------------------------------------------------------------
-----------------------
KING SALARY IS 5000 AND WORKING AS PRESIDENT
BLAKE SALARY IS 2850 AND WORKING AS MANAGER
CLARK SALARY IS 2450 AND WORKING AS MANAGER
JONES SALARY IS 2975 AND WORKING AS MANAGER
SCOTT SALARY IS 3000 AND WORKING AS ANALYST
FORD SALARY IS 3000 AND WORKING AS ANALYST
SMITH SALARY IS 800 AND WORKING AS CLERK
ALLEN SALARY IS 1600 AND WORKING AS SALESMAN
WARD SALARY IS 1250 AND WORKING AS SALESMAN
MARTIN SALARY IS 1250 AND WORKING AS SALESMAN
TURNER SALARY IS 1500 AND WORKING AS SALESMAN
ADAMS SALARY IS 1100 AND WORKING AS CLERK
JAMES SALARY IS 950 AND WORKING AS CLERK
MILLER SALARY IS 1300 AND WORKING AS CLERK
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ||' SALARY IS '
3 ||SAL
4 ||' AND WORKING AS '
5 ||JOB AS EMPLOYEE_INFORMATION
6* FROM EMP
EMPLOYEE_INFORMATION
-----------------------------------------------------------------------------------
-----------------------
KING SALARY IS 5000 AND WORKING AS PRESIDENT
BLAKE SALARY IS 2850 AND WORKING AS MANAGER
CLARK SALARY IS 2450 AND WORKING AS MANAGER
JONES SALARY IS 2975 AND WORKING AS MANAGER
SCOTT SALARY IS 3000 AND WORKING AS ANALYST
118 | P a g e
14 rows selected.
SQL> CL SCR
C1
------------------------------
HI TODAY DATE IS 25-MAY-18
SQL> ED
Wrote file afiedt.buf
C1
------------------------------
HI TODAY DATE IS 25-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
SQL> /
14 rows selected.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
119 | P a g e
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
14 rows selected.
SQL> CL S CR
SP2-0158: unknown CLEAR option "S"
SP2-0158: unknown CLEAR option "CR"
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
CONCAT(ENAME,'SALARYIS')
-----------------------------------------
KING SALARY IS
BLAKE SALARY IS
CLARK SALARY IS
JONES SALARY IS
SCOTT SALARY IS
FORD SALARY IS
SMITH SALARY IS
ALLEN SALARY IS
WARD SALARY IS
MARTIN SALARY IS
TURNER SALARY IS
ADAMS SALARY IS
JAMES SALARY IS
MILLER SALARY IS
14 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
3 )
4* FROM EMP
SQL> /
CONCAT(ENAME,'SALARYIS')
-----------------------------------------
KING SALARY IS
BLAKE SALARY IS
CLARK SALARY IS
JONES SALARY IS
SCOTT SALARY IS
FORD SALARY IS
SMITH SALARY IS
ALLEN SALARY IS
WARD SALARY IS
MARTIN SALARY IS
TURNER SALARY IS
ADAMS SALARY IS
JAMES SALARY IS
MILLER SALARY IS
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT CONCAT( ENAME
2 ,' SALARY IS '
3 )
4* FROM EMP
CONCAT(ENAME,'SALARYIS')
-----------------------------------------
KING SALARY IS
BLAKE SALARY IS
CLARK SALARY IS
JONES SALARY IS
SCOTT SALARY IS
FORD SALARY IS
SMITH SALARY IS
ALLEN SALARY IS
WARD SALARY IS
MARTIN SALARY IS
TURNER SALARY IS
ADAMS SALARY IS
JAMES SALARY IS
MILLER SALARY IS
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CONCAT(
2 CONCAT( ENAME
3 ,' SALARY IS '
4 )
5 ,SAL
6 )
7* FROM EMP
SQL> /
CONCAT(CONCAT(ENAME,'SALARYIS'),SAL)
---------------------------------------------------------------------------------
122 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CONCAT(
2 CONCAT(
3 CONCAT( ENAME
4 ,' SALARY IS '
5 )
6 ,SAL
7 )
8 ,' AND WORKING AS '
9 )
10* FROM EMP
SQL> /
CONCAT(CONCAT(CONCAT(ENAME,'SALARYIS'),SAL),'ANDWORKINGAS')
-----------------------------------------------------------------------------------
--------------
KING SALARY IS 5000 AND WORKING AS
BLAKE SALARY IS 2850 AND WORKING AS
CLARK SALARY IS 2450 AND WORKING AS
JONES SALARY IS 2975 AND WORKING AS
SCOTT SALARY IS 3000 AND WORKING AS
FORD SALARY IS 3000 AND WORKING AS
SMITH SALARY IS 800 AND WORKING AS
ALLEN SALARY IS 1600 AND WORKING AS
WARD SALARY IS 1250 AND WORKING AS
MARTIN SALARY IS 1250 AND WORKING AS
TURNER SALARY IS 1500 AND WORKING AS
ADAMS SALARY IS 1100 AND WORKING AS
JAMES SALARY IS 950 AND WORKING AS
MILLER SALARY IS 1300 AND WORKING AS
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CONCAT(
2 CONCAT(
3 CONCAT(
4 CONCAT( ENAME
5 ,' SALARY IS '
6 )
7 ,SAL
8 )
9 ,' AND WORKING AS '
123 | P a g e
10 )
11 ,JOB
12 ) AS EMPLOYEE_INFORMATION
13* FROM EMP
SQL> /
EMPLOYEE_INFORMATION
-----------------------------------------------------------------------------------
-----------------------
KING SALARY IS 5000 AND WORKING AS PRESIDENT
BLAKE SALARY IS 2850 AND WORKING AS MANAGER
CLARK SALARY IS 2450 AND WORKING AS MANAGER
JONES SALARY IS 2975 AND WORKING AS MANAGER
SCOTT SALARY IS 3000 AND WORKING AS ANALYST
FORD SALARY IS 3000 AND WORKING AS ANALYST
SMITH SALARY IS 800 AND WORKING AS CLERK
ALLEN SALARY IS 1600 AND WORKING AS SALESMAN
WARD SALARY IS 1250 AND WORKING AS SALESMAN
MARTIN SALARY IS 1250 AND WORKING AS SALESMAN
TURNER SALARY IS 1500 AND WORKING AS SALESMAN
ADAMS SALARY IS 1100 AND WORKING AS CLERK
JAMES SALARY IS 950 AND WORKING AS CLERK
MILLER SALARY IS 1300 AND WORKING AS CLERK
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT CONCAT(
2 CONCAT(
3 CONCAT(
4 CONCAT( ENAME
5 ,' SALARY IS '
6 )
7 ,SAL
8 )
9 ,' AND WORKING AS '
10 )
11 ,JOB
12 ) AS EMPLOYEE_INFORMATION
13* FROM EMP
EMPLOYEE_INFORMATION
-----------------------------------------------------------------------------------
-----------------------
KING SALARY IS 5000 AND WORKING AS PRESIDENT
BLAKE SALARY IS 2850 AND WORKING AS MANAGER
CLARK SALARY IS 2450 AND WORKING AS MANAGER
JONES SALARY IS 2975 AND WORKING AS MANAGER
SCOTT SALARY IS 3000 AND WORKING AS ANALYST
FORD SALARY IS 3000 AND WORKING AS ANALYST
SMITH SALARY IS 800 AND WORKING AS CLERK
ALLEN SALARY IS 1600 AND WORKING AS SALESMAN
WARD SALARY IS 1250 AND WORKING AS SALESMAN
MARTIN SALARY IS 1250 AND WORKING AS SALESMAN
TURNER SALARY IS 1500 AND WORKING AS SALESMAN
ADAMS SALARY IS 1100 AND WORKING AS CLERK
JAMES SALARY IS 950 AND WORKING AS CLERK
MILLER SALARY IS 1300 AND WORKING AS CLERK
14 rows selected.
SQL> ED
124 | P a g e
1 SELECT CONCAT(
2 CONCAT(
3 CONCAT(
4 CONCAT( initcap( ENAME)
5 ,' SALARY IS '
6 )
7 ,SAL
8 )
9 ,' AND WORKING AS '
10 )
11 ,lower(JOB)
12 ) AS EMPLOYEE_INFORMATION
13* FROM EMP
SQL> /
EMPLOYEE_INFORMATION
-----------------------------------------------------------------------------------
-----------------------
King SALARY IS 5000 AND WORKING AS president
Blake SALARY IS 2850 AND WORKING AS manager
Clark SALARY IS 2450 AND WORKING AS manager
Jones SALARY IS 2975 AND WORKING AS manager
Scott SALARY IS 3000 AND WORKING AS analyst
Ford SALARY IS 3000 AND WORKING AS analyst
Smith SALARY IS 800 AND WORKING AS clerk
Allen SALARY IS 1600 AND WORKING AS salesman
Ward SALARY IS 1250 AND WORKING AS salesman
Martin SALARY IS 1250 AND WORKING AS salesman
Turner SALARY IS 1500 AND WORKING AS salesman
Adams SALARY IS 1100 AND WORKING AS clerk
James SALARY IS 950 AND WORKING AS clerk
Miller SALARY IS 1300 AND WORKING AS clerk
14 rows selected.
SQL> cl scr
1 SELECT INITCAP(ename)
2 ||' salary is '
3 ||SAL
4 ||' AND WORKING AS '
5 ||LOWER(JOB) AS E_I
6* FROM EMP/
SQL> /
FROM EMP/
*
ERROR at line 6:
ORA-00933: SQL command not properly ended
SQL> ED
Wrote file afiedt.buf
1 SELECT INITCAP(ename)
2 ||' salary is '
125 | P a g e
3 ||SAL
4 ||' AND WORKING AS '
5 ||LOWER(JOB) AS E_I
6* FROM EMP
SQL> /
E_I
-----------------------------------------------------------------------------------
------------------------
King salary is 5000 AND WORKING AS president
Blake salary is 2850 AND WORKING AS manager
Clark salary is 2450 AND WORKING AS manager
Jones salary is 2975 AND WORKING AS manager
Scott salary is 3000 AND WORKING AS analyst
Ford salary is 3000 AND WORKING AS analyst
Smith salary is 800 AND WORKING AS clerk
Allen salary is 1600 AND WORKING AS salesman
Ward salary is 1250 AND WORKING AS salesman
Martin salary is 1250 AND WORKING AS salesman
Turner salary is 1500 AND WORKING AS salesman
Adams salary is 1100 AND WORKING AS clerk
James salary is 950 AND WORKING AS clerk
Miller salary is 1300 AND WORKING AS clerk
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT INITCAP(ename)
2 ||' salary is '
3 ||SAL
4 ||' AND WORKING AS '
5 ||LOWER(JOB) AS E_I
6* FROM EMP
E_I
-----------------------------------------------------------------------------------
------------------------
King salary is 5000 AND WORKING AS president
Blake salary is 2850 AND WORKING AS manager
Clark salary is 2450 AND WORKING AS manager
Jones salary is 2975 AND WORKING AS manager
Scott salary is 3000 AND WORKING AS analyst
Ford salary is 3000 AND WORKING AS analyst
Smith salary is 800 AND WORKING AS clerk
Allen salary is 1600 AND WORKING AS salesman
Ward salary is 1250 AND WORKING AS salesman
Martin salary is 1250 AND WORKING AS salesman
Turner salary is 1500 AND WORKING AS salesman
Adams salary is 1100 AND WORKING AS clerk
James salary is 950 AND WORKING AS clerk
Miller salary is 1300 AND WORKING AS clerk
14 rows selected.
-----------------------------------------------------------------------------
28-MAY-2018 -DECODE,CASE,CHR,ASCII
DECODE
126 | P a g e
(
P1
,P2
,P3
,P4
.
.
PN
)
1) IT ACCEPTS N PARAMETERS
2) DECODE WILL WORK ON EQUALITY
1) AFTER 1ST PARAMETER KEEP ALL REMAINING PARAMETERS AS A PAIR IN SEPARATE LINES
IF YOU HAVE ANY PARAMETER WHICH DOESNOT HAVE A PAIR THAT WILL CONSIDER AS ELSE
VALUE
2) IT WILL TAKE FIRST PARAMETER VALUE AND IT WILL CHECK WITH EACH PAIR 1ST
PARAMETER VALUE
FROMM STARTING.IF IT IS MATCHING FROM THAT PAIR IT WILL GIVE YOU 2ND
PARAMENTER VALUE
IF IT IS NOT MATCHINNG IT WILL CONTINUES WITH 2ND PAIR.
IF IT IS MATCHING IT WILL STOP AND GIVES YOU THE 2ND PARAMENTER VALUE
NOTE :
ALL FIRST PARAMENTERS IN PAIR DATA TYPE SHOULD BE SAME AS 1ST PARAMETER.
CASE
------
CASE IS EXPRESSIONN
WE CAN USE DIRECTLY IN PLSQL
127 | P a g e
SYNTAX:
CASE
WHEN CONDITITONS THEN WHATYOUWANTTODO
WHEN CONDITITONS THEN WHATYOUWANTTODO
WHEN CONDITITONS THEN WHATYOUWANTTODO
WHEN CONDITITONS THEN WHATYOUWANTTODO
WHEN CONDITITONS THEN WHATYOUWANTTODO
WHEN CONDITITONS THEN WHATYOUWANTTODO
ELSE WHEN CONDITITONS THEN WHATYOUWANTTODO
END
ASCII
----
CHARACTER TO ASCII NUMBER
QUESTIONS
------
NUMBER FUNCTIONS
--------------------
EMPLOYEE_INFORMATION
-----------------------
UTL_MAIL
.ADDRECIENT
.ADD
.
Q1) WRITE A SELECT STATEMETN TO GET IN EACH NAME HOW MANY A'S ARE THERE
ENAME NUMBERA
----------
KING 0
BLAKE 1
CLARK 1
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
KRISHNA 1
2)
ENAME OUTPUT
---------- ------------------
KING ******KING******
BLAKE *****BLAKE*****
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
KRISHNA ***KRISHNA***
3)
129 | P a g e
ENAME ENAME1
----------
KING K**G
BLAKE B***E
CLARK C***E
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
KRISHNA K*****A
4)
ENAME ENAME1
----------
KING ****
BLAKE *****
CLARK *****
JONES *****
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
KRISHNA *******
1 SELECT CHR(65) AS C1
2* FROM DUAL
SQL> /
C
-
A
SQL> R
1 SELECT CHR(65) AS C1
2* FROM DUAL
C1
----------
130 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT CHR(66) AS C1
2* FROM DUAL
SQL> /
C1
----------
B
SQL> ED
Wrote file afiedt.buf
1 SELECT CHR(67) AS C1
2* FROM DUAL
SQL> /
C1
----------
C
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
1 SELECT CHR(1) AS C1
2* FROM DUAL
SQL> /
C1
----------
SQL> ED
Wrote file afiedt.buf
1 SELECT CHR(2) AS C1
2* FROM DUAL
SQL> /
C1
----------
SQL> ED
Wrote file afiedt.buf
1 SELECT CHR(5) AS C1
2* FROM DUAL
SQL> /
C1
----------
3 ,JOB
4 FROM EMP;
15 rows selected.
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ||' SALARY IS '
3 ||SAL
4 ||' AND WORKING AS '
5 ||JOB AS EMPLOYEE_INFORMATION
6* FROM EMP
SQL> /
EMPLOYEE_INFORMATION
132 | P a g e
-----------------------------------------------------------------------------------
-----------------------
KING SALARY IS 5000 AND WORKING AS PRESIDENT
BLAKE SALARY IS 2850 AND WORKING AS MANAGER
CLARK SALARY IS 2450 AND WORKING AS MANAGER
JONES SALARY IS 2975 AND WORKING AS MANAGER
SCOTT SALARY IS 3000 AND WORKING AS ANALYST
FORD SALARY IS 3000 AND WORKING AS ANALYST
SMITH SALARY IS 800 AND WORKING AS CLERK
ALLEN SALARY IS 1600 AND WORKING AS SALESMAN
WARD SALARY IS 1250 AND WORKING AS SALESMAN
MARTIN SALARY IS 1250 AND WORKING AS SALESMAN
TURNER SALARY IS 1500 AND WORKING AS SALESMAN
ADAMS SALARY IS 1100 AND WORKING AS CLERK
JAMES SALARY IS 950 AND WORKING AS CLERK
MILLER SALARY IS 1300 AND WORKING AS CLERK
KRISHNA SALARY IS 2000 AND WORKING AS
15 rows selected.
1 SELECT ENAME
2 ||' SALARY IS '
3 ||SAL
4 ,' AND WORKING AS '
5 ||JOB AS EMPLOYEE_INFORMATION
6* FROM EMP
SQL> /
ENAME||'SALARYIS'||SAL
EMPLOYEE_INFORMATION
--------------------------------------------------------------------------------- -
------------------------
KING SALARY IS 5000
AND WORKING AS PRESIDENT
BLAKE SALARY IS 2850
AND WORKING AS MANAGER
CLARK SALARY IS 2450
AND WORKING AS MANAGER
JONES SALARY IS 2975
AND WORKING AS MANAGER
SCOTT SALARY IS 3000
AND WORKING AS ANALYST
FORD SALARY IS 3000
AND WORKING AS ANALYST
SMITH SALARY IS 800
AND WORKING AS CLERK
ALLEN SALARY IS 1600
AND WORKING AS SALESMAN
WARD SALARY IS 1250
AND WORKING AS SALESMAN
MARTIN SALARY IS 1250
AND WORKING AS SALESMAN
TURNER SALARY IS 1500
AND WORKING AS SALESMAN
ADAMS SALARY IS 1100
AND WORKING AS CLERK
JAMES SALARY IS 950
AND WORKING AS CLERK
MILLER SALARY IS 1300
AND WORKING AS CLERK
KRISHNA SALARY IS 2000
AND WORKING AS
133 | P a g e
15 rows selected.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
EMPLOYEE_INFORMATION
-----------------------------------------------------------------------------------
-----------------------
KING SALARY IS 5000 AND WORKING AS PRESIDENT
BLAKE SALARY IS 2850 AND WORKING AS MANAGER
CLARK SALARY IS 2450 AND WORKING AS MANAGER
JONES SALARY IS 2975 AND WORKING AS MANAGER
SCOTT SALARY IS 3000 AND WORKING AS ANALYST
FORD SALARY IS 3000 AND WORKING AS ANALYST
SMITH SALARY IS 800 AND WORKING AS CLERK
ALLEN SALARY IS 1600 AND WORKING AS SALESMAN
WARD SALARY IS 1250 AND WORKING AS SALESMAN
MARTIN SALARY IS 1250 AND WORKING AS SALESMAN
TURNER SALARY IS 1500 AND WORKING AS SALESMAN
ADAMS SALARY IS 1100 AND WORKING AS CLERK
JAMES SALARY IS 950 AND WORKING AS CLERK
MILLER SALARY IS 1300 AND WORKING AS CLERK
KRISHNA SALARY IS 2000 AND WORKING AS
15 rows selected.
SQL> ED
Wrote file afiedt.buf
EMPLOYEE_INFORMATION
-----------------------------------------------------------------------------------
------------------------
KING SALARY IS 5000
AND WORKING AS PRESIDENT
15 rows selected.
SQL> CL SCR
C1
----------
A
C1
----------
##########
1 SELECT ASCII('A') AS C2
2* FROM DUAL
SQL> /
C2
----------
65
C1
---------- ed
##########
SQL> ED
Wrote file afiedt.buf
135 | P a g e
1 SELECT DECODE(10,20,30,40,50,60,10,80,70,10,95,115,120) AS C2
2* FROM DUAL
SQL> /
C2
----------
95
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,60,10
5 ,80,70
6 ,10,95
7 ,115,120
8 ) AS C2
9* FROM DUAL
SQL> /
C2
----------
95
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,60,10
5 ,80,70
6 ,11,95
7 ,115,120
8 ) AS C2
9* FROM DUAL
SQL> /
C2
----------
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,60,10
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
SQL> '/
SP2-0042: unknown command "'/" - rest of line ignored.
SQL> /
C2
----------
136 | P a g e
125
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,60,10
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
SQL> R
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,60,10
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
C2
----------
125
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10,20,30,40,50,60,10,80,70,11,95,115,120,125) AS C2
2* FROM DUAL
SQL> /
C2
----------
125
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10,(20,30),(40,50),60,10,80,70,11,95,115,120,125) AS C2
2* FROM DUAL
SQL> /
SELECT DECODE(10,(20,30),(40,50),60,10,80,70,11,95,115,120,125) AS C2
*
ERROR at line 1:
ORA-00907: missing right parenthesis
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10,20,30,40,50,60,10,80,70,11,95,115,120,125) AS C2
2* FROM DUAL
SQL> /
C2
----------
125
137 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,60,10
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
11 /
C2
----------
125
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,10,10
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
SQL> /
C2
----------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,10,'MATCHING'
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
SQL> /
,10,'MATCHING'
*
ERROR at line 4:
ORA-01722: invalid number
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,'NM'
138 | P a g e
3 ,40,'NM'
4 ,10,'MATCHING'
5 ) AS C2
6* FROM DUAL
SQL> /
C2
--------
MATCHING
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,'NM'
3 ,40,'NM'
4 ,10,'MATCHING'
5 ) AS C2
6* FROM DUAL
SQL> C
SP2-0025: Invalid change string.
SQL> /
C2
--------
MATCHING
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,10,'MATCHING'
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
SQL> /
,10,'MATCHING'
*
ERROR at line 4:
ORA-01722: invalid number
SQL> CL SCR
SQL> R
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,10,'MATCHING'
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
,10,'MATCHING'
*
ERROR at line 4:
ORA-01722: invalid number
139 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,10,15
5 ,80,70
6 ,11,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
SQL> /
C2
----------
15
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,10,15
5 ,80,70
6 ,10,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
SQL> //
C2
----------
15
SQL> CL SCCR
SP2-0158: unknown CLEAR option "SCCR"
SQL> R
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
4 ,10,15
5 ,80,70
6 ,10,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
C2
----------
15
SQL> CL SCR
SQL> R
1 SELECT DECODE(10
2 ,20,30
3 ,40,50
140 | P a g e
4 ,10,15
5 ,80,70
6 ,10,95
7 ,115,120
8 ,125
9 ) AS C2
10* FROM DUAL
C2
----------
15
SQL> CL SCR
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5* FROM EMP
SQL> /
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5* FROM EMP
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5 FROM EMP
6* WHERE DEPTNO =10
SQL> /
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5 FROM EMP
6* WHERE DEPTNO =10
142 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 2000 AS NSAL
5 FROM EMP
6* WHERE DEPTNO =20
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 3000 AS NSAL
5 FROM EMP
6* WHERE DEPTNO =30
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5 FROM EMP
6 WHERE DEPTNO =10
7 UNION ALL
8 SELECT ENAME
9 ,SAL
10 ,DEPTNO
11 ,SAL + 2000 AS NSAL
12 FROM EMP
13 WHERE DEPTNO =10
143 | P a g e
14 UNION ALL
15 SELECT ENAME
16 ,SAL
17 ,DEPTNO
18 ,SAL + 3000 AS NSAL
19 FROM EMP
20* WHERE DEPTNO =30
21 /
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5 FROM EMP
6 WHERE DEPTNO =10
7 UNION ALL
8 SELECT ENAME
9 ,SAL
10 ,DEPTNO
11 ,SAL + 2000 AS NSAL
12 FROM EMP
13 WHERE DEPTNO =20
14 UNION ALL
15 SELECT ENAME
16 ,SAL
17 ,DEPTNO
18 ,SAL + 3000 AS NSAL
19 FROM EMP
20* WHERE DEPTNO =30
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5 FROM EMP
6 WHERE DEPTNO =10
7 UNION ALL
8 SELECT ENAME
9 ,SAL
10 ,DEPTNO
11 ,SAL + 2000 AS NSAL
12 FROM EMP
13 WHERE DEPTNO =20
14 UNION ALL
15 SELECT ENAME
16 ,SAL
17 ,DEPTNO
18 ,SAL + 3000 AS NSAL
19 FROM EMP
20* WHERE DEPTNO =30
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + 1000 AS NSAL
5* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +DECODE(DEPTNO
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,500
9 )AS NSAL
10* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +DECODE(DEPTNO
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
11* FROM EMP
146 | P a g e
SQL> /
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +DECODE(DEPTNO
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
11* FROM EMP
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +DECODE(DEPTNO
147 | P a g e
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
11 FROM EMP
12 ORDER BY DECODE(DEPTNO
13 ,10,1000
14 ,20,2000
15 ,30,3000
16 ,10,10000
17 ,500
18* )
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +DECODE(DEPTNO
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
11 FROM EMP
12 ORDER BY SAL, DECODE(DEPTNO
13 ,10,1000
14 ,20,2000
15 ,30,3000
16 ,10,10000
17 ,500
18* )
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +DECODE(DEPTNO
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
11 FROM EMP
12 ORDER BY SAL
13 , DECODE(DEPTNO
14 ,10,1000
15 ,20,2000
16 ,30,3000
17 ,10,10000
18 ,500
19* )
SQL> /
15 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
149 | P a g e
3 ,DEPTNO
4 ,SAL +DECODE(10
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
11* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 DECODE(10
2 ,10,1000
3 ,20,2000
4 ,30,3000
5 ,10,10000
6 ,500
7 )AS NSAL
8* FROM EMP
SQL> /
DECODE(10
*
ERROR at line 1:
ORA-00900: invalid SQL statement
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(10
2 ,10,1000
3 ,20,2000
4 ,30,3000
5 ,10,10000
6 ,500
7 )AS NSAL
8* FROM EMP
SQL> /
NSAL
----------
150 | P a g e
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
1000
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT DECODE(DEPTNO
2 ,10,1000
3 ,20,2000
4 ,30,3000
5 ,10,10000
6 ,500
7 )AS NSAL
8* FROM EMP
SQL> /
NSAL
----------
1000
3000
1000
2000
2000
2000
2000
3000
3000
3000
3000
2000
3000
1000
500
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + DECODE(DEPTNO
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
151 | P a g e
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL + DECODE(DEPTNO
5 ,10,1000
6 ,20,2000
7 ,30,3000
8 ,10,10000
9 ,500
10 )AS NSAL
11* FROM EMP
15 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
152 | P a g e
4 ,SAL +CASE
5 WHEN DEPTNO = 10 THEN 1000
6 WHEN DEPTNO = 20 THEN 2000
7 WHEN DEPTNO = 30 TEHN 3000
8 WHEN DEPTNO = 10 THEN 10000
9 ELSE 500
10 END AS NSAL
11* FROM EMP
SQL> /
WHEN DEPTNO = 30 TEHN 3000
*
ERROR at line 7:
ORA-00905: missing keyword
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +CASE
5 WHEN DEPTNO = 10 THEN 1000
6 WHEN DEPTNO = 20 THEN 2000
7 WHEN DEPTNO = 30 THEN 3000
8 WHEN DEPTNO = 10 THEN 10000
9 ELSE 500
10 END AS NSAL
11* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +CASE
5 WHEN DEPTNO = 10 THEN 1000
6 WHEN DEPTNO = 20 THEN 2000
7 WHEN DEPTNO = 30 THEN 3000
8 WHEN DEPTNO = 10 THEN 10000
9 ELSE 500
10 END AS NSAL
153 | P a g e
11 FROM EMP
12 ORDER BY
13 CASE
14 WHEN DEPTNO = 10 THEN 1000
15 WHEN DEPTNO = 20 THEN 2000
16 WHEN DEPTNO = 30 THEN 3000
17 WHEN DEPTNO = 10 THEN 10000
18 ELSE 500
19* END
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,SAL +CASE
5 WHEN DEPTNO = 10 THEN 1000
6 WHEN DEPTNO = 20 THEN 2000
7 WHEN DEPTNO = 30 THEN 3000
8 WHEN DEPTNO = 10 THEN 10000
9 ELSE 500
10 END AS NSAL
11 FROM EMP
12 ORDER BY
13 DEPTNO
14 ,CASE
15 WHEN DEPTNO = 10 THEN 1000
16 WHEN DEPTNO = 20 THEN 2000
17 WHEN DEPTNO = 30 THEN 3000
18 WHEN DEPTNO = 10 THEN 10000
19 ELSE 500
20* END
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5 ,SAL +
6 CASE
7 WHEN DEPTNO = 10 AND JOB ='MANAGER' THEN 1000
8 WHEN DEPTNO = 10 AND JOB <> 'MANAGER' THEN 1500
9 WHEN DEPTNO = 20 AND JOB ='MANAGER' THEN 2000
10 WHEN DEPTNO = 20 AND JOB <>'MANAGER' THEN 2500
11 WHEN DEPTNO = 30 AND JOB ='MANAGER' THEN 3000
12 WHEN DEPTNO = 30 AND JOB <> 'MANAGER' THEN 3500
13 ELSE
14 0
15 END AS NSAL
16* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5 ,SAL +
6 CASE
7 WHEN DEPTNO = 10 AND JOB ='MANAGER' THEN 1000
8 WHEN DEPTNO = 10 AND JOB <> 'MANAGER' THEN 1500
9 WHEN DEPTNO = 20 AND JOB ='MANAGER' THEN 2000
10 WHEN DEPTNO = 20 AND JOB <>'MANAGER' THEN 2500
11 WHEN DEPTNO = 30 AND JOB ='MANAGER' THEN 3000
12 WHEN DEPTNO = 30 AND JOB <> 'MANAGER' THEN 3500
13 ELSE
14 0
15 END AS NSAL
16 FROM EMP
17* ORDER BY DEPTNO
SQL> /
/
ENAME SAL DEPTNO JOB NSAL
---------- ---------- ---------- --------- ----------
CLARK 2450 10 MANAGER 3450
MILLER 1300 10 CLERK 2800
KING 5000 10 PRESIDENT 6500
SCOTT 3000 20 ANALYST 5500
ADAMS 1100 20 CLERK 3600
JONES 2975 20 MANAGER 4975
FORD 3000 20 ANALYST 5500
SMITH 800 20 CLERK 3300
JAMES 950 30 CLERK 4450
TURNER 1500 30 SALESMAN 5000
MARTIN 1250 30 SALESMAN 4750
WARD 1250 30 SALESMAN 4750
ALLEN 1600 30 SALESMAN 5100
BLAKE 2850 30 MANAGER 5850
KRISHNA 2000 2000
15 rows selected.
SQL> ED
Wrote file afiedt.buf
156 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5 ,SAL +
6 CASE
7 WHEN DEPTNO = 10 AND JOB ='MANAGER' AND LENGTH(ENAME) > 4 AND
ENAME LIKE '%A%' THEN 1000
8 WHEN DEPTNO = 10 AND JOB <> 'MANAGER' THEN 1500
9 WHEN DEPTNO = 20 AND JOB ='MANAGER' THEN 2000
10 WHEN DEPTNO = 20 AND JOB <>'MANAGER' THEN 2500
11 WHEN DEPTNO = 30 AND JOB ='MANAGER' THEN 3000
12 WHEN DEPTNO = 30 AND JOB <> 'MANAGER' THEN 3500
13 ELSE
14 0
15 END AS NSAL
16 FROM EMP
17* ORDER BY DEPTNO
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5 ,SAL +
6 CASE
7 WHEN DEPTNO = 10 AND JOB ='MANAGER' AND LENGTH(ENAME) > 4 AND
ENAME LIKE '%S%' THEN 1000
8 WHEN DEPTNO = 10 AND JOB <> 'MANAGER' THEN 1500
9 WHEN DEPTNO = 20 AND JOB ='MANAGER' THEN 2000
10 WHEN DEPTNO = 20 AND JOB <>'MANAGER' THEN 2500
11 WHEN DEPTNO = 30 AND JOB ='MANAGER' THEN 3000
12 WHEN DEPTNO = 30 AND JOB <> 'MANAGER' THEN 3500
13 ELSE
14 0
15 END AS NSAL
16 FROM EMP
17* ORDER BY DEPTNO
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5 ,SAL +
6 CASE
7 WHEN DEPTNO = 10 AND JOB ='MANAGER' AND LENGTH(ENAME) > 4 AND
ENAME LIKE '%S%' THEN 1000
8 WHEN DEPTNO = 10 AND JOB <> 'MANAGER' THEN 1500
9 WHEN DEPTNO = 20 AND JOB ='MANAGER' THEN 2000
10 WHEN DEPTNO = 20 AND JOB <>'MANAGER' THEN 2500
11 WHEN DEPTNO = 30 AND JOB ='MANAGER' THEN 3000
12 WHEN DEPTNO = 30 AND JOB <> 'MANAGER' THEN 3500
13 ELSE
14 10
15 END AS NSAL
16 FROM EMP
17* ORDER BY DEPTNO
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
158 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5 ,SAL +
6 CASE
7 WHEN DEPTNO = 10 AND JOB ='MANAGER' AND LENGTH(ENAME) > 4 AND
ENAME LIKE '%S%' THEN 1000
8 WHEN DEPTNO = 10 AND JOB <> 'MANAGER' THEN 1500
9 WHEN DEPTNO = 20 AND JOB ='MANAGER' THEN 2000
10 WHEN DEPTNO = 20 AND JOB <>'MANAGER' THEN 2500
11 WHEN DEPTNO = 30 AND JOB ='MANAGER' THEN 3000
12 WHEN DEPTNO = 30 AND JOB <> 'MANAGER' THEN 3500
13 END AS NSAL
14 FROM EMP
15* ORDER BY DEPTNO
16 /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 ,JOB
5 ,SAL +
6 CASE
7 WHEN DEPTNO = 10 AND JOB ='MANAGER' AND LENGTH(ENAME) > 4 AND
ENAME LIKE '%S%' THEN 1000
8 WHEN DEPTNO = 10 AND JOB <> 'MANAGER' THEN 1500
9 WHEN DEPTNO = 20 AND JOB ='MANAGER' THEN 2000
10 WHEN DEPTNO = 20 AND JOB <>'MANAGER' THEN 2500
11 WHEN DEPTNO = 30 AND JOB ='MANAGER' THEN 3000
12 WHEN DEPTNO = 30 AND JOB <> 'MANAGER' THEN 3500
13 ELSE
14 0
15 END AS NSAL
16 FROM EMP
17* ORDER BY DEPTNO
SQL> /
15 rows selected.
SQL> CL SCR
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE CASE
6 WHEN DEPTNO = 10 THEN 1000
7 ELSE 500
8* END + SAL > 3000
SQL>
SQL> /
6 rows selected.
160 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE CASE
6 WHEN DEPTNO = 10 THEN 1000
7 ELSE 500
8 END + SAL > 3000
9* AND JOB ='MANAGER'
10 /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DECODE(DEPTNO
6 ,10,3000
7 ,500
8* ) + 1000 > 3000
SQL> /
SQL> CL SCR
ENAME
----------
KING
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
KRISHNA
15 rows selected.
161 | P a g e
SAL
----------
5000
2850
2450
2975
3000
3000
800
1600
1250
1250
1500
1100
950
1300
2000
15 rows selected.
SQL>
SQL> CL SCR
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
KRISHNA 2000
15 rows selected.
-----------------------------------------------------------------------------
CHARACTER FUNCTIONS
162 | P a g e
NUMBER FUNCTIONS
----------------------
LENGTH
(
P1
)
ROUND
(
P1-- NUMBER COLUMN/NUMBER LITERAL
,P2-- NUMBER COLUMN/NUMBER LITERAL
)
NOW LET SAY WE HAVE 5 DECIMAL POSITIONS BUT YOU WANT ONLY 2 DECIMAL
POSITIONS
NOW ROUND WILL CHECK 3 DECIMAL VALUE IS IT >=5 IF YES THEN IT WILL
ADD ONE NUMBER 2 DECIMAL POSITION VALUE
IF NOT IT WILL GIVE YOU 2ND DECIMAL VLAUE AS IT IS.
ROUND(15.4)
TRUNC
(
P1-- NUMBER COLUMN/NUMBER LITERAL
,P2-- NUMBER COLUMN/NUMBER LITERAL
)
ROUND
TRUNC
95.67
95
96
TRUNC
RPOU
CTS
---
4 LACKS
4LACKS*20
CEIL
(
P1
)
CEIL WILL GIVE YOU ALWAYS NEAREST HIGHEST WHOLE NUMBER.
IT WILL NOT GIVE YOU ANY DECIAL VALUES IN FINAL RESULTS.
15.10 -- CEIL(16)
' ROUND(15)
TRUNC(15)
15.60 -- CEIL(16)
ROUND(16_
TRUNC(15)
164 | P a g e
FLOOR
(
P1
)
IT WILL GIVE YOU ALWAYS NEAREST LEAST WHOLE NUMBER
IT WILL NOT GIVE YOU ANY DECIMAL PLACES
MOD
(
P1
,P2
)
2)15(7
14
--
1 -- REMINDER
SIGN
(
P1
)
ABS
(
P1
)
IT WILL NOT SHOW YOU ANY SIGN(-VE OR +VE) ALWAYS IT WILL GIVE YOU
AS +VE VALUE.
LOSS -2000
LOSS 2000
SQRT
(
P1
,P2
)
----
|4
POWER
(
P1
,P2
)
POWER(2,5)
IT WILL GIVE YOU 2 POWER 5 VALUE.
VSIZE
(
P1
)
IT WILL GIVE YOU HOW MANY BYTES OF MEMORY IT IS GOING TO USE/ HOW
MANY BYTES THAT GIVE STRING
REQUIRED/CONTAINS
166 | P a g e
LENGTH(
ARJUN --5
VSIZE ARJUN
5
2+1+1+1+4-- 9
LENGTH --5
ROUND
TRUNC
CEIL
FLOOR
SIGN
ABS
MOD
LENGTH
SQRT
POWER
VSIZE
DATE FUNCTIONS
----------------
ADD_MONTHS
MONTHS_BETWEEN
LAST_DAY
NEXT_DAY
ROUND
TRUNC
DATE + NUMBER
DATE - NUMBER
DATE * NUMBER
DATE / NUMBER
DATE - DATE
DATE + DATE
DATE * DATE
DATE / DATE
167 | P a g e
EXTRACT
CONVERSTION FUNCTIONS
LENGTH('SDAFFDSAKJLFDSFJDSA;FDSAFDSFDS')
----------------------------------------
30
SQL> ED
Wrote file afiedt.buf
LENGTH('SDAFFDSAKJLFDSFJDSA;FDSAFDSFDS')
----------------------------------------
33
SQL> CL SCR
SQL> R
1 SELECT LENGTH('SDAFFDSAKJLFDSFJDSA; FDSAFDSFDS')
2* FROM DUAL
LENGTH('SDAFFDSAKJLFDSFJDSA;FDSAFDSFDS')
----------------------------------------
33
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
168 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE LENGTH(ENAME) = 4
SQL> /
ENAME SAL
---------- ----------
KING 5000
FORD 3000
WARD 1250
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE LENGTH(ENAME) = 4
ENAME SAL
---------- ----------
KING 5000
FORD 3000
WARD 1250
C1
----------
15
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5) AS C1
2* FROM DUAL
SQL> /
C1
----------
16
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5) AS C1
2* FROM DUAL
SQL> /
C1
----------
16
SQL> ED
Wrote file afiedt.buf
169 | P a g e
1 SELECT ROUND(15.5) AS C1
2* FROM DUAL
SQL> /
C1
----------
16
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678) AS C1
2* FROM DUAL
SQL> /
C1
----------
16
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,2
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.57
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,2
3 ) AS C1
4* FROM DUAL
SQL>
SQL> /
C1
----------
15.57
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5649
2 ,2
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.56
SQL> R
1 SELECT ROUND(15.5649
2 ,2
3 ) AS C1
4* FROM DUAL
170 | P a g e
C1
----------
15.56
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5699
2 ,2
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.57
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.9999
2 ,2
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
16
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.9999
2 ,2
3 ) AS C1
4* FROM DUAL
5 /
C1
----------
16
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.123456789
2 ,4
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.1235
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.123456789
2 ,4
3 ) AS C1
4* FROM DUAL
171 | P a g e
SQL>
SQL> /
C1
----------
15.1235
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.123456789
2 ) AS C1
3* FROM DUAL
SQL>
SQL> /
C1
----------
15
SQL> CL SCR
SQL> R
1 SELECT ROUND(15.123456789
2 ) AS C1
3* FROM DUAL
C1
----------
15
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,1.5
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,1.9
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,1.92
3 ) AS C1
4* FROM DUAL
172 | P a g e
SQL> /
C1
----------
15.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,ROUND(1.92)
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.57
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,1.999999999999
3 ) AS C1
4* FROM DUAL
SQL> /
C1
----------
15.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.5678
2 ,1.999999999999
3 ) AS C1
4* FROM DUAL
SQL>
SQL> /
C1
----------
15.6
SQL> CL SCR
C1 C2
---------- ----------
16 15
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ROUND(15.99999) AS C1
2 ,TRUNC(15.99999) AS C2
3* FROM DUAL
SQL>
SQL> /
173 | P a g e
C1 C2
---------- ----------
16 15
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.56789) AS C1
2 ,TRUNC(15.56789) AS C2
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
16 15
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.56789,2) AS C1
2 ,TRUNC(15.56789,2) AS C2
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
15.57 15.56
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.56999,2) AS C1
2 ,TRUNC(15.56999,2) AS C2
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
15.57 15.56
SQL> CL SCR
SQL> R
1 SELECT ROUND(15.56999,2) AS C1
2 ,TRUNC(15.56999,2) AS C2
3* FROM DUAL
C1 C2
---------- ----------
15.57 15.56
SQL> CL SCR
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
174 | P a g e
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,SAL / 30 AS PERDAYSALARY
4* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,SAL / 30 AS PERDAYSALARY
4* FROM EMP
SQL>
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,SAL / 30 AS PERDAYSALARY
4* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,ROUND( SAL / 30 ) AS RPERDAYSALARY
4* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
176 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,ROUND( SAL / 30 ) AS RPERDAYSALARY
4 ,TRUNC( SAL / 30 ) AS TPERDAYSALARY
5* FROM EMP
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,ROUND( SAL / 30 ) AS RPERDAYSALARY
4 ,TRUNC( SAL / 30 ) AS TPERDAYSALARY
5* FROM EMP
14 rows selected.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
C1
----------
15
177 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.0000000000000001) AS C1
2 ,CEIL(15.0000000000000001) AS C2
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
15 16
SQL> ED
Wrote file afiedt.buf
1 SELECT ROUND(15.00000000000000000000000000001) AS C1
2 ,CEIL(15.00000000000000000000000000001) AS C2
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
15 16
SQL> ED
Wrote file afiedt.buf
1 SELECT CEIL(15.00000000000000000000000000001) AS C2
2* FROM DUAL
SQL> /
C2
----------
16
SQL> ED
Wrote file afiedt.buf
1 SELECT CEIL(202.435325435324532453245423) AS C2
2* FROM DUAL
SQL> /
C2
----------
203
SQL> ED
Wrote file afiedt.buf
1 SELECT CEIL(202.435325435324532453245423,2) AS C2
2* FROM DUAL
SQL> /
SELECT CEIL(202.435325435324532453245423,2) AS C2
*
ERROR at line 1:
ORA-00909: invalid number of arguments
SQL> ED
Wrote file afiedt.buf
1 SELECT TRUNC(15.99999999999999999999999999999) AS C1
2 ,FLOOR(15.99999999999999999999999999999) AS C2
178 | P a g e
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
15 15
SQL> ED
Wrote file afiedt.buf
1 SELECT TRUNC(15.99999999999999999999999999999,2) AS C1
2 ,FLOOR(15.99999999999999999999999999999,2) AS C2
3* FROM DUAL
SQL> /
,FLOOR(15.99999999999999999999999999999,2) AS C2
*
ERROR at line 2:
ORA-00909: invalid number of arguments
SQL> ED
Wrote file afiedt.buf
1 SELECT TRUNC(15.99999999999999999999999999999,2) AS C1
2 ,FLOOR(15.99999999999999999999999999999) AS C2
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
15.99 15
SQL> CL SCR
SQL> CL SCR
C1
----------
1
SQL> ED
Wrote file afiedt.buf
1 SELECT MOD(15,3) AS C1
2* FROM DUAL
SQL> /
C1
----------
0
SQL> ED
Wrote file afiedt.buf
1 SELECT MOD(15,4) AS C1
2* FROM DUAL
SQL> /
C1
----------
3
179 | P a g e
SQL> CL SCR
SQL> R
1 SELECT MOD(15,4) AS C1
2* FROM DUAL
C1
----------
3
SQL> EDIT
Wrote file afiedt.buf
1 SELECT MOD(4,15) AS C1
2* FROM DUAL
SQL> /
C1
----------
4
SQL> R
1 SELECT MOD(4,15) AS C1
2* FROM DUAL
C1
----------
4
SQL> ED
Wrote file afiedt.buf
1 SELECT MOD(5,15) AS C1
2* FROM DUAL
SQL> /
C1
----------
5
SQL> ED
Wrote file afiedt.buf
1 SELECT MOD(14,15) AS C1
2* FROM DUAL
SQL> /
C1
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT MOD(15,15) AS C1
2* FROM DUAL
SQL> /
C1
----------
0
SQL> CL SCR
180 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,MOD(SAL , 2)
5* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
181 | P a g e
3 ,HIREDATE
4 ,MOD(SAL , 2)
5 FROM EMP
6* WHERE MOD(SAL , 2) = 0
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,MOD(SAL , 2)
5 FROM EMP
6* WHERE MOD(SAL , 2) = 1
SQL> /
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,MOD(SAL , 2)
5 FROM EMP
6* WHERE MOD(SAL , 2) = 1
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
5 /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
5 /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,SUBSTR(HIREDATE,1,2)
5* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,MOD ( SUBSTR(HIREDATE,1,2)
5 ,2
6 )
7* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,MOD ( SUBSTR(HIREDATE,1,2)
5 ,2
6 )
7 FROM EMP
8 WHERE MOD ( SUBSTR(HIREDATE,1,2)
9 ,2
10* ) = 0
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,MOD ( SUBSTR(HIREDATE,1,2)
5 ,2
6 )
7 FROM EMP
8 WHERE MOD ( SUBSTR(HIREDATE,1,2)
9 ,2
10* ) = 1
SQL> /
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
SQL> /
185 | P a g e
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5 WHERE MOD( SUBSTR(SAL ,1,2)
6 ,2
7 ) =0
8 AND MOD(SUBSTR(SAL,-2)
9 ,2
10* ) =1
11 /
no rows selected
186 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5 WHERE MOD( SUBSTR(SAL ,1,2)
6 ,2
7 ) =1
8 AND MOD(SUBSTR(SAL,-2)
9 ,2
10* ) =0
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5 WHERE MOD( SUBSTR(SAL ,1,2)
6 ,2
7 ) =1
8 AND MOD(SUBSTR(SAL,-2)
9 ,2
10* ) =0
SQL> /
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5 WHERE MOD( SUBSTR(SAL ,1,2)
6 ,2
7 ) =1
8 AND MOD(SUBSTR(SAL,-2)
9 ,2
10 ) =0
11* AND LENGTH(SAL ) =4
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5 WHERE MOD( SUBSTR(SAL ,1,2)
6 ,2
7 ) =1
8 AND MOD(SUBSTR(SAL,-2)
9 ,2
10 ) =0
11* AND LENGTH(SAL ) =4
SQL>
SQL> /
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5 WHERE MOD( SUBSTR(SAL ,1,2)
6 ,2
7 ) =1
8 AND MOD(SUBSTR(SAL,-2)
9 ,2
10 ) =0
11* AND LENGTH(SAL ) =4
SQL> CL SCR
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
188 | P a g e
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE MOD( LENGTH(ENAME)
5 ,2
6* ) =0
SQL> /
ENAME SAL
---------- ----------
KING 5000
FORD 3000
WARD 1250
MARTIN 1250
TURNER 1500
MILLER 1300
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE MOD( LENGTH(ENAME)
5 ,2
6* ) =1
SQL> /
ENAME SAL
---------- ----------
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
SMITH 800
ALLEN 1600
ADAMS 1100
JAMES 950
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT (15,4) AS C1
2* FROM DUAL
189 | P a g e
3 /
SELECT (15,4) AS C1
*
ERROR at line 1:
ORA-00907: missing right parenthesis
SQL> ED
Wrote file afiedt.buf
1 SELECT MOD(15,4) AS C1
2* FROM DUAL
SQL> /
C1
----------
3
SQL> CL SCR
SQL> R
1 SELECT MOD(15,4) AS C1
2* FROM DUAL
C1
----------
3
C1
----------
-1
SQL> ED
Wrote file afiedt.buf
C1
----------
1
SQL> ED
Wrote file afiedt.buf
C1
----------
0
SQL> ED
Wrote file afiedt.buf
C1
----------
SQL> ED
Wrote file afiedt.buf
1 SELECT SIGN(-3242423432432432432) AS C1
2* FROM DUAL
SQL> /
C1
----------
-1
SQL> ED
Wrote file afiedt.buf
1 SELECT SIGN(3242423432432432432) AS C1
2* FROM DUAL
SQL> /
C1
----------
1
SQL> ED
Wrote file afiedt.buf
1 SELECT SIGN(0) AS C1
2* FROM DUAL
SQL> /
C1
----------
0
SQL> ED
Wrote file afiedt.buf
1 SELECT SIGN(NULL) AS C1
2* FROM DUAL
SQL> /
C1
----------
SQL> ED
Wrote file afiedt.buf
1 SELECT SIGN(-100) AS C1
2* FROM DUAL
SQL> /
C1
----------
-1
SQL> ED
Wrote file afiedt.buf
SQL> /
C1
----------
-1
SQL> CL SCR
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 FROM EMP
5* WHERE COMM > SAL
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 FROM EMP
5* WHERE SAL < COMM
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
192 | P a g e
2 ,SAL
3 ,COMM
4 FROM EMP
5* WHERE SIGN(SAL - COMM ) =-1
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 FROM EMP
5* WHERE SIGN(SAL - COMM ) =-1
6 /
SQL>
SQL>
SQL> 10000 8000 LOSS
SQL> 10000 12000 PROFIT
SQL>
SQL>
SQL> CASE WHEN SIGN(PC-SC) = -1 THEN 'LOSS'
SP2-0734: unknown command beginning "CASE WHEN ..." - rest of line ignored.
SQL> WHEN SIGN(PC-SC) = 1 THEN 'PROFIT'
SP2-0734: unknown command beginning "WHEN SIGN..." - rest of line ignored.
SQL> END LOSS_PROF
SP2-0734: unknown command beginning "END LOSS_P..." - rest of line ignored.
SQL>
SQL>
SQL> CL SCR
C1
----------
-200
SQL> ED
Wrote file afiedt.buf
C1
----------
200
SQL> CL SCR
SQL> R
1 SELECT ABS ( 100 -300 ) AS C1
2* FROM DUAL
193 | P a g e
C1
----------
200
C1
----------
2
SQL> ED
Wrote file afiedt.buf
1 SELECT SQRT(9) AS C1
2* FROM DUAL
SQL> /
C1
----------
3
SQL> ED
Wrote file afiedt.buf
1 SELECT SQRT(16) AS C1
2* FROM DUAL
SQL> /
C1
----------
4
SQL> ED
Wrote file afiedt.buf
1 SELECT SQRT(18) AS C1
2* FROM DUAL
SQL> /
C1
----------
4.24264069
SQL> ED
Wrote file afiedt.buf
C1
----------
4
SQL> ED
Wrote file afiedt.buf
C1
194 | P a g e
----------
4
SQL> CL SCR
C1
----------
1024
SQL> ED
Wrote file afiedt.buf
1 SELECT POWER(2,100) AS C1
2* FROM DUAL
SQL> /
C1
----------
1.2677E+30
SQL> ED
Wrote file afiedt.buf
1 SELECT POWER(2,20) AS C1
2* FROM DUAL
SQL> /
C1
----------
1048576
SQL> CL SCR
C1
----------
5
SQL> ED
Wrote file afiedt.buf
1 SELECT LENGTH('ARJUN') AS C1
2 ,VSIZE('ARJUN') AS C2
3* FROM DUAL
SQL> /
C1 C2
---------- ----------
5 5
SQL> R
1 SELECT LENGTH('ARJUN') AS C1
2 ,VSIZE('ARJUN') AS C2
3* FROM DUAL
C1 C2
---------- ----------
5 5
195 | P a g e
SQL> R
1 SELECT LENGTH('ARJUN') AS C1
2 ,VSIZE('ARJUN') AS C2
3* FROM DUAL
C1 C2
---------- ----------
5 5
SQL> CL SCR
SQL> R
1 SELECT LENGTH('ARJUN') AS C1
2 ,VSIZE('ARJUN') AS C2
3* FROM DUAL
C1 C2
---------- ----------
5 5
SQL> CL SCR
C1
---------
31-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE + 40 AS C1
2* FROM DUAL
SQL> /
C1
---------
10-JUL-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE-20 AS C1
2* FROM DUAL
SQL> /
C1
---------
11-MAY-18
DATE FUNCTIONS
-------------------
ADD_MONTHS
(
P1-- DATE COLUMN/DATE LITERAL
,P2 -- HOW MANY MONTHS WE WANT TO ADD/SUBSTRACT TO/FROM P1
196 | P a g e
FLIPKART
--------
6 MONTHS EMI
ADD_MONTHS(STARTIMGEMIDATE
,6
)
04-JUN-18
04-JUL-18
04-AUG-18
O4-SEP-18
O4-OCT-18
O4-NOV-18
LEVEL
TODAY
----
ADD_MONTHS(DOJ
,60
) AS GRATUTI_ELI_DATE
ADD_MONTHS(LOANFIRSTEMIDATE
,60
)
MONTHS_BETWEEN
(
P1-- DATE COLUMN /DATE LITERAL
,P2 DATE COLUMN /DATE LITERAL
)
197 | P a g e
IT WILL GIVE YOU BETWEEN P1 AND P2 DATES HOW MANY MONTHS ARE THERE
LAST_DAY
(
P1-- DATE COLUMN/DATE LITERAL
)
IT WILL GIVE YOU LAST DAY OF THE GIVEN YEAR AND MONTH
LETs SAY
LAST_DAY('05-FEB-1985')
1) WRITE A SELECT STATEMENT TO KNOW HOW MANY DAYS ARE THERE IN EACH
WEEKDAY IN CURRENT MONTH ?
01-JUN-18
01-JUN-18 IS A FRIDAY
02-JUN-18 IS A SATUREDAY
.
.
.
.
30-JUN-18 IS A WEDNESAYA
LAST_DAY
TO_CHAR
COUNT
CASE
LEVEL
198 | P a g e
NEXT_DAY
(
P1-- DATE COLUMN/DATE LITERAL
,P2 -- WEEKDAY NAME SUN MON TUE WED THU FRI SAT
)
NEXT_DAY(SYSDATE
,'THU'
)
USER_SCHEDULER_JOBS
------------------------
1)CRONTAB/CRONLIST
* * * * * * *
WHICH DAY
WHICH HOUR
WHHICMONT
2)
SCHEDULER -- DBMS_SCHEDULER
DBMS_JOBS
--------
ROUND
(
P1 -- DATE COLUMN/DATE LITERAL
,P2 -- DAY/MONTH/YEAR
)
TRUNC
(
199 | P a g e
TILL AM ROUND WILL GIVE YOU SAME DAY DATE WITH 00 HOURS :00
MINTUES : 00 SECONDS
FROM PM ROUND WILL GIVE YOU NEXT DAY DATE WITH 00 HOURS :00
MINTUES : 00 SECONDS
BUT TRUNC ALWAYS WILL GIVE YOU SAME DAY DATE WITH 00 HOURS :00
MINTUES : 00 SECONDS
IF P2 VALUE IS DAY
IF P2 VALUE IS MONTH
TILL 15 DAYS ROUND WILL GIVE YOU SAME MONTH STARTING DATE
FROM 16TH DAY ROUND WILL GIVE YOU NEXT MONTH STARTING DATE
BUT TRUNC ALWAYS WILL GIVE YOU SAME MONTH STARTING DATE
IF P2 VALUE IS YEAR
TILL 6 MONTHS ROUND WILL GIVE YOU SAME YEAR STARTING DATE
FROM 7TH MONTH ROUND WILL GIVE YOU NEXT YEAR STARTING DATE
BUT TRUNC ALWAYS WILL GIVE YOU SAME YEAR STARTING DATE
EXTRACT
EXAMPLE :
SELECT SYSDATE AS C1
,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS') AS C11
,ROUND(SYSDATE) AS RC1
,TO_CHAR(ROUND(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS RC11
,TRUNC(SYSDATE) AS TC1
,TO_CHAR(TRUNC(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS TC11
FROM DUAL
/
DATE + NUMBER
DATE - NUMBER
DATE - DATE
3) WRITE A SELECT STATMENT TO GET HOW MANY DAYS OLD YOU ARE ?
SYSDATE - DOJ
SYSDATE - DOB
C1
---------
01-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SYSDATE + 45 AS C2
3* FROM DUAL
SQL> /
C1 C2
--------- ---------
01-JUN-18 16-JUL-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SYSDATE - 45 AS C2
3* FROM DUAL
SQL> /
C1 C2
--------- ---------
01-JUN-18 17-APR-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,SYSDATE * 2 AS C2
3* FROM DUAL
SQL> /
,SYSDATE * 2 AS C2
*
ERROR at line 2:
ORA-00932: inconsistent datatypes: expected NUMBER got DATE
SQL> ED
202 | P a g e
1 SELECT SYSDATE AS C1
2 ,SYSDATE / 2 AS C2
3* FROM DUAL
SQL> /
,SYSDATE / 2 AS C2
*
ERROR at line 2:
ORA-00932: inconsistent datatypes: expected NUMBER got DATE
SQL> ED
Wrote file afiedt.buf
C1
----------
20
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> /
SELECT SYSDATE / (SYSDATE + 1) AS C1
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected NUMBER got DATE
SQL> CL SCR
C1 C2
--------- ---------
01-JUN-18 01-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24) AS C2
3 ,SYSDATE + 5/24 AS C3
4 ,TO_CHAR(SYSDATE + 5/24 ,'DD-MON-YYYY HH24') AS C4
5* FROM DUAL
SQL> /
ERROR:
ORA-01756: quoted string not properly terminated
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24') AS C2
3 ,SYSDATE + 5/24 AS C3
4 ,TO_CHAR(SYSDATE + 5/24 ,'DD-MON-YYYY HH24') AS C4
5* FROM DUAL
SQL> /
C1 C2 C3 C4
--------- ----------------------- --------- -----------------------
01-JUN-18 01-JUN-2018 07 01-JUN-18 01-JUN-2018 12
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24') AS C2
3 ,SYSDATE + 23/24 AS C3
4 ,TO_CHAR(SYSDATE + 23/24 ,'DD-MON-YYYY HH24') AS C4
5* FROM DUAL
SQL> /
C1 C2 C3 C4
--------- ----------------------- --------- -----------------------
01-JUN-18 01-JUN-2018 07 02-JUN-18 02-JUN-2018 06
SQL> CL SCR
SQL> R
204 | P a g e
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24') AS C2
3 ,SYSDATE + 23/24 AS C3
4 ,TO_CHAR(SYSDATE + 23/24 ,'DD-MON-YYYY HH24') AS C4
5* FROM DUAL
C1 C2 C3 C4
--------- ----------------------- --------- -----------------------
01-JUN-18 01-JUN-2018 07 02-JUN-18 02-JUN-2018 06
C1 C1
--------- ---------
01-JUN-18 01-AUG-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,ADD_MONTHS(SYSDATE
3 ,-2
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
--------- ---------
01-JUN-18 01-APR-18
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,ADD_MONTHS(SYSDATE
3 ,-2
4 ) AS C2
5 ,SYSDATE - 60 AS C3
6* FROM DUAL
SQL> /
C1 C2 C3
--------- --------- ---------
01-JUN-18 01-APR-18 02-APR-18
SQL> ED
Wrote file afiedt.buf
205 | P a g e
C1
----------
1.96774194
SQL> CL SCR
14 rows selected.
SQL> EEWD
SP2-0042: unknown command "EEWD" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,SYSDATE - HIREDATE AS EXP_INDAYS
6* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6 ,MONTHS_BETWEEN(SYSDATE
7 ,HIREDATE
8 ) AS EXP_INMONTHS
9* FROM EMP
SQL> /
14 rows selected.
SQL> EDED
SP2-0042: unknown command "EDED" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6 ,ROUND( MONTHS_BETWEEN(SYSDATE
7 ,HIREDATE
8 )
9 ,2
10 ) AS EXP_INMONTHS
11* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6 ,ROUND( MONTHS_BETWEEN(SYSDATE
7 ,HIREDATE
8 )
9 ,2
10 ) AS EXP_INMONTHS
11 ,MONTHS_BETWEEN(SYSDATE,HIREDATE)/12 AS EXP_INYEARS
12* FROM EMP
208 | P a g e
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6 ,ROUND( MONTHS_BETWEEN(SYSDATE
7 ,HIREDATE
8 )
9 ,2
10 ) AS EXP_INMONTHS
11 ,ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12) AS EXP_INYEARS
12* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
209 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6 ,ROUND( MONTHS_BETWEEN(SYSDATE
7 ,HIREDATE
8 )
9 ,2
10 ) AS EXP_INMONTHS
11 ,ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12) AS EXP_INYEARS
12 FROM EMP
13* WHERE ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE) )> 440
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6 ,ROUND( MONTHS_BETWEEN(SYSDATE
7 ,HIREDATE
8 )
9 ,2
10 ) AS EXP_INMONTHS
11 ,ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12) AS EXP_INYEARS
12 FROM EMP
13 WHERE ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE) )> 440
14* ORDER BY SAL ASC
SQL> /
210 | P a g e
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 ,HIREDATE
5 ,ROUND (SYSDATE - HIREDATE) AS EXP_INDAYS
6 ,ROUND( MONTHS_BETWEEN(SYSDATE
7 ,HIREDATE
8 )
9 ,2
10 ) AS EXP_INMONTHS
11 ,ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE)/12) AS EXP_INYEARS
12 FROM EMP
13 WHERE ROUND(MONTHS_BETWEEN(SYSDATE,HIREDATE) )> 440
14* ORDER BY SAL ASC
SQL> /
7 rows selected.
SQL> CL SCR
C1 C1
--------- ---------
01-JUN-18 30-JUN-18
SQL> CL SCR
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
211 | P a g e
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
14 rows selected.
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
15 rows selected.
SQL> CL SCR
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,LAST_DAY(HIREDATE)
5* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,LAST_DAY(HIREDATE)
5 ,LAST_DAY(HIREDATE) - HIREDATE AS NUMOFWORKEDGDAYS
6* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,LAST_DAY(HIREDATE)
5 ,LAST_DAY(HIREDATE) - HIREDATE AS NUMOFWORKEDGDAYS
6 ,SAL / SUBSTR( LAST_DAY(HIREDATE)
7 ,1
8 ,2
9 ) AS PERDAYSAL
10* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,LAST_DAY(HIREDATE)
5 ,LAST_DAY(HIREDATE) - HIREDATE AS NUMOFWORKEDGDAYS
6 ,SUBSTR( LAST_DAY(HIREDATE)
7 ,1
8 ,2
9 ) AS TOTDAYSINTTJOINMONT
10 ,SAL / SUBSTR( LAST_DAY(HIREDATE)
11 ,1
12 ,2
13 ) AS PERDAYSAL
14* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,LAST_DAY(HIREDATE)
5 ,LAST_DAY(HIREDATE) - HIREDATE AS NUMOFWORKEDGDAYS
6 ,SUBSTR( LAST_DAY(HIREDATE)
7 ,1
8 ,2
9 ) AS TOTDAYSINTTJOINMONT
10 ,ROUND(SAL / SUBSTR( LAST_DAY(HIREDATE)
11 ,1
12 ,2
13 )
14 ) AS PERDAYSAL
15* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
216 | P a g e
4 ,LAST_DAY(HIREDATE)
5 ,LAST_DAY(HIREDATE) - HIREDATE AS NUMOFWORKEDGDAYS
6 ,SUBSTR( LAST_DAY(HIREDATE)
7 ,1
8 ,2
9 ) AS TOTDAYSINTTJOINMONT
10 ,ROUND(SAL / SUBSTR( LAST_DAY(HIREDATE)
11 ,1
12 ,2
13 )
14 ) AS PERDAYSAL
15 ,PERDAYSAL * NUMOFWORKEDGDAYS AS JOINED_MONTHS_SALARY
16* FROM EMP
17 /
,PERDAYSAL * NUMOFWORKEDGDAYS AS JOINED_MONTHS_SALARY
*
ERROR at line 15:
ORA-00904: "NUMOFWORKEDGDAYS": invalid identifier
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,LAST_DAY(HIREDATE)
5 ,LAST_DAY(HIREDATE) - HIREDATE AS NUMOFWORKEDGDAYS
6 ,SUBSTR( LAST_DAY(HIREDATE)
7 ,1
8 ,2
9 ) AS TOTDAYSINTTJOINMONT
10 ,ROUND(SAL / SUBSTR( LAST_DAY(HIREDATE)
11 ,1
12 ,2
13 )
14 ) AS PERDAYSAL
15 ,ROUND(SAL / SUBSTR( LAST_DAY(HIREDATE)
16 ,1
17 ,2
18 )
19 ) * (LAST_DAY(HIREDATE) - HIREDATE) AS JOINED_MONTHS_SALARY
20* FROM EMP
SQL> /
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,LAST_DAY(HIREDATE)
5 ,LAST_DAY(HIREDATE) - HIREDATE AS NUMOFWORKEDGDAYS
6 ,SUBSTR( LAST_DAY(HIREDATE)
7 ,1
8 ,2
9 ) AS TOTDAYSINTTJOINMONT
10 ,ROUND(SAL / SUBSTR( LAST_DAY(HIREDATE)
11 ,1
12 ,2
13 )
14 ) AS PERDAYSAL
15 ,ROUND(SAL / SUBSTR( LAST_DAY(HIREDATE)
16 ,1
17 ,2
18 )
19 ) * (LAST_DAY(HIREDATE) - HIREDATE) AS JOINED_MONTHS_SALARY
20* FROM EMP
15 rows selected.
SQL> CL SCR
C1
---------
07-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,NEXT_DAY(SYSDATE
3 ,'THU'
4 )
5 AS C2
6* FROM DUAL
SQL> /
C1 C2
--------- ---------
01-JUN-18 07-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,NEXT_DAY(SYSDATE
3 ,'SAT'
4 )
5 AS C2
6* FROM DUAL
SQL> /
C1 C2
--------- ---------
01-JUN-18 02-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,NEXT_DAY(SYSDATE
219 | P a g e
3 ,'FRI'
4 )
5 AS C2
6* FROM DUAL
SQL> /
C1 C2
--------- ---------
01-JUN-18 08-JUN-18
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS C1
2 ,NEXT_DAY(SYSDATE
3 ,'FRI'
4 )
5 AS C2
6* FROM DUAL
C1 C2
--------- ---------
01-JUN-18 08-JUN-18
C1 RC1 TC1
--------- --------- ---------
01-JUN-18 01-JUN-18 01-JUN-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE) AS RC1
3 ,TRUNC(SYSDATE) AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
01-JUN-18 02-JUN-18 01-JUN-18
SQL> CL SCR
Once the time is changed to PM Manually , the Round will reflect the next day
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE) AS RC1
3 ,TRUNC(SYSDATE) AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
01-JUN-18 02-JUN-18 01-JUN-18
SQL> EDIT
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE) AS RC1
3 ,TO_CHAR(ROUND(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS RC11
4 ,TRUNC(SYSDATE) AS TC1
5 ,TO_CHAR(TRUNC(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS TC11
220 | P a g e
6* FROM DUAL
SQL> /
SQL> D
SP2-0042: unknown command "D" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS') AS C11
3 ,ROUND(SYSDATE) AS RC1
4 ,TO_CHAR(ROUND(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS RC11
5 ,TRUNC(SYSDATE) AS TC1
6 ,TO_CHAR(TRUNC(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS TC11
7* FROM DUAL
SQL> /
SQL> R
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS') AS C11
3 ,ROUND(SYSDATE) AS RC1
4 ,TO_CHAR(ROUND(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS RC11
5 ,TRUNC(SYSDATE) AS TC1
6 ,TO_CHAR(TRUNC(SYSDATE),'DD-MON-YYYY HH24:MI:SS') AS TC11
7* FROM DUAL
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
SQL> /
C1 RC1 TC1
--------- --------- ---------
01-JUN-18 03-JUN-18 27-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
221 | P a g e
4* FROM DUAL
SQL> RF/
SP2-0042: unknown command "RF/" - rest of line ignored.
SQL> /
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 03-JUN-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 03-JUN-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 03-JUN-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 03-JUN-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
222 | P a g e
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
223 | P a g e
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 27-MAY-18 27-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'DAY') AS RC1
3 ,TRUNC(SYSDATE,'DAY') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 03-JUN-18 27-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'MONTH') AS RC1
3 ,TRUNC(SYSDATE,'MONTH') AS TC1
4* FROM DUAL
SQL> /
C1 RC1 TC1
--------- --------- ---------
30-MAY-18 01-JUN-18 01-MAY-18
224 | P a g e
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'MONTH') AS RC1
3 ,TRUNC(SYSDATE,'MONTH') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
14-MAY-18 01-MAY-18 01-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'MONTH') AS RC1
3 ,TRUNC(SYSDATE,'MONTH') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
15-MAY-18 01-MAY-18 01-MAY-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'MONTH') AS RC1
3 ,TRUNC(SYSDATE,'MONTH') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
16-MAY-18 01-JUN-18 01-MAY-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'YEAR') AS RC1
3 ,TRUNC(SYSDATE,'YEAR') AS TC1
4* FROM DUAL
SQL> /
C1 RC1 TC1
--------- --------- ---------
16-MAY-18 01-JAN-18 01-JAN-18
SQL> R
1 SELECT SYSDATE AS C1
2 ,ROUND(SYSDATE,'YEAR') AS RC1
3 ,TRUNC(SYSDATE,'YEAR') AS TC1
4* FROM DUAL
C1 RC1 TC1
--------- --------- ---------
16-AUG-18 01-JAN-19 01-JAN-18
SQL> CL SCR
3-jun-2018-Conversion functions
CHARACTER FUNCTIONS
NUMBER FUNCTIONS
225 | P a g e
DATE FUNCTIONS
CONVERSION FUNCTIONS
------------------------------------------------
TO_CHAR
TO_NUMBER
TO_DATE
FROM DB IF YOU WANT YOUR OWN FORMAT THEN YOU WILL GO FOR TO_CHAR
TO_CHAR
(
P1-- COLUMN /LITERAL
,P2 -- FORMAT SPECIFIERS
,P3 -- NLS FORMAT CHANGES
)
DATE
C1
---------
02-JUN-18
ed
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DAY'
4 )
5* FROM DUAL
SQL> /
C1 TO_CHAR(SYSDATE,'DAY')
--------- ------------------------------------
02-JUN-18 SATURDAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DAY'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
--------- ------------------------------------
02-JUN-18 SATURDAY
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DAY'
4 ) AS C1
5* FROM DUAL
C1 C1
--------- ------------------------------------
02-JUN-18 SATURDAY
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DY'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
--------- ------------
02-JUN-18 SAT
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
228 | P a g e
2 ,TO_CHAR(SYSDATE
3 ,'MONTH'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
--------- ------------------------------------
02-JUN-18 JUNE
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'YYYY'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
--------- ----
02-JUN-18 2018
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'Q'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C
--------- -
02-JUN-18 2
C1 C1
---------- ----------
02-JUN-18 2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'D'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
---------- ----------
02-JUN-18 7
229 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DAY D'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
---------- ----------
02-JUN-18 SATURDAY
7
C1 C1
------------------------------ ------------------------------
02-JUN-18 SATURDAY 7
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DAY DD'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
------------------------------ ------------------------------
02-JUN-18 SATURDAY 02
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DAY DDD'
4 ) AS C1
5* FROM DUAL
SQL> /
C1 C1
------------------------------ ------------------------------
02-JUN-18 SATURDAY 153
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS C1
2 ,TO_CHAR(SYSDATE
3 ,'DAY DDD'
4 ) AS C1
5* FROM DUAL
230 | P a g e
SQL> CL SCR
C2
---------
02-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE
3 ,'YYYY-MM-DD HH24 MI SS DAY'
4 ) AS C1
5* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 2018-06-02 08 20 20 SATURDAY
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE
3 ,'YYYY-MM-DD HH24 MI SS DAY'
4 ) AS C1
5* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 2018-06-02 08 20 35 SATURDAY
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE
3 ,'YYYY-MM-DD HH24 MI SS DAY'
4 ) AS C1
5* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 2018-06-02 08 20 48 SATURDAY
SQL> EDIT
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE
3 ,'YYYY'
4 ) AS C1
5* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 2018
3 ,HIREDATE
4 FROM EMP;
15 rows selected.
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
15 rows selected.
--------------------------
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE HIREDATE LIKE '%DEC%'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE SUBSTR(HIREDATE,4,3) ='DEC'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MM') =12
SQL> /
SQL> ED
Wrote file afiedt.buf
233 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MON') ='DEC'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='DECEMBER'
SQL> /
no rows selected
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='DECEMBER'
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MON') ='DEC'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MM') =12
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='DECEMBER'
SQL> /
no rows selected
------------------------------------
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE 'DECEMBER ' ='DECEMBER'
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE 'DECEMBER ' = 'DECEMBER'
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE 'DECEMBER ' = 'DECEMBER '
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE 'APPLE'='APPLE'
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE 'APPLE '='APPLE'
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'DAY') ='DECEMBER'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'DAY') ='DECEMBER '
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
237 | P a g e
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='DECEMBER '
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
5 /
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MON') ='JUN'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='JUNE'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='JUNE '
6 /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE RTRIM ( TO_CHAR(HIREDATE,'MONTH') ) ='JUNE'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE RTRIM ( TO_CHAR(HIREDATE,'MONTH') ) ='DECEMBER'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE RTRIM ( TO_CHAR(HIREDATE,'MONTH') ) ='MARCH'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE ( TO_CHAR(HIREDATE,'MONTH') ) ='MARCH '
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='MARCH '
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MON') ='MARCH'
SQL> /
240 | P a g e
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MON') ='MAR'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
5 /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MON') ='MAY'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
241 | P a g e
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'MONTH') ='MAY'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 FROM EMP
5* WHERE TO_CHAR(HIREDATE,'FMMONTH') ='MAY'
SQL> /
SQL> CL SCR
SD C2
--------- -------------------------------------------------------------------------
------------------------
02-JUN-18 02-JUN-2018 SATURDAY -JUNE -2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,RTRIM ( TO_CHAR(SYSDATE,'DD-MON-YYYY DAY-MONTH-Q') ) AS C2
3* FROM DUAL
SQL> /
SD C2
--------- -------------------------------------------------------------------------
------------------------
02-JUN-18 02-JUN-2018 SATURDAY -JUNE -2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 , TO_CHAR(SYSDATE,'FMDD-MON-YYYY DAY-MONTH-Q') AS C2
3* FROM DUAL
SQL> /
SD C2
--------- -------------------------------------------------------------------------
------------------------
02-JUN-18 2-JUN-2018 SATURDAY-JUNE-2
SQL> CL SCR
SQL> R
242 | P a g e
1 SELECT SYSDATE AS SD
2 , TO_CHAR(SYSDATE,'FMDD-MON-YYYY DAY-MONTH-Q') AS C2
3* FROM DUAL
SD C2
--------- -------------------------------------------------------------------------
------------------------
02-JUN-18 2-JUN-2018 SATURDAY-JUNE-2
SQL> CL SCR
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE, 'DDD DD D DAY DY MON MM HH24 MI SS YYYY YYY YY Y Q') AS C2
3* FROM DUAL
SQL> /
SD C2
--------- -------------------------------------------------------------------------
--------------------------
02-JUN-18 153 02 7 SATURDAY SAT JUN 06 08 36 02 2018 018 18 8 2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE, 'DDD DD D DAY DY MON MM HH24 MI SS YYYY YYY YY Y Q')
3 ||TO_CHAR(SYSDATE,'MONTH') AS C2
4* FROM DUAL
SQL> /
SD C2
--------- -------------------------------------------------------------------------
--------------------------------------------------------------
02-JUN-18 153 02 7 SATURDAY SAT JUN 06 08 36 24 2018 018 18 8 2JUNE
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE, 'DDD DD D DAY DY MON MM HH24 MI SS YYYY YYY YY Y Q') AS C2
3* FROM DUAL
SQL> /
SD C2
--------- -------------------------------------------------------------------------
--------------------------
02-JUN-18 153 02 7 SATURDAY SAT JUN 06 08 36 33 2018 018 18 8 2
SQL> CL SCR
243 | P a g e
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE, 'DDD DD D DAY DY MON MM HH24 MI SS YYYY YYY YY Y Q') AS C2
3* FROM DUAL
SD C2
--------- -------------------------------------------------------------------------
--------------------------
02-JUN-18 153 02 7 SATURDAY SAT JUN 06 08 37 09 2018 018 18 8 2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE, 'DDD DD D DAY DY MON MM HH24 MI SS YYYY YYY YY Y Q') AS C2
3* FROM DUAL
SQL>
SQL>
SQL>
SQL> CL SCR
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,SUBSTR(HIREDATE,-1)
5* FROM EMP
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,SUBSTR(HIREDATE,-1)
5 FROM EMP
6* WHERE MOD(SUBSTR(HIREDATE,-1),2) =0
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,SUBSTR(HIREDATE,-1)
5 FROM EMP
6* WHERE MOD ( TO_CHAR(HIREDATE,'Y') ,2)=0
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4* FROM EMP
5 /
15 rows selected.
SQL> CL SCR
SD C1
--------- ------------------------------
02-JUN-18 31195
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 31197
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 31199
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86359
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86361
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
246 | P a g e
SD C1
--------- ------------------------------
02-JUN-18 86362
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86362
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86364
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86388
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86394
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86395
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
247 | P a g e
--------- ------------------------------
02-JUN-18 86396
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86397
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86398
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 86399
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 00000
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 00009
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 00009
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSSS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
248 | P a g e
03-JUN-18 00010
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SSSS') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 3535
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SS SS') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 47 47
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SS SS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 48 48
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SS SS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 48 48
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SS SS') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 49 49
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDDDDD') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 154154
249 | P a g e
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDDDDD') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 154154
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDDDDD') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 154154
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD DD D') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 154 03 1
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 154
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD')||TO_CHAR(SYSDATE,'DD')AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 15403
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD')||TO_CHAR(SYSDATE,'DD')||TO_CHAR(SYSDATE,'D') AS C1
3* FROM DUAL
SQL> /
SD C1
250 | P a g e
--------- ------------------------------
03-JUN-18 154031
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD')||TO_CHAR(SYSDATE,'DD')||TO_CHAR(SYSDATE,'D') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 154031
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDDDDD') AS C2
3* FROM DUAL
SQL> /
SD C2
--------- ------
03-JUN-18 154154
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD')||TO_CHAR(SYSDATE,'DD')||TO_CHAR(SYSDATE,'D') AS C1 AS
C2
3* FROM DUAL
SQL> /
,TO_CHAR(SYSDATE,'DDD')||TO_CHAR(SYSDATE,'DD')||TO_CHAR(SYSDATE,'D') AS C1 AS C2
*
ERROR at line 2:
ORA-00923: FROM keyword not found where expected
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD')||TO_CHAR(SYSDATE,'DD')||TO_CHAR(SYSDATE,'D') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 154031
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD')||TO_CHAR(SYSDATE,'DD')||TO_CHAR(SYSDATE,'D') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
03-JUN-18 154031
SQL> ED
251 | P a g e
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'MONTH-DAY-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE -SUNDAY -2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'MONTH-DAY-QFM') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE -SUNDAY -2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'MONTH-DAYFM-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE -SUNDAY -2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'MONTHFM-DAY-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE -SUNDAY-2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'MONTH-FMDAY-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE -SUNDAY-2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'FMMONTH-FMDAY-Q') AS C1
252 | P a g e
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE-SUNDAY -2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'FMMONTH-DAY-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE-SUNDAY-2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'FMMONTH-FMDAY-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE-SUNDAY -2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'FMMONTH-DAY-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE-SUNDAY-2
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'FMMONTH-DAY-Q') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 JUNE-SUNDAY-2
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'FMMONTH-DAY-Q') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
253 | P a g e
02-JUN-18 JUNE-SATURDAY-2
SD C1
--------- ------------------------------
02-JUN-18 AM
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2* FROM DUAL
3 /
SD
---------
02-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY:PM') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02-JUN-18:AM
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY:P.M.') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02-JUN-18:A.M.
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY:P.M') AS C1
3* FROM DUAL
SQL> /
,TO_CHAR(SYSDATE,'DD-MON-YY:P.M') AS C1
*
ERROR at line 2:
ORA-01821: date format not recognized
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY:AM') AS C1
3* FROM DUAL
254 | P a g e
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02-JUN-18:AM
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY:PM') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02-JUN-18:AM
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY AM') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02-JUN-18 AM
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DD-MON-YY CC') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02-JUN-18 21
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'CC') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
255 | P a g e
02-JUN-18 21
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'SCC') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 21
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'AC') AS C1
3* FROM DUAL
SQL> /
,TO_CHAR(SYSDATE,'AC') AS C1
*
ERROR at line 2:
ORA-01821: date format not recognized
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'AD') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 AD
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'BC') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 AD
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'AD') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 AD
SQL> ED
256 | P a g e
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'BC') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 AD
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'B.C.') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 A.D.
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'YEAR') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 TWENTY EIGHTEEN
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'YYYYSP') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 TWO THOUSAND EIGHTEEN
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'QSP') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 TWO
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD') AS C1
257 | P a g e
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 153
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDDSP') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 ONE HUNDRED FIFTY-THREE
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'DDD DDDSP') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 153 ONE HUNDRED FIFTY-THREE
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'D') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 7
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE -1 AS SD
2 ,TO_CHAR(SYSDATE -1 ,'DD') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
01-JUN-18 01
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'DD') AS C1
3* FROM DUAL
SQL> /
SD C1
258 | P a g e
--------- ------------------------------
02-JUN-18 02
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'DDTH') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 02ND
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE -1 AS SD
2 ,TO_CHAR(SYSDATE -1 ,'DDTH') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
01-JUN-18 01ST
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE +1 AS SD
2 ,TO_CHAR(SYSDATE + 1 ,'DDTH') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
03-JUN-18 03RD
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE +2 AS SD
2 ,TO_CHAR(SYSDATE + 2 ,'DDTH') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
04-JUN-18 04TH
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE +2 AS SD
2 ,TO_CHAR(SYSDATE + 2 ,'DDSP') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
04-JUN-18 FOUR
SQL> ED
259 | P a g e
1 SELECT SYSDATE +2 AS SD
2 ,TO_CHAR(SYSDATE + 2 ,'DDSPTH') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
04-JUN-18 FOURTH
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'DDSPTH') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 SECOND
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'DDSP') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 TWO
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'DDSPTH') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 SECOND
SQL> CL SCR
SQL> R
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'DDSPTH') AS C1
3* FROM DUAL
SD C1
--------- ------------------------------
02-JUN-18 SECOND
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'RRRR') AS C1
3* FROM DUAL
260 | P a g e
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 2018
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'RR') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 18
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'R') AS C1
3* FROM DUAL
SQL> /
,TO_CHAR(SYSDATE ,'R') AS C1
*
ERROR at line 2:
ORA-01821: date format not recognized
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE ,'RRR') AS C1
3* FROM DUAL
SQL> /
,TO_CHAR(SYSDATE ,'RRR') AS C1
*
ERROR at line 2:
ORA-01821: date format not recognized
SQL> CL SCR
C1
------------------------------
01-JAN-12
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(TO_DATE(1,'J'),'DD-MON-YYYY') AS C1
2* FROM DUAL
SQL> /
C1
------------------------------
01-JAN-4712
261 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(TO_DATE(1,'J'),'DD-MON-SYYYY') AS C1
2* FROM DUAL
SQL> /
C1
------------------------------
01-JAN--4712
SQL> ED
Wrote file afiedt.buf
C1
------------------------------
01-JAN--4712 BC
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE AS SD
2 ,TO_CHAR(SYSDATE,'J') AS C1
3* FROM DUAL
SQL> /
SD C1
--------- ------------------------------
02-JUN-18 2458272
SQL> CL SCR
C1
------------------------------
2446985
C1
----------
##########
SQL> ED
Wrote file afiedt.buf
C2
----------
11287
SQL> ED
Wrote file afiedt.buf
262 | P a g e
C2
----------
30.9232877
SQL> CL SCR
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,TO_CHAR(HIREDATE,'YYYY-MON') AS C1
5 ,TO_CHAR(HIREDATE,'DDD DD D') AS C2
6 ,TO_CHAR(HIREDATE,'Q HH24:MI:SS') AS C3
7* FROM EMP
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,TO_CHAR(HIREDATE,'YYYY-MON') AS C1
5 ,TO_CHAR(HIREDATE,'DDD DD D') AS C2
6 ,TO_CHAR(HIREDATE,'Q HH24:MI:SS') AS C3
7* FROM EMP
SQL>
SQL>
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,TO_CHAR(HIREDATE,'YYYY-MON') AS C1
5 ,TO_CHAR(HIREDATE,'DDD DD D') AS C2
6 ,TO_CHAR(HIREDATE,'Q HH24:MI:SS') AS C3
7* FROM EMP
15 rows selected.
1 row created.
SQL> ED
Wrote file afiedt.buf
2 VALUES
3 (
4 102,'SURESH'
5 ,2100
6 ,SYSDATE
7* )
SQL> /
1 row created.
SQL> COMMIT;
Commit complete.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,TO_CHAR(HIREDATE,'YYYY-MON') AS C1
5 ,TO_CHAR(HIREDATE,'DDD DD D') AS C2
6 ,TO_CHAR(HIREDATE,'Q HH24:MI:SS') AS C3
7* FROM EMP
SQL> /
17 rows selected.
SQL> CL SCR
,06012018105541
*
ERROR at line 13:
ORA-00932: inconsistent datatypes: expected DATE got NUMBER
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(HIREDATE,'DD-MON-YYYY HH24 MI SS ') AS C1
4* FROM EMP
SQL> /
ENAME SAL C1
---------- ---------- ------------------------------
SURESH 2100 02-JUN-2018 09 04 07
HIMANSHU 2300 01-JUN-2018 10 55 41
KRISHNA 2500 17-MAY-2018 00 00 00
ARJUN 2000 02-JUN-2018 00 00 00
KING 5000 17-NOV-1981 00 00 00
BLAKE 2850 01-MAY-1981 00 00 00
CLARK 2450 09-JUN-1981 00 00 00
JONES 2975 02-APR-1981 00 00 00
SCOTT 3000 19-APR-1987 00 00 00
FORD 3000 03-DEC-1981 00 00 00
SMITH 800 17-DEC-1980 00 00 00
ALLEN 1600 20-FEB-1981 00 00 00
WARD 1250 22-FEB-1981 00 00 00
MARTIN 1250 28-SEP-1981 00 00 00
TURNER 1500 08-SEP-1981 00 00 00
ADAMS 1100 23-MAY-1987 00 00 00
JAMES 950 03-DEC-1981 00 00 00
MILLER 1300 23-JAN-1982 00 00 00
18 rows selected.
SQL> CL SCR
C1
------------------------------
2448045
*
ERROR at line 4:
ORA-00904: "HIREDATE": invalid identifier
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,HIREDATE
4 ,TO_CHAR(HIREDATE,'J') AS C1
5* FROM EMP
SQL> /
18 rows selected.
---------------------------------------------------------------------
03-jun-2018
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,999.99'
5 ) AS SAL1
6* FROM EMP
SQL>
SQL> INSERT INTO EMP(EMPNO,ENAME,SAL)
2 VALUES
3 (
4 110,'SAI',25540);
1 row created.
SQL> COMMIT;
Commit complete.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
270 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,',99,99,999,99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
,',99,99,999,99,999.99'
*
ERROR at line 4:
ORA-01481: invalid number format model
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,99,999,99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
272 | P a g e
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL>
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,999.99'
5 ) AS SAL1
6* FROM EMP
274 | P a g e
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
----------------------------------------------------------------------------------
------------------------------- -------- ------------------------------------------
----------------------------------
EMPNO
NUMBER(4)
ENAME
VARCHAR2(30)
JOB
VARCHAR2(9)
MGR
NUMBER(4)
HIREDATE
DATE
SAL
NUMBER(8,2)
COMM
NUMBER(7,2)
DEPTNO
NUMBER(2)
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99999,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,999.99'
5 ) AS SAL1
6* FROM EMP
276 | P a g e
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,9,9,9,9.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
277 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9,9,9,9,9.9.9'
5 ) AS SAL1
6* FROM EMP
SQL> /
,'9,9,9,9,9.9.9'
*
ERROR at line 4:
ORA-01481: invalid number format model
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,999.9.9'
5 ) AS SAL1
6* FROM EMP
SQL> /
,'99,999.9.9'
*
ERROR at line 4:
ORA-01481: invalid number format model
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99,999.99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
278 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99G999D99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9G9G9G9G9D99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9G9G9G9G9D9D9'
5 ) AS SAL1
6* FROM EMP
SQL> /
,'9G9G9G9G9D9D9'
*
ERROR at line 4:
ORA-01481: invalid number format model
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'9G9G9G9G9D99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99G999.99'
280 | P a g e
5 ) AS SAL1
6* FROM EMP
SQL> /
,'99G999.99'
*
ERROR at line 4:
ORA-01481: invalid number format model
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'00G000.00'
5 ) AS SAL1
6* FROM EMP
SQL> /
,'00G000.00'
*
ERROR at line 4:
ORA-01481: invalid number format model
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'00G000D00'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
281 | P a g e
2 ,SAL
3 ,TO_CHAR(SAL
4 ,'99G999D99'
5 ) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> CL SCR
19 rows selected.
SQL> ED
Wrote file afiedt.buf
282 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL - COMM
6 ,'S999999'
7 )
8* FROM EMP
SQL> /
JAMES 950
MILLER 1300
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 , CASE
6 WHEN SIGN(SAL - COMM) = 1 THEN '+'||(SAL - COMM)
7 WHEN SIGN(SAL - COMM) = -1 THEN '-'||(SAL - COMM)
8 END SA1
9* FROM EMP
10 /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 , CASE
6 WHEN SIGN(SAL - COMM) = 1 THEN '+'||(SAL - COMM)
7 ELSE (SAL - COMM)
8 END SA1
9* FROM EMP
SQL> /
ELSE (SAL - COMM)
*
ERROR at line 7:
ORA-00932: inconsistent data types: expected CHAR got NUMBER
SQL> ED
284 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 , CASE
6 WHEN SIGN(SAL - COMM) = 1 THEN '+'||(SAL - COMM)
7 ELSE SAL - COMM
8 END SA1
9* FROM EMP
SQL> /
ELSE SAL - COMM
*
ERROR at line 7:
ORA-00932: inconsistent datatypes: expected CHAR got NUMBER
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 , CASE
6 WHEN SIGN(SAL - COMM) = 1 THEN '+'||(SAL - COMM)
7 ELSE TO_CHAR((SAL - COMM))
8 END SA1
9* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
285 | P a g e
5 , CASE
6 WHEN SIGN(SAL - COMM) = 1 THEN '+'||(SAL - COMM)
7 ELSE TO_CHAR((SAL - COMM))
8 END SA1
9* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'S99999') AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'S99999') AS SAL1
6* FROM EMP
SQL>
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'99999S') AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'999S99') AS SAL1
6* FROM EMP
SQL> /
ERROR:
ORA-01481: invalid number format model
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'S99999S') AS SAL1
6* FROM EMP
SQL> /
ERROR:
ORA-01481: invalid number format model
no rows selected
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'S99999') AS SAL1
6* FROM EMP
SQL> /
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600 300 1300 +1300
WARD 1250 500 750 +750
MARTIN 1250 1400 -150 -150
TURNER 1500 0 1500 +1500
ADAMS 1100
JAMES 950
MILLER 1300
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'99999') AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'99999MI') AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'MI99999') AS SAL1
6* FROM EMP
SQL> /
ERROR:
ORA-01481: invalid number format model
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'99999') AS SAL1
6* FROM EMP
SQL> /
SMITH 800
ALLEN 1600 300 1300 1300
WARD 1250 500 750 750
MARTIN 1250 1400 -150 -150
TURNER 1500 0 1500 1500
ADAMS 1100
JAMES 950
MILLER 1300
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,ABS (TO_CHAR(SAL-COMM,'99999')) AS SAL1
6* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'99999') AS SAL1
6* FROM EMP
SQL> /
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600 300 1300 1300
WARD 1250 500 750 750
MARTIN 1250 1400 -150 -150
TURNER 1500 0 1500 1500
ADAMS 1100
JAMES 950
MILLER 1300
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'PR99999') AS SAL1
6* FROM EMP
SQL> /
ERROR:
ORA-01481: invalid number format model
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,SAL - COMM AS DIFF
5 ,TO_CHAR(SAL-COMM,'99999PR') AS SAL1
6* FROM EMP
SQL> /
JAMES 950
MILLER 1300
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'9999999') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'99,999.99') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'99,999.99L') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'L99,999.99') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'L99,999.99','NLS_CURRENCY=RS') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'99,999.99L','NLS_CURRENCY=RS') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'99,999.99L','NLS_CURRENCY= RS') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'99,999.99') AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'99,999.99')||' RS' AS SAL1
5* FROM EMP
SQL> /
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 ,TO_CHAR(SAL,'99,999.99L','NLS_CURRENCY= RS') AS SAL1
5* FROM EMP
SQL> /
297 | P a g e
19 rows selected.
SQL> cl scr
SQL> EDIT
Wrote file afiedt.buf
1 SELECT TO_CHAR(5,'RM') AS C1
2* FROM DUAL
SQL> /
C1
---------------
V
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(5,'rm') AS C1
2* FROM DUAL
SQL> /
C1
---------------
v
SQL> cl scr
JOB
VARCHAR2(9)
MGR
NUMBER(4)
HIREDATE
DATE
SAL
NUMBER(8,2)
COMM
NUMBER(7,2)
DEPTNO
NUMBER(2)
SQL> ED
Wrote file afiedt.buf
SQL> ED
299 | P a g e
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,TO_CHAR(SAL,'99,999.99L') SAL
3 ,TO_CHAR(HIREDATE,'DD-MON-YYYY DAY Q MONTH') AS HIREDATEC
4* FROM EMP
SQL> /
20 rows selected.
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
1 SELECT LAST_DAY('02-FEB-1987') AS C1
2* FROM DUAL
SQL> /
C1
---------
28-FEB-87
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> EDED
SP2-0042: unknown command "EDED" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
C1
----------
26
SQL> ED
Wrote file afiedt.buf
C1
----------
-36499
SQL> ED
Wrote file afiedt.buf
C1
----------
693988
SQL> ED
Wrote file afiedt.buf
C1
----------
26
SQL> ED
Wrote file afiedt.buf
SQL> /
C1
----------
26
SQL> ED
Wrote file afiedt.buf
C1
----------
-36499
SQL> ED
Wrote file afiedt.buf
C1
---------
12-JUN-81
SQL> E3D
SP2-0042: unknown command "E3D" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(TO_DATE('02-FEB-87','DD-MON-YY'),'YYYY') AS C1
2* FROM DUAL
SQL> /
C1
----
2087
SQL> ED
Wrote file afiedt.buf
1 SELECT '02-FEB-1987' + 7 AS C1
2* FROM DUAL
SQL> /
SELECT '02-FEB-1987' + 7 AS C1
*
ERROR at line 1:
ORA-01722: invalid number
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_DATE('02-FEB-1987') + 7 AS C1
2* FROM DUAL
SQL> /
C1
---------
09-FEB-87
304 | P a g e
SQL> CL SCR
SQL> CL SCR
C1
---------
01-JUL-87
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT TO_DATE('987','YYYY') AS C1
2* FROM DUAL
SQL> /
C1
---------
01-JUN-87
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_DATE('1987','YYYY') AS C1
2* FROM DUAL
SQL> /
C1
---------
01-JUN-87
SQL> R
1 SELECT TO_DATE('1987','YYYY') AS C1
2* FROM DUAL
C1
---------
01-MAY-87
SQL> CL SCR
C1
---------
01-DEC-18
SQL> ED
Wrote file afiedt.buf
C1
---------
31-DEC-18
305 | P a g e
SQL> ED
Wrote file afiedt.buf
C1
----------
241.621285
SQL> R
1 SELECT LAST_DAY( TO_DATE('DEC2018','MONYYYY')
2 ) - SYSDATE AS C1
3* FROM DUAL
C1
----------
-123.37888
SQL> ED
Wrote file afiedt.buf
C1
----------
-123.37917
SQL> ED
Wrote file afiedt.buf
C1
----------
241.620764
SQL> ED
Wrote file afiedt.buf
1 SELECT SYSDATE
2* FROM DUAL
SQL> /
SYSDATE
---------
03-MAY-19
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(SYSDATE,'YYYY')
2* FROM DUAL
SQL> /
306 | P a g e
TO_C
----
2019
SQL> ED
Wrote file afiedt.buf
1 SELECT 'DEC'||TO_CHAR(SYSDATE,'YYYY')
2* FROM DUAL
SQL> /
'DEC'||
-------
DEC2019
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_DATE('DEC'||TO_CHAR(SYSDATE,'YYYY')
2 ,'MONYYYY'
3 )
4* FROM DUAL
SQL> /
TO_DATE('
---------
01-DEC-19
SQL> ED
Wrote file afiedt.buf
1 SELECT LAST_DAY(TO_DATE('DEC'||TO_CHAR(SYSDATE,'YYYY')
2 ,'MONYYYY'
3 )
4 )
5* FROM DUAL
SQL> /
LAST_DAY(
---------
31-DEC-19
SQL> ED
Wrote file afiedt.buf
1 SELECT LAST_DAY(TO_DATE('DEC'||TO_CHAR(SYSDATE,'YYYY')
2 ,'MONYYYY'
3 )
4 ) - SYSDATE
5* FROM DUAL
SQL> /
LAST_DAY(TO_DATE('DEC'||TO_CHAR(SYSDATE,'YYYY'),'MONYYYY'))-SYSDATE
-------------------------------------------------------------------
241.619618
SQL> R
1 SELECT LAST_DAY(TO_DATE('DEC'||TO_CHAR(SYSDATE,'YYYY')
2 ,'MONYYYY'
3 )
4 ) - SYSDATE
5* FROM DUAL
307 | P a g e
LAST_DAY(TO_DATE('DEC'||TO_CHAR(SYSDATE,'YYYY'),'MONYYYY'))-SYSDATE
-------------------------------------------------------------------
241.619514
SQL> CL SCR
SYSDATE
---------
03-JUN-18
SQL> ED
Wrote file afiedt.buf
TRUNC(SYS
---------
01-JAN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
4 )
5 ,12
6 )
7* FROM DUAL
SQL> /
ADD_MONTH
---------
01-JAN-19
SQL> ED
Wrote file afiedt.buf
1 SELECT ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
4 )
5 ,12
6 ) - 1
7* FROM DUAL
SQL> /
ADD_MONTH
---------
31-DEC-18
SQL> ED
Wrote file afiedt.buf
1 SELECT ( ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
308 | P a g e
4 )
5 ,12
6 ) - 1
7 ) - SYSDATE
8* FROM DUAL
SQL> /
(ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1)-SYSDATE
------------------------------------------------
210.61713
SQL> CL SCR
SQL> R
1 SELECT ( ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
4 )
5 ,12
6 ) - 1
7 ) - SYSDATE
8* FROM DUAL
(ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1)-SYSDATE
------------------------------------------------
210.616933
SQL> R
1 SELECT ( ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
4 )
5 ,12
6 ) - 1
7 ) - SYSDATE
8* FROM DUAL
(ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1)-SYSDATE
------------------------------------------------
88.6168519
SQL> R
1 SELECT ( ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
4 )
5 ,12
6 ) - 1
7 ) - SYSDATE
8* FROM DUAL
(ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1)-SYSDATE
------------------------------------------------
88.6167593
SQL> R
1 SELECT ( ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
4 )
5 ,12
6 ) - 1
7 ) - SYSDATE
8* FROM DUAL
309 | P a g e
(ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1)-SYSDATE
------------------------------------------------
149.61647
SQL> ED
Wrote file afiedt.buf
1 SELECT ( ADD_MONTHS(
2 TRUNC( SYSDATE
3 ,'YEAR'
4 )
5 ,12
6 ) - 1
7 ) - SYSDATE
8* FROM DUAL
SQL>
SQL> /
(ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1)-SYSDATE
------------------------------------------------
149.616123
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(
2 ( ADD_MONTHS(
3 TRUNC( SYSDATE
4 ,'YEAR'
5 )
6 ,12
7 )
8 - 1
9 )
10 ,'DDD'
11 ) - TO_CHAR(SYSDATE,'DDD')
12* FROM DUAL
SQL> /
TO_CHAR((ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1),'DDD')-TO_CHAR(SYSDATE,'DDD')
------------------------------------------------------------------------------
150
SQL> ED
Wrote file afiedt.buf
1 SELECT TO_CHAR(
2 ( ADD_MONTHS(
3 TRUNC( SYSDATE
4 ,'YEAR'
5 )
6 ,12
7 )
8 - 1
9 )
10 ,'DDD'
11 ) - TO_CHAR(SYSDATE,'DDD')
12* FROM DUAL
SQL>
SQL> /
TO_CHAR((ADD_MONTHS(TRUNC(SYSDATE,'YEAR'),12)-1),'DDD')-TO_CHAR(SYSDATE,'DDD')
------------------------------------------------------------------------------
310 | P a g e
150
SQL> CL SCR
SQL> CL SCR
ENAME
----------
SURESH
HIMANSHU
KRISHNA
ARJUN
SAI
SUBHASH
KING
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SUBSTR(ENAME,1,1) AS C1
3 ,SUBSTR(ENAME,-1,1) AS C1
4* FROM EMP
SQL> /
ENAME C1 C1
---------- ---- ----
SURESH S H
HIMANSHU H U
KRISHNA K A
ARJUN A N
SAI S I
SUBHASH S H
KING K G
BLAKE B E
CLARK C K
JONES J S
SCOTT S T
FORD F D
SMITH S H
ALLEN A N
WARD W D
MARTIN M N
TURNER T R
ADAMS A S
JAMES J S
311 | P a g e
MILLER M R
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD('*'
2 ,4
3 ,'*'
4 ) AS C1
5* FROM DUAL
SQL> /
C1
----
****
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD('*'
2 ,LENGTH('SURESH') - 2
3 ,'*'
4 ) AS C1
5* FROM DUAL
SQL> /
C1
----
****
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD('*'
2 ,LENGTH('HIMANSHU') - 2
3 ,'*'
4 ) AS C1
5* FROM DUAL
SQL> /
C1
------
******
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD('*'
2 ,LENGTH('AB') - 2
3 ,'*'
4 ) AS C1
5* FROM DUAL
SQL> /
C
-
SQL> ED
Wrote file afiedt.buf
1 SELECT LPAD('*'
312 | P a g e
2 ,LENGTH('ACB') - 2
3 ,'*'
4 ) AS C1
5* FROM DUAL
SQL> /
C
-
*
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SUBSTR(ENAME,1,1) AS C1
3 ,LPAD('*'
4 ,LENGTH(ENAME) - 2
5 ,'*'
6 )
7 ,SUBSTR(ENAME,-1,1) AS C2
8* FROM EMP
SQL> /
ENAME C1
---------- ----
LPAD('*',LENGTH(ENAME)-2,'*')
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
C2
----
SURESH S
****
H
HIMANSHU H
******
U
KRISHNA K
*****
A
ARJUN A
***
N
SAI S
*
I
SUBHASH S
*****
H
KING K
**
G
BLAKE B
***
E
CLARK C
313 | P a g e
***
K
JONES J
***
S
SCOTT S
***
T
FORD F
**
D
SMITH S
***
H
ALLEN A
***
N
WARD W
**
D
MARTIN M
****
N
TURNER T
****
R
ADAMS A
***
S
JAMES J
***
S
MILLER M
****
R
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SUBSTR(ENAME,1,1) AS C1
3 ,LPAD('*'
4 ,LENGTH(ENAME) - 2
5 ,'*'
6 ) C3
7 ,SUBSTR(ENAME,-1,1) AS C2
8* FROM EMP
SQL> /
ENAME C1
314 | P a g e
---------- ----
C3
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
C2
----
SURESH S
****
H
HIMANSHU H
******
U
KRISHNA K
*****
A
ARJUN A
***
N
SAI S
*
I
SUBHASH S
*****
H
KING K
**
G
BLAKE B
***
E
CLARK C
***
K
JONES J
***
S
SCOTT S
***
T
FORD F
**
D
SMITH S
***
H
ALLEN A
***
N
WARD W
315 | P a g e
**
D
MARTIN M
****
N
TURNER T
****
R
ADAMS A
***
S
JAMES J
***
S
MILLER M
****
R
20 rows selected.
ENAME C1 C3 C2
---------- ---- ---------- ----
SURESH S **** H
HIMANSHU H ****** U
KRISHNA K ***** A
ARJUN A *** N
SAI S * I
SUBHASH S ***** H
KING K ** G
BLAKE B *** E
CLARK C *** K
JONES J *** S
SCOTT S *** T
FORD F ** D
SMITH S *** H
ALLEN A *** N
WARD W ** D
MARTIN M **** N
TURNER T **** R
ADAMS A *** S
JAMES J *** S
MILLER M **** R
20 rows selected.
SQL> ED
Wrote file afiedt.buf
316 | P a g e
1 SELECT ENAME
2 ,SUBSTR(ENAME,1,1)
3 ||LPAD('*'
4 ,LENGTH(ENAME) - 2
5 ,'*'
6 )
7 ||SUBSTR(ENAME,-1,1) AS ENAME1
8* FROM EMP
SQL> /
ENAME
----------
ENAME1
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
SURESH
S****H
HIMANSHU
H******U
KRISHNA
K*****A
ARJUN
A***N
SAI
S*I
SUBHASH
S*****H
KING
K**G
BLAKE
B***E
CLARK
C***K
JONES
J***S
SCOTT
S***T
FORD
F**D
SMITH
S***H
ALLEN
A***N
WARD
W**D
MARTIN
M****N
317 | P a g e
TURNER
T****R
ADAMS
A***S
JAMES
J***S
MILLER
M****R
20 rows selected.
SQL> R
1 SELECT ENAME
2 ,SUBSTR(ENAME,1,1)
3 ||LPAD('*'
4 ,LENGTH(ENAME) - 2
5 ,'*'
6 )
7 ||SUBSTR(ENAME,-1,1) AS ENAME1
8* FROM EMP
ENAME ENAME1
---------- ----------
SURESH S****H
HIMANSHU H******U
KRISHNA K*****A
ARJUN A***N
SAI S*I
SUBHASH S*****H
KING K**G
BLAKE B***E
CLARK C***K
JONES J***S
SCOTT S***T
FORD F**D
SMITH S***H
ALLEN A***N
WARD W**D
MARTIN M****N
TURNER T****R
ADAMS A***S
JAMES J***S
MILLER M****R
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SUBSTR(ENAME,1,1)
3 ||RPAD('*'
4 ,LENGTH(ENAME) - 2
5 ,'*'
6 )
318 | P a g e
7 ||SUBSTR(ENAME,-1,1) AS ENAME1
8* FROM EMP
SQL> /
ENAME ENAME1
---------- ----------
SURESH S****H
HIMANSHU H******U
KRISHNA K*****A
ARJUN A***N
SAI S*I
SUBHASH S*****H
KING K**G
BLAKE B***E
CLARK C***K
JONES J***S
SCOTT S***T
FORD F**D
SMITH S***H
ALLEN A***N
WARD W**D
MARTIN M****N
TURNER T****R
ADAMS A***S
JAMES J***S
MILLER M****R
20 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
ENAME1
----------
S**H
H**U
K**A
A**N
S**I
S**H
K**G
B**E
C**K
J**S
S**T
F**D
S**H
A**N
319 | P a g e
W**D
M**N
T**R
A**S
J**S
M**R
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 select ename
2 , replace(ename
3 ,SUBSTR(ENAME,2,3)
4 ,'**'
5 )
6* from emp
7 /
ENAME REPLACE(ENAME,SUBSTR(ENAME,2,3),'**')
---------- ------------------------------------------------------------
SURESH S**SH
HIMANSHU H**NSHU
KRISHNA K**HNA
ARJUN A**N
SAI S**
SUBHASH S**ASH
KING K**
BLAKE B**E
CLARK C**K
JONES J**S
SCOTT S**T
FORD F**
SMITH S**H
ALLEN A**N
WARD W**
MARTIN M**IN
TURNER T**ER
ADAMS A**S
JAMES J**S
MILLER M**ER
20 rows selected.
SQL> CL SCR
ENAME
----------
SURESH
HIMANSHU
KRISHNA
ARJUN
SAI
SUBHASH
KING
BLAKE
CLARK
JONES
SCOTT
FORD
320 | P a g e
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LENGTH(ENAME) AS C1
3* FROM EMP
SQL> /
ENAME C1
---------- ----------
SURESH 6
HIMANSHU 8
KRISHNA 7
ARJUN 5
SAI 3
SUBHASH 7
KING 4
BLAKE 5
CLARK 5
JONES 5
SCOTT 5
FORD 4
SMITH 5
ALLEN 5
WARD 4
MARTIN 6
TURNER 6
ADAMS 5
JAMES 5
MILLER 6
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LENGTH(ENAME) AS C1
3 ,REPLACE(ENAME
4 ,'A'
5 ) AS C2
6* FROM EMP
SQL> /
ENAME C1 C2
---------- ---------- ------------------------------
SURESH 6 SURESH
HIMANSHU 8 HIMNSHU
KRISHNA 7 KRISHN
ARJUN 5 RJUN
SAI 3 SI
SUBHASH 7 SUBHSH
KING 4 KING
321 | P a g e
BLAKE 5 BLKE
CLARK 5 CLRK
JONES 5 JONES
SCOTT 5 SCOTT
FORD 4 FORD
SMITH 5 SMITH
ALLEN 5 LLEN
WARD 4 WRD
MARTIN 6 MRTIN
TURNER 6 TURNER
ADAMS 5 DMS
JAMES 5 JMES
MILLER 6 MILLER
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LENGTH(ENAME) AS C1
3 ,LENGTH(REPLACE(ENAME
4 ,'A'
5 )) AS C2
6* FROM EMP
SQL> /
ENAME C1 C2
---------- ---------- ----------
SURESH 6 6
HIMANSHU 8 7
KRISHNA 7 6
ARJUN 5 4
SAI 3 2
SUBHASH 7 6
KING 4 4
BLAKE 5 4
CLARK 5 4
JONES 5 5
SCOTT 5 5
FORD 4 4
SMITH 5 5
ALLEN 5 4
WARD 4 3
MARTIN 6 5
TURNER 6 6
ADAMS 5 3
JAMES 5 4
MILLER 6 6
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LENGTH(ENAME)
3 -LENGTH(REPLACE(ENAME
4 ,'A'
5 )) AS C2
6* FROM EMP
SQL> /
ENAME C2
322 | P a g e
---------- ----------
SURESH 0
HIMANSHU 1
KRISHNA 1
ARJUN 1
SAI 1
SUBHASH 1
KING 0
BLAKE 1
CLARK 1
JONES 0
SCOTT 0
FORD 0
SMITH 0
ALLEN 1
WARD 1
MARTIN 1
TURNER 0
ADAMS 2
JAMES 1
MILLER 0
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LENGTH(ENAME)
3 -LENGTH(REPLACE(ENAME
4 ,'A'
5 )) AS C2
6 FROM EMP
7 WHERE LENGTH(ENAME)
8 -LENGTH(REPLACE(ENAME
9 ,'A'
10* )) = 2
SQL> /
ENAME C2
---------- ----------
ADAMS 2
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LENGTH(ENAME)
3 -LENGTH(REPLACE(ENAME
4 ,'A'
5 )) AS C2
6 FROM EMP
7 WHERE LENGTH(ENAME)
8 -LENGTH(REPLACE(ENAME
9 ,'A'
10* )) = 0
SQL> /
ENAME C2
---------- ----------
SURESH 0
KING 0
JONES 0
SCOTT 0
323 | P a g e
FORD 0
SMITH 0
TURNER 0
MILLER 0
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LENGTH(ENAME)
3 -LENGTH(REPLACE(ENAME
4 ,'A'
5 )) AS C2
6 FROM EMP
7 WHERE LENGTH(ENAME)
8 -LENGTH(REPLACE(ENAME
9 ,'A'
10* )) >1
SQL> /
ENAME C2
---------- ----------
ADAMS 2
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2* FROM EMP
SQL> /
ENAME
----------
SURESH
HIMANSHU
KRISHNA
ARJUN
SAI
SUBHASH
KING
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
20 rows selected.
SQL> ED
Wrote file afiedt.buf
*
ERROR at line 1:
ORA-00911: invalid character
SQL> ED
Wrote file afiedt.buf
ENAME OUTPUT
---------- ------------------------------------------------------------
SURESH ****SURESH*****
HIMANSHU **HIMANSHU*****
KRISHNA ***KRISHNA*****
ARJUN *****ARJUN*****
SAI *******SAI*****
SUBHASH ***SUBHASH*****
KING ******KING*****
BLAKE *****BLAKE*****
CLARK *****CLARK*****
JONES *****JONES*****
SCOTT *****SCOTT*****
FORD ******FORD*****
SMITH *****SMITH*****
ALLEN *****ALLEN*****
WARD ******WARD*****
MARTIN ****MARTIN*****
TURNER ****TURNER*****
ADAMS *****ADAMS*****
JAMES *****JAMES*****
MILLER ****MILLER*****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
ENAME OUTPUT
---------- ----------------------------------------
SURESH ****SURESH
HIMANSHU **HIMANSHU
KRISHNA ***KRISHNA
ARJUN *****ARJUN
SAI *******SAI
SUBHASH ***SUBHASH
KING ******KING
BLAKE *****BLAKE
CLARK *****CLARK
JONES *****JONES
SCOTT *****SCOTT
FORD ******FORD
SMITH *****SMITH
ALLEN *****ALLEN
WARD ******WARD
MARTIN ****MARTIN
TURNER ****TURNER
ADAMS *****ADAMS
JAMES *****JAMES
MILLER ****MILLER
325 | P a g e
20 rows selected.
SQL> ED
Wrote file afiedt.buf
ENAME OUTPUT
---------- ------------------------------------------------------------
SURESH ****SURESH*****
HIMANSHU **HIMANSHU*****
KRISHNA ***KRISHNA*****
ARJUN *****ARJUN*****
SAI *******SAI*****
SUBHASH ***SUBHASH*****
KING ******KING*****
BLAKE *****BLAKE*****
CLARK *****CLARK*****
JONES *****JONES*****
SCOTT *****SCOTT*****
FORD ******FORD*****
SMITH *****SMITH*****
ALLEN *****ALLEN*****
WARD ******WARD*****
MARTIN ****MARTIN*****
TURNER ****TURNER*****
ADAMS *****ADAMS*****
JAMES *****JAMES*****
MILLER ****MILLER*****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,'*'
4 ,10
5 )
6* FROM EMP
SQL> /
,'*'
*
ERROR at line 3:
ORA-01722: invalid number
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6* FROM EMP
SQL> /
ENAME LPAD(ENAME,10,'*')
---------- ----------------------------------------
SURESH ****SURESH
326 | P a g e
HIMANSHU **HIMANSHU
KRISHNA ***KRISHNA
ARJUN *****ARJUN
SAI *******SAI
SUBHASH ***SUBHASH
KING ******KING
BLAKE *****BLAKE
CLARK *****CLARK
JONES *****JONES
SCOTT *****SCOTT
FORD ******FORD
SMITH *****SMITH
ALLEN *****ALLEN
WARD ******WARD
MARTIN ****MARTIN
TURNER ****TURNER
ADAMS *****ADAMS
JAMES *****JAMES
MILLER ****MILLER
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ,RPAD(ENAME
7 ,10
8 ,'*'
9 )
10* FROM EMP
SQL> /
20 rows selected.
SQL> ED
327 | P a g e
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ||RPAD(ENAME
7 ,10
8 ,'*'
9 )
10* FROM EMP
SQL> /
ENAME LPAD(ENAME,10,'*')||RPAD(ENAME,10,'*')
---------- ------------------------------------------------------------------------
--------
SURESH ****SURESHSURESH****
HIMANSHU **HIMANSHUHIMANSHU**
KRISHNA ***KRISHNAKRISHNA***
ARJUN *****ARJUNARJUN*****
SAI *******SAISAI*******
SUBHASH ***SUBHASHSUBHASH***
KING ******KINGKING******
BLAKE *****BLAKEBLAKE*****
CLARK *****CLARKCLARK*****
JONES *****JONESJONES*****
SCOTT *****SCOTTSCOTT*****
FORD ******FORDFORD******
SMITH *****SMITHSMITH*****
ALLEN *****ALLENALLEN*****
WARD ******WARDWARD******
MARTIN ****MARTINMARTIN****
TURNER ****TURNERTURNER****
ADAMS *****ADAMSADAMS*****
JAMES *****JAMESJAMES*****
MILLER ****MILLERMILLER****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ,RPAD(ENAME
7 ,10
8 ,'*'
9 )
10* FROM EMP
SQL> /
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ,REPLACE( RPAD(ENAME
7 ,10
8 ,'*'
9 )
10 ,ENAME
11 )
12* FROM EMP
SQL> /
ENAME LPAD(ENAME,10,'*')
REPLACE(RPAD(ENAME,10,'*'),ENAME)
---------- ---------------------------------------- -------------------------------
---------
SURESH ****SURESH ****
HIMANSHU **HIMANSHU **
KRISHNA ***KRISHNA ***
ARJUN *****ARJUN *****
SAI *******SAI *******
SUBHASH ***SUBHASH ***
KING ******KING ******
BLAKE *****BLAKE *****
CLARK *****CLARK *****
JONES *****JONES *****
SCOTT *****SCOTT *****
FORD ******FORD ******
SMITH *****SMITH *****
ALLEN *****ALLEN *****
WARD ******WARD ******
MARTIN ****MARTIN ****
TURNER ****TURNER ****
ADAMS *****ADAMS *****
JAMES *****JAMES *****
MILLER ****MILLER ****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
329 | P a g e
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ||REPLACE( RPAD(ENAME
7 ,10
8 ,'*'
9 )
10 ,ENAME
11 )
12* FROM EMP
SQL> /
ENAME LPAD(ENAME,10,'*')||REPLACE(RPAD(ENAME,10,'*'),ENAME)
---------- ------------------------------------------------------------------------
--------
SURESH ****SURESH****
HIMANSHU **HIMANSHU**
KRISHNA ***KRISHNA***
ARJUN *****ARJUN*****
SAI *******SAI*******
SUBHASH ***SUBHASH***
KING ******KING******
BLAKE *****BLAKE*****
CLARK *****CLARK*****
JONES *****JONES*****
SCOTT *****SCOTT*****
FORD ******FORD******
SMITH *****SMITH*****
ALLEN *****ALLEN*****
WARD ******WARD******
MARTIN ****MARTIN****
TURNER ****TURNER****
ADAMS *****ADAMS*****
JAMES *****JAMES*****
MILLER ****MILLER****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ||SUBSTR(RPAD(ENAME
7 ,10
8 ,'*'
9 )
10 ,LENGTH(ENAME) +1
11 )
12* FROM EMP
SQL> /
ENAME LPAD(ENAME,10,'*')||SUBSTR(RPAD(ENAME,10,'*'),LENGTH(ENAME)+1)
---------- ------------------------------------------------------------------------
--------
SURESH ****SURESH****
HIMANSHU **HIMANSHU**
KRISHNA ***KRISHNA***
ARJUN *****ARJUN*****
330 | P a g e
SAI *******SAI*******
SUBHASH ***SUBHASH***
KING ******KING******
BLAKE *****BLAKE*****
CLARK *****CLARK*****
JONES *****JONES*****
SCOTT *****SCOTT*****
FORD ******FORD******
SMITH *****SMITH*****
ALLEN *****ALLEN*****
WARD ******WARD******
MARTIN ****MARTIN****
TURNER ****TURNER****
ADAMS *****ADAMS*****
JAMES *****JAMES*****
MILLER ****MILLER****
20 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ||SUBSTR(RPAD(ENAME
7 ,10
8 ,'*'
9 )
10 ,LENGTH(ENAME) +1
11 )
12* FROM EMP
ENAME LPAD(ENAME,10,'*')||SUBSTR(RPAD(ENAME,10,'*'),LENGTH(ENAME)+1)
---------- ------------------------------------------------------------------------
--------
SURESH ****SURESH****
HIMANSHU **HIMANSHU**
KRISHNA ***KRISHNA***
ARJUN *****ARJUN*****
SAI *******SAI*******
SUBHASH ***SUBHASH***
KING ******KING******
BLAKE *****BLAKE*****
CLARK *****CLARK*****
JONES *****JONES*****
SCOTT *****SCOTT*****
FORD ******FORD******
SMITH *****SMITH*****
ALLEN *****ALLEN*****
WARD ******WARD******
MARTIN ****MARTIN****
TURNER ****TURNER****
ADAMS *****ADAMS*****
JAMES *****JAMES*****
MILLER ****MILLER****
20 rows selected.
SQL> CL SCR
SQL> R
331 | P a g e
1 SELECT ENAME
2 ,LPAD(ENAME
3 ,10
4 ,'*'
5 )
6 ||SUBSTR(RPAD(ENAME
7 ,10
8 ,'*'
9 )
10 ,LENGTH(ENAME) +1
11 )
12* FROM EMP
ENAME LPAD(ENAME,10,'*')||SUBSTR(RPAD(ENAME,10,'*'),LENGTH(ENAME)+1)
---------- ------------------------------------------------------------------------
--------
SURESH ****SURESH****
HIMANSHU **HIMANSHU**
KRISHNA ***KRISHNA***
ARJUN *****ARJUN*****
SAI *******SAI*******
SUBHASH ***SUBHASH***
KING ******KING******
BLAKE *****BLAKE*****
CLARK *****CLARK*****
JONES *****JONES*****
SCOTT *****SCOTT*****
FORD ******FORD******
SMITH *****SMITH*****
ALLEN *****ALLEN*****
WARD ******WARD******
MARTIN ****MARTIN****
TURNER ****TURNER****
ADAMS *****ADAMS*****
JAMES *****JAMES*****
MILLER ****MILLER****
20 rows selected.
SQL> CL SCR
ENAME SAL
---------- ----------
SURESH 2100
HIMANSHU 2300
KRISHNA 2500
ARJUN 2000
SAI 25540
SUBHASH 22590
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
332 | P a g e
ADAMS 1100
JAMES 950
MILLER 1300
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,LPAD('*'
4 ,LEGNTH(SAL)
5 ,'*'
6 )
7* FROM EMP
SQL> /
,LEGNTH(SAL)
*
ERROR at line 4:
ORA-00904: "LEGNTH": invalid identifier
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,LPAD('*'
4 ,LENGTH(SAL)
5 ,'*'
6 )
7* FROM EMP
SQL> /
ENAME SAL
---------- ----------
LPAD('*',LENGTH(SAL),'*')
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
SURESH 2100
****
HIMANSHU 2300
****
KRISHNA 2500
****
ARJUN 2000
****
SAI 25540
*****
SUBHASH 22590
*****
KING 5000
****
BLAKE 2850
****
333 | P a g e
CLARK 2450
****
JONES 2975
****
SCOTT 3000
****
FORD 3000
****
SMITH 800
***
ALLEN 1600
****
WARD 1250
****
MARTIN 1250
****
TURNER 1500
****
ADAMS 1100
****
JAMES 950
***
MILLER 1300
****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,LPAD('*'
4 ,LENGTH(SAL)
5 ,'*'
6 ) SAL
7* FROM EMP
SQL> /
ENAME SAL
---------- ----------
SAL
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
SURESH 2100
****
HIMANSHU 2300
****
334 | P a g e
KRISHNA 2500
****
ARJUN 2000
****
SAI 25540
*****
SUBHASH 22590
*****
KING 5000
****
BLAKE 2850
****
CLARK 2450
****
JONES 2975
****
SCOTT 3000
****
FORD 3000
****
SMITH 800
***
ALLEN 1600
****
WARD 1250
****
MARTIN 1250
****
TURNER 1500
****
ADAMS 1100
****
JAMES 950
***
MILLER 1300
****
20 rows selected.
5 ,'*'
6 ) SAL
7* FROM EMP
ENAME SAL
---------- ----------
SAL
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
SURESH 2100
****
HIMANSHU 2300
****
KRISHNA 2500
****
ARJUN 2000
****
SAI 25540
*****
SUBHASH 22590
*****
KING 5000
****
BLAKE 2850
****
CLARK 2450
****
JONES 2975
****
SCOTT 3000
****
FORD 3000
****
SMITH 800
***
ALLEN 1600
****
WARD 1250
****
MARTIN 1250
****
TURNER 1500
****
ADAMS 1100
****
336 | P a g e
JAMES 950
***
MILLER 1300
****
20 rows selected.
ENAME SAL
---------- ----------
SAL
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
SURESH 2100
****
HIMANSHU 2300
****
KRISHNA 2500
****
ARJUN 2000
****
SAI 25540
*****
SUBHASH 22590
*****
KING 5000
****
BLAKE 2850
****
CLARK 2450
****
JONES 2975
****
SCOTT 3000
****
FORD 3000
****
SMITH 800
***
337 | P a g e
ALLEN 1600
****
WARD 1250
****
MARTIN 1250
****
TURNER 1500
****
ADAMS 1100
****
JAMES 950
***
MILLER 1300
****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,LPAD('*'
4 ,LENGTH(SAL)
5 ,'*'
6 ) SAL1
7* FROM EMP
SQL> /
20 rows selected.
SQL> ED
Wrote file afiedt.buf
338 | P a g e
1 SELECT ENAME
2 ,LPAD('*'
3 ,LENGTH(SAL)
4 ,'*'
5 ) SAL1
6* FROM EMP
7 /
ENAME SAL1
---------- ----------
SURESH ****
HIMANSHU ****
KRISHNA ****
ARJUN ****
SAI *****
SUBHASH *****
KING ****
BLAKE ****
CLARK ****
JONES ****
SCOTT ****
FORD ****
SMITH ***
ALLEN ****
WARD ****
MARTIN ****
TURNER ****
ADAMS ****
JAMES ***
MILLER ****
20 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,TRANSLATE(SAL
3 ,'0123456789'
4 ,'**********'
5 ) AS SAL1
6* FROM EMP
SQL> /
ENAME SAL1
---------- ----------
SURESH ****
HIMANSHU ****
KRISHNA ****
ARJUN ****
SAI *****
SUBHASH *****
KING ****
BLAKE ****
CLARK ****
JONES ****
SCOTT ****
FORD ****
SMITH ***
ALLEN ****
WARD ****
MARTIN ****
TURNER ****
ADAMS ****
339 | P a g e
JAMES ***
MILLER ****
20 rows selected.
SQL> CL SCRCL SC
SP2-0158: unknown CLEAR option "SCRCL"
SP2-0158: unknown CLEAR option "SC"
SQL> R
1 SELECT ENAME
2 ,TRANSLATE(SAL
3 ,'0123456789'
4 ,'**********'
5 ) AS SAL1
6* FROM EMP
ENAME SAL1
---------- ----------
SURESH ****
HIMANSHU ****
KRISHNA ****
ARJUN ****
SAI *****
SUBHASH *****
KING ****
BLAKE ****
CLARK ****
JONES ****
SCOTT ****
FORD ****
SMITH ***
ALLEN ****
WARD ****
MARTIN ****
TURNER ****
ADAMS ****
JAMES ***
MILLER ****
20 rows selected.
SQL> R
1 SELECT ENAME
2 ,TRANSLATE(SAL
3 ,'0123456789'
4 ,'**********'
5 ) AS SAL1
6* FROM EMP
ENAME SAL1
---------- ----------
SURESH ****
HIMANSHU ****
KRISHNA ****
ARJUN ****
SAI *****
SUBHASH *****
KING ****
BLAKE ****
CLARK ****
JONES ****
SCOTT ****
FORD ****
SMITH ***
340 | P a g e
ALLEN ****
WARD ****
MARTIN ****
TURNER ****
ADAMS ****
JAMES ***
MILLER ****
20 rows selected.
SQL> CL SCR
COUNT
(
DISTINCT P1 -- COLUMN/LITERAL/*
)
COUNT(LITERAL) OR COUNT(*) OUTPUT WILL GIVE YOU SAME RESULTS BUT
HOW IT EXECUTES INTERNALLY WILL DIFFER
I.E IF COLUMN CONTAINS NULL VAUES IT WILL NOT CONSIER THOESE NULL
VALUES.
MIN
(
DISTINCT P1-- COLUMN/LITERAL
)
MAX
341 | P a g e
(
DISTINCT P1--COLUMN/LITERAL
)
SUM
(
DISTINCT P1-- COLUMN/LITERAL
)
AVG
(
DISTINCT P1-- COLUMN/LITERAL
)
WITH MIN AND MAX WHETHER WE ARE USING DISTINCT ON COLUMN OR NOT
OUTPUT WILL WISE WE WILL GET THE SAME RESULT
group by
having
RULE 1 :
AGGR FUNCTIONS RESULTS ON WHAT BASIS YOU WANT SPLIT THOSE COLUMNS
SHOULD BE THERE IN GROUP BY CLAUSE
TO UNDERSTAD RESULT PROPERLY SAME COLUMNS WE HAVE TO KEEP IN SELECT
STATEMENT ALSO--
IT IS NOT MANDATORY BUT IF YOU ARE NOT KEEPING YOU WILL NOT
UNDERSTAND THE FINAL REUSLTS**
RULE 2:
TOTCNT
---------
14 EMPLOYEES ARE THERE
ADAR
-----
ADARNUM
GEN
AGE
MOB
DOB
STATE
DISTICT
QUAL
SELECT COUNT(1)--120 CR
FROM ADAR;
SELECT COUNT(1)--2 CR
FROM ADAR
WHERE STATE ='KARNATAKA'
343 | P a g e
SELECT COUNT(1)--2 CR
FROM ADAR
WHERE STATE ='KARNATAKA'
AND GEN ='F'
SELECT COUNT(1)--2 CR
FROM ADAR
WHERE STATE ='KARNATAKA'
AND GEN ='F'
AND QUAL IS NOT NULL;
SELECT COUNT(1)--120 CR
FROM ADAR;
SELECT STATE
,GEN
,COUNT(1)
FROM ADAR
GROUP BY
STATE
,GEN
SELECT STATE
,GEN
,QUAL
,COUNT(1)
FROM ADAR
GROUP BY
STATE
,GEN
,QUAL
FROM ADAR
WHERE QUAL IS NULL-- 50CR
GROUP BY
STATE
,GEN
,QUAL
KARNATAKA 2CR
ANSHARA 3 CR
TELANAG 4CR
TAMAIL 5CR
MAHAR 6CR
GROUP BY
--------------
WHENVER WE WANT AGGR RESULTS FOR EACH GROUP SEPARATELY THEN WE HAVE
TO GO FOR GROUP BY CLAUSE
IT WILL COME AFTER WHERE CLAUSE
SELECT COUNT(1)
FROM ADAR
GROUP BY STATE;
345 | P a g e
2CR
3CR
5CR
7CR
SELECT STATE,COUNT(1)
FROM ADAR
GROUP BY STATE;
KARANTATAK 2CR
ANDARANRA 3CR
TELANGALAN5CR
TAMILNADU 7CR
110 SAI
25540
346 | P a g e
20 rows selected.
20 rows selected.
SQL> CL SCR
SQL> R
1* SELECT * FROM EMP
20 rows selected.
6 rows deleted.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
14 rows selected.
SQL> CL SCR
SQL> SELECT *
2 FROM EMP;
14 rows selected.
SQL> CL SCR
2 FROM EMP;
COUNT(1)
----------
14
SQL> CL SCR
COUNT(*)
----------
14
SQL> ED
Wrote file afiedt.buf
TOTCNT
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT * AS TOTCNT
2* FROM EMP
SQL> /
SELECT * AS TOTCNT
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(* )
2* FROM EMP
SQL> /
COUNT(*)
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2* FROM EMP
SQL> /
1
----------
1
1
1
1
1
1
1
1
1
1
1
1
1
1
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2* FROM EMP
SQL> /
COUNT(1)
----------
14
352 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1),COUNT(*)
2* FROM EMP
SQL> /
COUNT(1) COUNT(*)
---------- ----------
14 14
SQL> CL SCR
COUNT(*)
----------
14
SQL> SELECT *
2 FROM EMP;
14 rows selected.
SQL> CL SCR
SQL> SELECT *
2 FROM EMP;
353 | P a g e
14 rows selected.
COUNT(*) COUNT(1)
---------- ----------
14 14
SQL> CL SCR
COUNT(1) COUNT(*)
---------- ----------
0 0
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 ,COUNT(*)
3* FROM AKS_B26_STD
SQL> /
FROM AKS_B26_STD
*
ERROR at line 3:
ORA-00942: table or view does not exist
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 ,COUNT(*)
3* FROM B26_AKSHARA_STD
SQL> /
FROM B26_AKSHARA_STD
*
ERROR at line 3:
ORA-00942: table or view does not exist
SQL> CL SCR
TABLE_NAME
------------------------------
B26_AKS_STD
B26_AKS_STD_1
B26_CHAR_EX_1
B26_CHAR_EX_2
B26_CHAR_VARCHAR2_EX
B26_AKSHARA_STUDENT
B26_AKSHARA_STUDENT_1
B26_NULL_SPACE_EX
B26_T1
B26_T2
B26_AKS_STD_7
B26_T3
B26_T4
B26_T5
B26_T7
B26_78
B26_AKS_STD_2
B26_AKS_STD_3
B26_AKS_STD_B26_AKS_STD_B26
B26_AKS_STD_4
B26 AKS STD
355 | P a g e
21 rows selected.
COUNT(1)
----------
9
SQL> CL SCR
SQL> R
1 SELECT COUNT(1)
2* FROM B26_AKSHARA_STUDENT
COUNT(1)
----------
9
SQL> SELECT *
2 FROM B26_AKSHARA_STUDENT;
9 rows selected.
SQL> CL SCR
SQL> R
1 SELECT *
2* FROM B26_AKSHARA_STUDENT
9 rows selected.
TOTCNT
----------
9
SQL> CL SCR
356 | P a g e
SQL> R
1 SELECT COUNT(*) AS TOTCNT
2* FROM B26_AKSHARA_STUDENT
TOTCNT
----------
9
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2* FROM B26_AKSHARA_STUDENT
SQL> /
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 100
2* FROM B26_AKSHARA_STUDENT
SQL> /
100
----------
100
100
100
100
100
100
100
100
100
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(100)
2* FROM B26_AKSHARA_STUDENT
SQL> /
COUNT(100)
----------
9
SQL> ED
Wrote file afiedt.buf
357 | P a g e
1 SELECT COUNT(1)
2* FROM B26_AKSHARA_STUDENT
SQL> /
COUNT(1)
----------
9
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2* FROM B26_AKSHARA_STUDENT
SQL> /
1
----------
1
1
1
1
1
1
1
1
1
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2* FROM B26_AKSHARA_STUDENT
SQL> /
COUNT(1)
----------
9
SQL> ED
Wrote file afiedt.buf
1 SELECT 0
2* FROM B26_AKSHARA_STUDENT
SQL> /
0
----------
0
0
0
0
0
0
0
0
0
9 rows selected.
SQL> ED
Wrote file afiedt.buf
358 | P a g e
1 SELECT COUNT(0)
2* FROM B26_AKSHARA_STUDENT
SQL> /
COUNT(0)
----------
9
SQL> ED
Wrote file afiedt.buf
1 SELECT 'SURESH'
2* FROM B26_AKSHARA_STUDENT
SQL> /
'SURES
------
SURESH
SURESH
SURESH
SURESH
SURESH
SURESH
SURESH
SURESH
SURESH
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT('SURESH')
2* FROM B26_AKSHARA_STUDENT
SQL> /
COUNT('SURESH')
---------------
9
SQL> CL SCR
SQL> CL SCR
JAMES 950
MILLER 1300
14 rows selected.
SQL>
SQL> CL SCR
SQL> R
1 SELECT COUNT(ENAME) AS TOTCNT
2 ,COUNT(SAL) AS TOTCNT1
3 ,COUNT(COMM) AS TOTCNT2
4* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COMM
4 FROM EMP
5* WHERE COMM IS NULL
SQL> /
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ADAMS 1100
JAMES 950
MILLER 1300
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 FROM EMP
3* WHERE COMM IS NULL
SQL> /
COUNT(1)
----------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2 FROM EMP
3* WHERE COMM IS NULL
SQL> /
1
----------
1
1
1
1
1
1
1
1
1
1
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 FROM EMP
3* WHERE COMM IS NULL
SQL> /
COUNT(1)
----------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2* FROM EMP
361 | P a g e
3 /
COUNT(1)
----------
14
SQL> ED
Wrote file afiedt.buf
COUNT(1) COUNT(COMM)
---------- -----------
14 4
SQL> ED
Wrote file afiedt.buf
TOT_EMPCNT_WHONOTHAVINGCOMM
---------------------------
10
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(*)
2* FROM EMP
SQL> /
COUNT(*)
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(COMM)
2* FROM EMP
SQL> /
COUNT(COMM)
-----------
4
SQL> CL SCR
ENAME SAL
------------------------------ ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
362 | P a g e
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SAL
----------
5000
2450
1300
2850
1250
2975
1100
3000
800
1600
1500
950
12 rows selected.
SQL> ED
Wrote file afiedt.buf
COUNT(DISTINCTSAL)
------------------
12
SQL> CL SCR
1 SELECT COUNT(SAL) AS C1
2 ,COUNT(DISTINCT SAL) AS C2
3* FROM EMP
SQL> /
C1 C2
---------- ----------
14 12
SQL> CL SCR
363 | P a g e
SQL> R
1 SELECT COUNT(SAL) AS C1
2 ,COUNT(DISTINCT SAL) AS C2
3* FROM EMP
C1 C2
---------- ----------
14 12
SQL> CL SCR
SQL> SELECT 1
2 FROM EMP;
1
----------
1
1
1
1
1
1
1
1
1
1
1
1
1
1
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2* FROM EMP
SQL> /
1
----------
1
1
1
1
1
1
1
1
1
1
1
1
1
1
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT DISTINCT 1
2* FROM EMP
364 | P a g e
SQL> /
1
----------
1
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(DISTINCT 1)
2* FROM EMP
SQL> /
COUNT(DISTINCT1)
----------------
1
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(DISTINCT 1)
2 ,COUNT(1)
3* FROM EMP
SQL> /
COUNT(DISTINCT1) COUNT(1)
---------------- ----------
1 14
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(DISTINCT 1)
2 ,COUNT(1)
3* FROM EMP
SQL> CL SC
SP2-0158: unknown CLEAR option "SC"
SQL>
SQL>
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL>
SQL> CL SCR
C1 C2
---------- ----------
14 1
SQL>
SQL>
SQL> CL SCR
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600 300
WARD 1250 500
MARTIN 1250 1400
TURNER 1500 0
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
1 SELECT COUNT(ENAME) AS C1
2 ,COUNT(DISTINCT ENAME) AS C2
3 ,COUNT(SAL) AS C3
4 ,COUNT(DISTINCT SAL) AS C4
5 ,COUNT(COMM) AS C5
6 ,COUNT(DISTINCT COMM) AS C6
7* FROM EMP
SQL> /
C1 C2 C3 C4 C5 C6
---------- ---------- ---------- ---------- ---------- ----------
14 14 14 12 4 4
SQL> CL SCR
TOTCNT
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 ||' EMPLOYEES ARE THERE' AS TOTCNT
3* FROM EMP
SQL> /
TOTCNT
------------------------------------------------------------
14 EMPLOYEES ARE THERE
366 | P a g e
SQL> CL SCR
SQL> R
1 SELECT COUNT(1)
2 ||' EMPLOYEES ARE THERE' AS TOTCNT
3* FROM EMP
TOTCNT
------------------------------------------------------------
14 EMPLOYEES ARE THERE
SQL> ED
Wrote file afiedt.buf
SQL> CL SCR
SQL> R
1 SELECT COUNT(1) AS TOTCNT
2 ,SUM(SAL) AS TOTSAL
3 ,MIN(SAL) AS LOSAL
4 ,MAX(SAL) AS HISAL
5 ,TRUNC( AVG(SAL) ) AS AVG_SAL
6* FROM EMP
SQL> CL SCR
367 | P a g e
1 SELECT COUNT(1) AS C1
2 ,SUM(1) AS C2
3* FROM EMP
SQL> /
C1 C2
---------- ----------
14 14
SQL> ED
Wrote file afiedt.buf
1 SELECT 1 AS C1
2 ,1 AS C2
3* FROM EMP
SQL> /
C1 C2
---------- ----------
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1) AS C1
2 ,1 AS C2
3* FROM EMP
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1) AS C1
2 ,SUM(1) AS C2
3* FROM EMP
SQL> /
C1 C2
---------- ----------
14 14
SQL> ED
Wrote file afiedt.buf
368 | P a g e
1 SELECT COUNT(100) AS C1
2 ,SUM(100) AS C2
3* FROM EMP
4 /
C1 C2
---------- ----------
14 1400
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(100) AS C1
2 ,SUM(100) AS C2
3* FROM EMP
SQL>
SQL> /
C1 C2
---------- ----------
14 1400
SQL> CL SCR
SQL> R
1 SELECT COUNT(100) AS C1
2 ,SUM(100) AS C2
3* FROM EMP
C1 C2
---------- ----------
14 1400
SQL> ED
Wrote file afiedt.buf
C1 C2
---------- ----------
1 100
SQL> CL SCR
ENAME SAL
------------------------------ ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
369 | P a g e
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
TOTSAL TOTSAL1
---------- ----------
29025 24775
SQL> CL SCR
ENAME SAL
------------------------------ ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
MIN(SAL) MIN(DISTINCTSAL)
---------- ----------------
800 800
SQL> ED
Wrote file afiedt.buf
1 SELECT MIN(SAL) AS C1
2 ,MIN(DISTINCT SAL) AS C2
3* FROM EMP
SQL> /
C1 C2
---------- ----------
800 800
SQL> ED
370 | P a g e
1 SELECT MAX(SAL) AS C1
2 ,MAX(DISTINCT SAL) AS C2
3* FROM EMP
SQL> /
C1 C2
---------- ----------
5000 5000
SQL> CL SCR
C1 C2
---------- ----------
100 100
SQL> CL SCR
1 SELECT AVG(SAL) AS C1
2 ,SUM(SAL)/COUNT(SAL) AS C2
3 ,AVG(DISTINCT SAL) AS C3
4 ,SUM(DISTINCT SAL)/COUNT(DISTINCT SAL) AS C4
5* FROM EMP
6 /
C1 C2 C3 C4
---------- ---------- ---------- ----------
2073.21429 2073.21429 2064.58333 2064.58333
SQL> ED
Wrote file afiedt.buf
C1 C2 C3
---------- ---------- ----------
2064.58333 24775 12
SQL> CL SCR
C1
----------
1
371 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT AVG(100) AS C1
2* FROM EMP
SQL> /
C1
----------
100
SQL> CL SCR
COUNT(1)
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 FROM EMP
3* GROUP BY DEPTNO
SQL> /
COUNT(1)
----------
6
5
3
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO,COUNT(1)
2 FROM EMP
3* GROUP BY DEPTNO
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
20 5
10 3
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO TOTCNT
---------- ----------
30 6
20 5
10 3
372 | P a g e
SQL> CL SCR
SQL> R
1 SELECT DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* GROUP BY DEPTNO
DEPTNO TOTCNT
---------- ----------
30 6
20 5
10 3
SQL> ED
Wrote file afiedt.buf
TOTCNT
----------
6
5
3
SQL> CL SCR
SQL>
SQL> R
1 SELECT COUNT(1) AS TOTCNT
2 FROM EMP
3* GROUP BY DEPTNO
TOTCNT
----------
6
5
3
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO TOTCNT
---------- ----------
30 6
20 5
10 3
SQL> ED
Wrote file afiedt.buf
1 SELECT 10 AS DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* WHERE DEPTNO = 10
373 | P a g e
SQL> /
DEPTNO TOTCNT
---------- ----------
10 3
SQL> CL SCR
SQL> R
1 SELECT 10 AS DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* WHERE DEPTNO = 10
DEPTNO TOTCNT
---------- ----------
10 3
SQL> ED
Wrote file afiedt.buf
TOTCNT
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO TOTCNT
---------- ----------
30 6
20 5
10 3
SQL> ED
Wrote file afiedt.buf
1 SELECT 10 AS DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* WHERE DEPTNO = 10
SQL> /
DEPTNO TOTCNT
---------- ----------
10 3
SQL> ED
Wrote file afiedt.buf
1 SELECT 20 AS DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
374 | P a g e
4* WHERE DEPTNO = 20
SQL> /
DEPTNO TOTCNT
---------- ----------
20 5
SQL> ED
Wrote file afiedt.buf
1 SELECT 30 AS DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4* WHERE DEPTNO = 30
SQL> /
DEPTNO TOTCNT
---------- ----------
30 6
SQL> ED
Wrote file afiedt.buf
1 SELECT 10 AS DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4 WHERE DEPTNO = 10
5 UNION ALL
6 SELECT 20 AS DEPTNO
7 ,COUNT(1) AS TOTCNT
8 FROM EMP
9 WHERE DEPTNO = 20
10 UNION ALL
11 SELECT 30 AS DEPTNO
12 ,COUNT(1) AS TOTCNT
13 FROM EMP
14* WHERE DEPTNO = 30
15 /
DEPTNO TOTCNT
---------- ----------
10 3
20 5
30 6
SQL> ED
Wrote file afiedt.buf
1 SELECT 10 AS DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4 WHERE DEPTNO = 10
5 UNION ALL
6 SELECT 20 AS DEPTNO
7 ,COUNT(1) AS TOTCNT
8 FROM EMP
9 WHERE DEPTNO = 20
10 UNION ALL
11 SELECT 30 AS DEPTNO
12 ,COUNT(1) AS TOTCNT
13 FROM EMP
14 WHERE DEPTNO = 30
15 UNION ALL
16 SELECT 40 AS DEPTNO
375 | P a g e
17 ,COUNT(1) AS TOTCNT
18 FROM EMP
19 WHERE DEPTNO = 40
20 UNION ALL
21 SELECT 50 AS DEPTNO
22 ,COUNT(1) AS TOTCNT
23 FROM EMP
24* WHERE DEPTNO = 50
SQL> /
DEPTNO TOTCNT
---------- ----------
10 3
20 5
30 6
40 0
50 0
SQL> CL SCR
DEPTNO COUNT(1)
---------- ----------
30 6
20 5
10 3
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 WHERE COUNT(1) > 3
5* GROUP BY DEPTNO
6 /
WHERE COUNT(1) > 3
*
ERROR at line 4:
ORA-00934: group function is not allowed here
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5* HAVING COUNT(1) > 3
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
20 5
SQL> ED
Wrote file afiedt.buf
376 | P a g e
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5 HAVING COUNT(1) > 3
6* ORDER BY COUNT(1) ASC
SQL> /
DEPTNO COUNT(1)
---------- ----------
20 5
30 6
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5 HAVING COUNT(1) > 3
6* ORDER BY COUNT(1) ASC
7 /
DEPTNO COUNT(1)
---------- ----------
20 5
30 6
SQL> CL SCR
SQL> SELECT *
2 FROM EMP;
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT JOB
2 ,COUNT(1)
3* FROM EMP
SQL> /
SELECT JOB
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> ED
Wrote file afiedt.buf
1 SELECT JOB
2 ,COUNT(1)
3 FROM EMP
4* GROUP BY JOB
SQL> /
JOB COUNT(1)
--------- ----------
CLERK 4
SALESMAN 4
PRESIDENT 1
MANAGER 3
ANALYST 2
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 FROM EMP
3* GROUP BY JOB
SQL> /
COUNT(1)
----------
4
4
1
3
2
SQL> ED
Wrote file afiedt.buf
2 FROM EMP
3* GROUP BY JOB
SQL> /
JOB COUNT(1)
--------- ----------
CLERK 4
SALESMAN 4
PRESIDENT 1
MANAGER 3
ANALYST 2
UNIQUE
CHECK
DEFAULT
-------------------------------
ORACLE WILL GIVE CONSTRAINT NAME THAT WILL START WITH SYS_C(SOME AUTO GENERATED NUMBER)
VIOLATED
SO DON'T DEPEND ON ORACLE GIVEN NAMES GIVE ALWAYS YOUR OWN NAME
FOR CONSTRAINTS.
CONSTRAINTNAME:
ABBRIVATEDTABLENAME
ABBRVIATEDCOLUMNNAME
ABBRIVATEDCONSTRAINTTYPE
Z
380 | P a g e
FOR NOT NULL CONSTRAINTS IT WILL GIVE YOU CLEAR ERROR MESSAGE..
ERROR at line 5:
ERROR at line 1:
SEQUENCES-- 40 MINS
CURRVAL
NEXT
WHATEVER WE CREATE IN THE DATABASE THAT INFORMATION ORACLE WILL BE STORING INTO SOME TABLES
USER_CONSTRAINTS
USER_CONS_COLUMNS
USER_SEQUENCES
USER_VIEWS
USER_SOURCE
..ETC
381 | P a g e
PRIMARY KEY
COLUMN LEVEL
after each column immediately if you specify constraint that we call it as column level constraint specification
TABLEL LEVEL
after all columns if you specify constraints that we call it as table level constraint specification
NOTE :
COMPOSITE CONSTRAINT
TUESDAY
FOREIGN KEY
WED
THU
Table created.
1 row created.
SQL> EDIT
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL>
SQL> /
1 row created.
SQL> ed
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> CL SCR
SQL> COMMIT;
Commit complete.
GEN CHAR(1)
DOJ DATE
SQL> CL SCR
Table created.
SQL> CL SCR
SQL> ED
386 | P a g e
no rows selected
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
388 | P a g e
1 row created.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
390 | P a g e
1 row created.
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
7 ,9600
8 ,'M'
9 ,'11-MAR-1989'
10* )
SQL> /
1 row created.
SQL> R
1 INSERT INTO B26_STD2
2 VALUES
3 (
4 NULL
5 ,'TEJASREE'
6 ,1234511234
7 ,9600
8 ,'M'
9 ,'11-MAR-1989'
10* )
1 row created.
SQL> R
1 INSERT INTO B26_STD2
2 VALUES
3 (
4 NULL
5 ,'TEJASREE'
6 ,1234511234
7 ,9600
8 ,'M'
9 ,'11-MAR-1989'
10* )
1 row created.
SQL> R
1 INSERT INTO B26_STD2
2 VALUES
3 (
4 NULL
5 ,'TEJASREE'
6 ,1234511234
7 ,9600
8 ,'M'
9 ,'11-MAR-1989'
10* )
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL>
SQL>
SQL> SELECT * FROM B26_STD2;
7 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
8 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> ED
Wrote file afiedt.buf
SQL> R
1 CREATE TABLE B26_STD3
2 (
3 ID NUMBER CONSTRAINT B26STD3_ID_PK PRIMARY KEY
4 ,NAME VARCHAR2(20) CONSTRAINT B26STD3_NAME_NN NOT NULL
5 ,MOB NUMBER(10) CONSTRAINT B26STD3_MOB_CHK CHECK ( LENGTH(MOB) = 10)
6 CONSTRAINT B26STD3_MOB_UQ UNIQUE
7 CONSTRAINT B26STD3_MOB_NN NOT NULL
8 ,FEES NUMBER(5) CONSTRAINT B26STD3_FEES_CHK CHECK (FEES <=30000)
9 ,GEN CHAR(1) CONSTRAINT B26STD3_GEN_CHK CHECK ( GEN = 'M' OR GEN ='F')
10 ,DOJ DATE DEFAULT SYSDATE
11* )
CREATE TABLE B26_STD3
*
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> EDIT
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
5 ,'KRISHNA'
6 ,1234512345
7 ,9000
8 ,'M'
9 ,'20-MAR-1989'
10* )
SQL> /
INSERT INTO B26_STD3
*
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.B26STD3_MOB_UQ) violated
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
,NULL
*
ERROR at line 6:
ORA-01400: cannot insert NULL into ("SYSTEM"."B26_STD3"."MOB")
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> CL SCR
398 | P a g e
SQL> SELECT *
2 FROM B26_STD10;
FROM B26_STD10
*
ERROR at line 2:
ORA-00942: table or view does not exist
SQL> SELECT *
2 FROM B26_STD1;
7 rows selected.
SQL> CL SCR
C TABLE_NAME
- ------------------------------
SEARCH_CONDITION
--------------------------------------------------------------------------------
C B26_STD2
GEN = 'M' OR GEN ='F'
C TABLE_NAME SEARCH_CONDITION
- ------------------------------ --------------------------------------------------
------------------------------
C B26_STD2 GEN = 'M' OR GEN ='F'
TABLE_NAME
------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
CONSTRAINT_NAME
------------------------------
B26_STD2
ID
SYS_C007110
B26_STD2
NAME
SYS_C007106
TABLE_NAME
------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
CONSTRAINT_NAME
------------------------------
B26_STD2
MOB
SYS_C007107
B26_STD2
FEES
TABLE_NAME
------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
CONSTRAINT_NAME
401 | P a g e
------------------------------
SYS_C007108
B26_STD2
GEN
SYS_C007109
B26_STD3
TABLE_NAME
------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
CONSTRAINT_NAME
------------------------------
ID
B26STD3_ID_PK
B26_STD3
NAME
B26STD3_NAME_NN
TABLE_NAME
------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
CONSTRAINT_NAME
------------------------------
B26_STD3
MOB
B26STD3_MOB_UQ
B26_STD3
MOB
B26STD3_MOB_CHK
TABLE_NAME
------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
CONSTRAINT_NAME
------------------------------
B26_STD3
MOB
B26STD3_MOB_NN
B26_STD3
FEES
TABLE_NAME
------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
CONSTRAINT_NAME
402 | P a g e
------------------------------
B26STD3_FEES_CHK
B26_STD3
GEN
B26STD3_GEN_CHK
12 rows selected.
12 rows selected.
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME
2 FROM USER_CONS_COLUMNS
403 | P a g e
SQL> EDIT
Wrote file afiedt.buf
1 SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME
2* FROM USER_CONS_COLUMNS
3 /
SQL> ED
Wrote file afiedt.buf
1 SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME
2 FROM USER_CONS_COLUMNS
3* WHERE TABLE_NAME LIKE '%B26%'
SQL> /
12 rows selected.
SQL> CL SCR
SQL> R
1 SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME
2 FROM USER_CONS_COLUMNS
3* WHERE TABLE_NAME LIKE '%B26%'
12 rows selected.
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> CL SCR
406 | P a g e
SQL> EDIT
Wrote file afiedt.buf
SQL> CL SCR
SQL> R
1 CREATE TABLE B19_ORDER_DETAILS
2 (
3 ORD_ID NUMBER
4 ,PID NUMBER CONSTRAINT ORDDET_PID_FK REFERENCES B19_PRODUCT(PID)
5 ,CID NUMBER CONSTRAINT ORDDET_CID_FK REFERENCES B19_CUSTOMER(CID)
6 ,LOC_ID NUMBER CONSTRAINT ORDDET_CID_FK REFERENCES B19_LOCATION(LOC_ID)
7 ,QTY NUMBER NOT NULL
8 ,ORD_DATE DATE DEFAULT SYSDATE
9* )
,LOC_ID NUMBER CONSTRAINT ORDDET_CID_FK REFERENCES B19_LOCATION(LOC_ID)
*
ERROR at line 6:
ORA-02264: name already used by an existing constraint
SQL> EED
SP2-0042: unknown command "EED" - rest of line ignored.
SQL> ED
407 | P a g e
SQL> CL SCR
SQL> R
1 CREATE TABLE B19_ORDER_DETAILS
2 (
3 ORD_ID NUMBER
4 ,PID NUMBER CONSTRAINT ORDDET_PID_FK REFERENCES B19_PRODUCT(PID)
5 ,CID NUMBER CONSTRAINT ORDDET_CID_FK REFERENCES B19_CUSTOMER(CID)
6 ,LOC_ID NUMBER CONSTRAINT ORDDET_CID_FK REFERENCES B19_LOCATION(LOC_ID)
7 ,QTY NUMBER NOT NULL
8 ,ORD_DATE DATE DEFAULT SYSDATE
9* )
,LOC_ID NUMBER CONSTRAINT ORDDET_CID_FK REFERENCES B19_LOCATION(LOC_ID)
*
ERROR at line 6:
ORA-02264: name already used by an existing constraint
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
old 4: &PID
new 4: 1
Enter value for pname: CURD
old 5: ,'&PNAME'
new 5: ,'CURD'
Enter value for pmfr: NANDINI
old 6: ,'&PMFR'
new 6: ,'NANDINI'
Enter value for pcost: 30
old 7: ,&PCOST
new 7: ,30
1 row created.
SQL> /
Enter value for pid: 2
old 4: &PID
new 4: 2
Enter value for pname: MILK
old 5: ,'&PNAME'
new 5: ,'MILK'
Enter value for pmfr: NANDINI
old 6: ,'&PMFR'
new 6: ,'NANDINI'
Enter value for pcost: 20
old 7: ,&PCOST
new 7: ,20
1 row created.
SQL> /
Enter value for pid: 3
old 4: &PID
new 4: 3
Enter value for pname: ICE
old 5: ,'&PNAME'
new 5: ,'ICE'
Enter value for pmfr: NESTLEY
old 6: ,'&PMFR'
new 6: ,'NESTLEY'
Enter value for pcost: 40
old 7: ,&PCOST
new 7: ,40
1 row created.
SQL> /
Enter value for pid: 4
old 4: &PID
new 4: 4
Enter value for pname: CHOCOLATES
old 5: ,'&PNAME'
new 5: ,'CHOCOLATES'
Enter value for pmfr: NESTLEY
old 6: ,'&PMFR'
new 6: ,'NESTLEY'
Enter value for pcost: 20
old 7: ,&PCOST
new 7: ,20
1 row created.
SQL> /
Enter value for pid: 5
410 | P a g e
old 4: &PID
new 4: 5
Enter value for pname: BISCUITS
old 5: ,'&PNAME'
new 5: ,'BISCUITS'
Enter value for pmfr: NESTLEY
old 6: ,'&PMFR'
new 6: ,'NESTLEY'
Enter value for pcost: 10
old 7: ,&PCOST
new 7: ,10
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> /
Enter value for cid: 1
old 4: &CID
new 4: 1
411 | P a g e
1 row created.
SQL> /
Enter value for cid: 2
old 4: &CID
new 4: 2
Enter value for cname: RAGHAVA
old 5: ,'&CNAME'
new 5: ,'RAGHAVA'
Enter value for cmob: 1234512346
old 6: ,&CMOB
new 6: ,1234512346
1 row created.
SQL> /
Enter value for cid: 3
old 4: &CID
new 4: 3
Enter value for cname: BASWANTH
old 5: ,'&CNAME'
new 5: ,'BASWANTH'
Enter value for cmob: 1234512347
old 6: ,&CMOB
new 6: ,1234512347
1 row created.
SQL> /
Enter value for cid: 4
old 4: &CID
new 4: 4
Enter value for cname: SURENDRA
old 5: ,'&CNAME'
new 5: ,'SURENDRA'
Enter value for cmob: 1234512348
old 6: ,&CMOB
new 6: ,1234512348
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_CUSTOMER;
1 row created.
SQL> /
Enter value for lid: 2
old 4: &LID
new 4: 2
Enter value for are: BTM
old 5: ,'&ARE'
new 5: ,'BTM'
Enter value for pc: 560033
old 6: ,&PC
new 6: ,560033
Enter value for city: BANGALORE
old 7: ,'&CITY'
new 7: ,'BANGALORE'
Enter value for sta: KARNAKTAKA
old 8: ,'&STA'
new 8: ,'KARNAKTAKA'
1 row created.
SQL> /
Enter value for lid: 3
old 4: &LID
new 4: 3
Enter value for are: AGARA
old 5: ,'&ARE'
new 5: ,'AGARA'
Enter value for pc: 560031
old 6: ,&PC
413 | P a g e
new 6: ,560031
Enter value for city: AGARA
old 7: ,'&CITY'
new 7: ,'AGARA'
Enter value for sta: KARANATAKA
old 8: ,'&STA'
new 8: ,'KARANATAKA'
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_LOCATION;
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> CL S CR
SP2-0158: unknown CLEAR option "S"
SP2-0158: unknown CLEAR option "CR"
SQL> CL SCR
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> SELECT *
2 FROM B19_CUSTOMER;
SQL> SELECT *
2 FROM B19_LOCATION;
SQL> EDIT
Wrote file afiedt.buf
1 SELECT *
2* FROM B19_LOCATION
SQL> CL SCR
CID
NUMBER
LOC_ID
NUMBER
QTY
NOT NULL NUMBER
ORD_DATE
DATE
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> SELECT *
2 FROM B19_CUSTOMER;
SQL> SELECT *
2 FROM B19_LOCATION;
1 row created.
SQL> ED
Wrote file afiedt.buf
9 ,SYSDATE
10* )
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
417 | P a g e
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
10* )
SQL> /
1 row created.
SQL> CL SCR
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> SELECT *
2 FROM B19_CUSTOMER;
SQL> SELECT *
2 FROM B19_LOCATION;
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
7 rows selected.
SQL> COMMIT;
Commit complete.
1 row deleted.
SQL>
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_CUSTOMER;
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
7 rows selected.
1 row deleted.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
Table created.
SQL>
SQL>
SQL> CREATE TABLE B19_ORDER_DETAILS_2
2 (
3 ORD_ID NUMBER
4 ,PID NUMBER CONSTRAINT ORDDET_PID_FK2 REFERENCES B19_PRODUCT(PID) ON DELETE
SET NULL
5 ,CID NUMBER CONSTRAINT ORDDET_CID_FK2 REFERENCES B19_CUSTOMER(CID) ON DELETE
SET NULL
6 ,LOC_ID NUMBER CONSTRAINT ORDDET_LOCID_FK2 REFERENCES B19_LOCATION(LOC_ID) ON
DELETE SET NULL
7 ,QTY NUMBER NOT NULL
8 ,ORD_DATE DATE DEFAULT SYSDATE
9 );
Table created.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_1;
no rows selected
7 rows created.
SQL> EDIT
Wrote file afiedt.buf
7 rows created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
422 | P a g e
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_1;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_12;
FROM B19_ORDER_DETAILS_12
*
ERROR at line 2:
ORA-00942: table or view does not exist
SQL> SELECT *
2 ..
3
SQL>
SQL> CL SCR
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_1;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_2;
7 rows selected.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_1;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_2;
7 rows selected.
7 rows deleted.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM B19_PRODUCT;
4 CHOCOLATES NESTLEY 20
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
no rows selected
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_1;
7 rows selected.
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_2;
7 rows selected.
1 row deleted.
SQL> SELECT *
2 FROM B19_PRODUCT;
SQL> SELECT *
2 FROM B19_ORDER_DETAILS;
no rows selected
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_1;
SQL> SELECT *
2 FROM B19_ORDER_DETAILS_2;
7 rows selected.
9-Jun-2018 -Example1
SQL> R
1 CREATE TABLE B24_STUDENT
2 (
3 SID NUMBER CONSTRAINT B24STD_SID_PK PRIMARY KEY
4 ,SNAME VARCHAR2(20) CONSTRAINT B24STD_SNAME_NN NOT NULL
5 ,SMOB NUMBER(10) CONSTRAINT B24STD_SMOB_CHK CHECK (LENGTH(MOB) = 10)
6 ,SLOC VARCHAR2(10)
7 ,SQUAL VARCHAR2(10)
8* )
,SLOC VARCHAR2(10)
*
ERROR at line 6:
ORA-02438: Column check constraint cannot reference other columns
SQL> ED
427 | P a g e
Table created.
SQL> CL SCR
SQL> CL SCR
Table created.
SQL> CL SCR
SMOB NUMBER(10)
SLOC VARCHAR2(10)
SQUAL VARCHAR2(10)
no rows selected
no rows selected
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> R
429 | P a g e
1 row created.
SQL> R
1 INSERT INTO B24_COURSE
2 VALUES
3 (
4 &CID
5 ,'&CNAME'
6 ,&CD
7 ,'&CFEES'
8* )
Enter value for cid: 3
old 4: &CID
new 4: 3
Enter value for cname: MACROS
old 5: ,'&CNAME'
new 5: ,'MACROS'
Enter value for cd: 30
old 6: ,&CD
new 6: ,30
Enter value for cfees: 6000
old 7: ,'&CFEES'
new 7: ,'6000'
1 row created.
SQL> R
1 INSERT INTO B24_COURSE
2 VALUES
3 (
4 &CID
5 ,'&CNAME'
6 ,&CD
7 ,'&CFEES'
8* )
Enter value for cid: 4
old 4: &CID
new 4: 4
Enter value for cname: TABLEAU
old 5: ,'&CNAME'
new 5: ,'TABLEAU'
Enter value for cd: 60
old 6: ,&CD
430 | P a g e
new 6: ,60
Enter value for cfees: 11000
old 7: ,'&CFEES'
new 7: ,'11000'
1 row created.
SQL> R
1 INSERT INTO B24_COURSE
2 VALUES
3 (
4 &CID
5 ,'&CNAME'
6 ,&CD
7 ,'&CFEES'
8* )
Enter value for cid: 5
old 4: &CID
new 4: 5
Enter value for cname: DATA SCIENCE
old 5: ,'&CNAME'
new 5: ,'DATA SCIENCE'
Enter value for cd: 120
old 6: ,&CD
new 6: ,120
Enter value for cfees: 35000
old 7: ,'&CFEES'
new 7: ,'35000'
1 row created.
SQL> R
1 INSERT INTO B24_COURSE
2 VALUES
3 (
4 &CID
5 ,'&CNAME'
6 ,&CD
7 ,'&CFEES'
8* )
Enter value for cid: 6
old 4: &CID
new 4: 6
Enter value for cname: JAVA
old 5: ,'&CNAME'
new 5: ,'JAVA'
Enter value for cd: 45
old 6: ,&CD
new 6: ,45
Enter value for cfees: 6000
old 7: ,'&CFEES'
new 7: ,'6000'
1 row created.
SQL> CL SCR
4 TABLEAU 60 11000
5 DATA SCIENCE 120 35000
6 JAVA 45 6000
6 rows selected.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
no rows selected
1 row created.
SQL> R
1 INSERT INTO B24_STUDENT
2 VALUES
3 (
4 &SID
5 ,'&SNAME'
6 ,&MO
7 ,'&LC'
8 ,'&QAL'
9* )
Enter value for sid: 2
old 4: &SID
432 | P a g e
new 4: 2
Enter value for sname: NIVEDAN
old 5: ,'&SNAME'
new 5: ,'NIVEDAN'
Enter value for mo: 9876598766
old 6: ,&MO
new 6: ,9876598766
Enter value for lc: SANTHINAGAR
old 7: ,'&LC'
new 7: ,'SANTHINAGAR'
Enter value for qal: BE
old 8: ,'&QAL'
new 8: ,'BE'
,'SANTHINAGAR'
*
ERROR at line 7:
ORA-12899: value too large for column "SYSTEM"."B24_STUDENT"."SLOC" (actual:
11, maximum: 10)
SQL> R
1 INSERT INTO B24_STUDENT
2 VALUES
3 (
4 &SID
5 ,'&SNAME'
6 ,&MO
7 ,'&LC'
8 ,'&QAL'
9* )
Enter value for sid: 2
old 4: &SID
new 4: 2
Enter value for sname: NIVEDAN
old 5: ,'&SNAME'
new 5: ,'NIVEDAN'
Enter value for mo: 9876598766
old 6: ,&MO
new 6: ,9876598766
Enter value for lc: SANTHINAGA
old 7: ,'&LC'
new 7: ,'SANTHINAGA'
Enter value for qal: BE
old 8: ,'&QAL'
new 8: ,'BE'
1 row created.
SQL> R
1 INSERT INTO B24_STUDENT
2 VALUES
3 (
4 &SID
5 ,'&SNAME'
6 ,&MO
7 ,'&LC'
8 ,'&QAL'
9* )
Enter value for sid: 3
old 4: &SID
new 4: 3
Enter value for sname: SURYA
old 5: ,'&SNAME'
new 5: ,'SURYA'
433 | P a g e
1 row created.
SQL> R
1 INSERT INTO B24_STUDENT
2 VALUES
3 (
4 &SID
5 ,'&SNAME'
6 ,&MO
7 ,'&LC'
8 ,'&QAL'
9* )
Enter value for sid: 4
old 4: &SID
new 4: 4
Enter value for sname: PRAVEEN
old 5: ,'&SNAME'
new 5: ,'PRAVEEN'
Enter value for mo: 1234512345
old 6: ,&MO
new 6: ,1234512345
Enter value for lc: TINFACTORY
old 7: ,'&LC'
new 7: ,'TINFACTORY'
Enter value for qal: BE
old 8: ,'&QAL'
new 8: ,'BE'
1 row created.
SQL> CL SCR
SQL> COMMIT;
Commit complete.
SQL> CL SCR
6 rows selected.
Table created.
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
4 4
5 ,1
6* )
SQL> /
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
SQL> RFIY
SP2-0042: unknown command "RFIY" - rest of line ignored.
SQL> EDIT
Wrote file afiedt.buf
1 row created.
SQL> CL SCR
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
7 rows selected.
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
437 | P a g e
SQL> CL SCR
6 rows selected.
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
2 rows deleted.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SID CID
---------- ----------
1 1
2 1
438 | P a g e
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SQL>
SQL> CREATE TABLE B24_STD_CRS_DET_1
2 (
3 SID NUMBER CONSTRAINT B24STDCRSDET_SID_FK REFERENCES B24_STUDENT(SID) ON
DELETE CASCADE
4 ,CID NUMBER CONSTRAINT B24STDCRSDET_CID_FK REFERENCES B24_COURSE(CID) ON
DELETE CASCADE
5 );
SID NUMBER CONSTRAINT B24STDCRSDET_SID_FK REFERENCES B24_STUDENT(SID) ON
DELETE CASCADE
*
ERROR at line 3:
ORA-02264: name already used by an existing constraint
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> CL SCR
439 | P a g e
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SQL> ED
Wrote file afiedt.buf
8 rows created.
SQL> ED
Wrote file afiedt.buf
8 rows created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
1 PLSQL 60 10000
2 EXCEL 15 2000
3 MACROS 30 6000
4 TABLEAU 60 11000
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SQL> CL SCR
1 PLSQL 60 10000
2 EXCEL 15 2000
3 MACROS 30 6000
4 TABLEAU 60 11000
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
8 rows deleted.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
1 PLSQL 60 10000
2 EXCEL 15 2000
3 MACROS 30 6000
4 TABLEAU 60 11000
no rows selected
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1 3
1 4
4 4
8 rows selected.
1 row deleted.
no rows selected
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
443 | P a g e
1 4
4 4
7 rows selected.
SID CID
---------- ----------
1 1
2 1
3 1
4 1
1 2
1
1 4
4 4
8 rows selected.
SQL> cl scr
6 rows selected.
SQL> R
1 SELECT TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,DELETE_RULE
2 FROM USER_CONSTRAINTS
3* WHERE TABLE_NAME LIKE 'B24_STD_CRS_DET%'
TABLE_NAME CONSTRAINT_NAME C
------------------------------ ------------------------------ -
DELETE_RULE
--------------------
B24_STD_CRS_DET B24STDCRSDET_SID_FK R
NO ACTION
B24_STD_CRS_DET B24STDCRSDET_CID_FK R
NO ACTION
B24_STD_CRS_DET_1 B24STDCRSDET1_SID_FK R
CASCADE
TABLE_NAME CONSTRAINT_NAME C
------------------------------ ------------------------------ -
DELETE_RULE
--------------------
B24_STD_CRS_DET_1 B24STDCRSDET1_CID_FK R
CASCADE
B24_STD_CRS_DET_2 B24STDCRSDET2_SID_FK R
SET NULL
B24_STD_CRS_DET_2 B24STDCRSDET2_CID_FK R
SET NULL
6 rows selected.
6 rows selected.
SQL> CL SCR
SQL> R
1 SELECT TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,DELETE_RULE
2 FROM USER_CONSTRAINTS
3* WHERE TABLE_NAME LIKE 'B24_STD_CRS_DET%'
6 rows selected.
SQL> CL SCR
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
TABLE_NAME CONSTRAINT_NAME
------------------------------ ------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
B24_STUDENT B24STD_SNAME_NN
SNAME
B24_STUDENT B24STD_SMOB_CHK
SMOB
B24_STUDENT B24STD_SID_PK
SID
TABLE_NAME CONSTRAINT_NAME
------------------------------ ------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
B24_COURSE B24CRS_CID_PK
CID
B24_STD_CRS_DET B24STDCRSDET_SID_FK
SID
B24_STD_CRS_DET B24STDCRSDET_CID_FK
CID
TABLE_NAME CONSTRAINT_NAME
------------------------------ ------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
447 | P a g e
B24_STD_CRS_DET_1 B24STDCRSDET1_SID_FK
SID
B24_STD_CRS_DET_1 B24STDCRSDET1_CID_FK
CID
B24_STD_CRS_DET_2 B24STDCRSDET2_SID_FK
SID
TABLE_NAME CONSTRAINT_NAME
------------------------------ ------------------------------
COLUMN_NAME
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------
B24_STD_CRS_DET_2 B24STDCRSDET2_CID_FK
CID
10 rows selected.
SQL> R
1 SELECT TABLE_NAME,CONSTRAINT_NAME,COLUMN_NAME
2 FROM USER_CONS_COLUMNS
3 WHERE TABLE_NAME IN (
4 'B24_STUDENT'
5 ,'B24_COURSE'
6 ,'B24_STD_CRS_DET'
7 ,'B24_STD_CRS_DET_1'
8 ,'B24_STD_CRS_DET_2'
9* )
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT TABLE_NAME,CONSTRAINT_NAME,COLUMN_NAME
2 FROM USER_CONS_COLUMNS
3 WHERE TABLE_NAME IN (
4 'B24_STUDENT'
5 ,'B24_COURSE'
6 ,'B24_STD_CRS_DET'
7 ,'B24_STD_CRS_DET_1'
8 ,'B24_STD_CRS_DET_2'
9 ,'T1'
448 | P a g e
10 ,'T2'
11 ,'T3'
12 ,'T4'
13 ,'T5'
14* )
SQL> /
10 rows selected.
SQL> CL SCR
WHY ?
TYPES OF JOINS
ELSE
IT WILL GO TO CORTESIAN
EX : IF 4 TABLES 3 CONDISIOINS.
3 TABLES 2 CONDITONS
RULE :
FIRST WE HAVE TO SEE IN TRNASACTIONAL TABLE HOW MANY REOCRDS ARE THERE (1 LACK RECORDS ARE THERE)
TO FULL FILL YOUR REQUIREMENT THIS TRANSCTIONAL TABLE YOU ARE JOINING WITH ANOTHER TABLE
450 | P a g e
AFTER JOINING WITH ANOTHER TABLE THEN YOU SHOULD GET RECORDS <=(TOTAL RECORDS WHICH ARE IN
TRNSACTIONAL TABLE)
EQUI JOIN
--------------------
MATCHING RECORDS BETWEEN 2 TABLES PLUS NON MATCHING RECORDS FROM ANY ONE TABLE
I.E FROM LEFT SIDE OF THE = OPERATOR IT WILL GIVE YOU NON MATCHING RECORDS
451 | P a g e
MATCHING RECORDS FROM TABLE WHICH IS THERE LEFT SIDE OF LEFT KEY WORD
MATCHING RECORDS BETWEEN 2 TABLES NON MATCHING RECORDS FROM ANY ONE TABLE
I.E FROM RIGHT SIDE OF THE = OPERATOR IT WILL GIVE YOU NON MATCHING RECORDS
MATCHING RECORDS FROM TABLE WHICH IS RIGHT SIDE OF RIGHT KEY WORD
IF YOU WANT TO DO BY USING ORACLE JOINS THEN WE HAVE TO GO FOR "SET OPERATORS"
--
ANSI JOINS
ORACLE JOINS
EX : IF 4 TABLES 3 CONDISIOINS.
ELSE
IT WILL GO TO CORTESIAN
7 rows selected.
SQL> CL SCR
7 rows selected.
PNAME PRICE
-------------------- ----------
MILK 20
CURD 30
TEJASREE CURD 30 3 90
TEJASREE CURD 30 5 150
TEJASREE CURD 30 20 600
TEJASREE CURD 30 10 300
42 rows selected.
42 rows selected.
456 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 (
3 SELECT CNAME
4 ,PNAME
5 ,PRICE
6 ,QTY
7 ,QTY * PRICE AS TOTALPRICE
8 FROM B26_CUST
9 ,B26_PROD
10 ,B26_CUST_ORD_DET
11 )
12* WHERE CNAME ='SURESH'
SQL> /
(
*
ERROR at line 2:
ORA-00923: FROM keyword not found where expected
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT CNAME
4 ,PNAME
5 ,PRICE
6 ,QTY
7 ,QTY * PRICE AS TOTALPRICE
8 FROM B26_CUST
9 ,B26_PROD
10 ,B26_CUST_ORD_DET
11 )
12* WHERE CNAME ='SURESH'
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
457 | P a g e
3 SELECT CNAME
4 ,PNAME
5 ,PRICE
6 ,QTY
7 ,QTY * PRICE AS TOTALPRICE
8 FROM B26_CUST
9 ,B26_PROD
10 ,B26_CUST_ORD_DET
11 )
12* WHERE CNAME ='KRISHNA'
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT CNAME
4 ,PNAME
5 ,PRICE
6 ,QTY
7 ,QTY * PRICE AS TOTALPRICE
8 FROM B26_CUST
9 ,B26_PROD
10 ,B26_CUST_ORD_DET
11 )
12* WHERE CNAME ='TEJASREE'
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,PRICE
4 ,QTY
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST
7 ,B26_PROD
8* ,B26_CUST_ORD_DET
SQL> /
42 rows selected.
SQL> ED
459 | P a g e
1 SELECT CNAME
2 ,PNAME
3 ,PRICE
4 ,QTY
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST
7 ,B26_PROD
8 ,B26_CUST_ORD_DET
9 WHERE PID = PID
10* AND CID = CID
SQL> /
AND CID = CID
*
ERROR at line 10:
ORA-00918: column ambiguously defined
SQL> EDIT
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,PRICE
4 ,QTY
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST
7 ,B26_PROD
8 ,B26_CUST_ORD_DET
9 WHERE PID = PID
10* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
SQL> /
WHERE PID = PID
*
ERROR at line 9:
ORA-00918: column ambiguously defined
SQL> EDIT
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,PRICE
4 ,QTY
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
11 /
SQL> ED
Wrote file afiedt.buf
460 | P a g e
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
11 /
SQL> EDIT
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
SQL>
SQL>
SQL>
SQL> CL SCR
SQL> SELECT *
2 FROM B26_CUST_ORD_DET;
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
461 | P a g e
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID(F)
10* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
SQL> /
WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID(F)
*
ERROR at line 9:
ORA-00904: "B26_PROD"."PID": invalid identifier
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
SQL> /
SQL> EDIT
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
11* AND B26_CUST_ORD_DET.ORDER_DATE ='07-JUN-18'
SQL> /
AND B26_CUST_ORD_DET.ORDER_DATE ='07-JUN-18'
*
ERROR at line 11:
ORA-00904: "B26_CUST_ORD_DET"."ORDER_DATE": invalid identifier
SQL> ED
Wrote file afiedt.buf
462 | P a g e
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
11* AND B26_CUST_ORD_DET.ORD_DATE ='07-JUN-18'
SQL> /
no rows selected
SQL> EDIT
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
11* AND B26_CUST_ORD_DET.ORD_DATE ='07-JUN-18'
SQL>
SQL>
SQL> CL SCR
SQL> SELECT *
2 FROM B26_CUST_ORD_DET;
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 FROM B26_CUST_ORD_DET
7 ,B26_PROD
8 ,B26_CUST
9 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
10 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
11* AND B26_CUST_ORD_DET.ORD_DATE ='07-JUN-18'
SQL> /
463 | P a g e
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12 /
SURESH CURD 2 30 60
07-JUN-18
KRISHNA CURD 3 30 90
07-JUN-18
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12* AND B26_CUST_ORD_DET.ORD_DATE ='07-JUN-18'
SQL> ./
SP2-0042: unknown command "./" - rest of line ignored.
SQL> /
no rows selected
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12 /
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
465 | P a g e
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12* AND B26_CUST_ORD_DET.ORD_dATE='07-JUN-18'
SQL> /
no rows selected
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
SQL> SELECT *
2 FROM B26_CUST_ORD_DET;
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM B26_CUST_ORD_DET
3* WHERE ORD_dATE ='07-JUN-18'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM B26_CUST_ORD_DET
3* WHERE TO_CHAR(ORD_dATE,'DD-MON-YY') ='07-JUN-18'
SQL> /
6 rows selected.
466 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT CID
2 ,PID
3 ,QTY
4 ,ORD_dATE
5 ,TO_CHAR(ORD_DATE,'DD-MON-YY HH24 MI SS') DD1
6 FROM B26_CUST_ORD_DET
7* WHERE ORD_dATE ='07-JUN-18'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT CID
2 ,PID
3 ,QTY
4 ,ORD_dATE
5 ,TO_CHAR(ORD_DATE,'DD-MON-YY HH24 MI SS') DD1
6 FROM B26_CUST_ORD_DET
7* --WHERE ORD_dATE ='07-JUN-18'
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CID
2 ,PID
3 ,QTY
4 ,ORD_dATE
5 ,TO_CHAR(ORD_DATE,'DD-MON-YY HH24 MI SS') DD1
6 FROM B26_CUST_ORD_DET
7* WHERE ORD_dATE ='07-JUN-18'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT CID
2 ,PID
3 ,QTY
4 ,ORD_dATE
5 ,TO_CHAR(ORD_DATE,'DD-MON-YY HH24 MI SS') DD1
6 FROM B26_CUST_ORD_DET
7* WHERE TO_CHAR(ORD_dATE,'DD-MON-YY') ='07-JUN-18'
SQL> /
467 | P a g e
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12* AND B26_CUST_ORD_DET.ORD_dATE='07-JUN-18'
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12* AND TO_CHAR(B26_CUST_ORD_DET.ORD_dATE,'DD-MON-YY')='07-JUN-18'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
468 | P a g e
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11* AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12 /
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET
8 ,B26_PROD
9 ,B26_CUST
10 WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11 AND B26_CUST_ORD_DET.CID = B26_CUST.CID
12* AND TO_CHAR(B26_CUST_ORD_DET.ORD_dATE,'DD-MON-YY')='07-JUN-18'
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET--7
469 | P a g e
8 ,B26_PROD --2
9 ,B26_CUST --3
10* WHERE B26_CUST_ORD_DET.PID = B26_PROD.PID
11 /
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTALPRICE
6 ,ORD_DATE
7 FROM B26_CUST_ORD_DET--7
8 ,B26_PROD --2
9* ,B26_CUST --3
10 /
42 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2* FROM B26_CUST_ORD_DET--7
3 /
1
----------
1
1
1
1
1
1
1
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2 FROM B26_CUST_ORD_DET--7
3* ,B26_PROD
4 /
1
----------
1
1
1
1
1
1
1
1
1
1
1
1
472 | P a g e
1
1
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2 FROM B26_CUST_ORD_DET--7
3 ,B26_PROD
4* WHERE PID = PID
SQL> /
WHERE PID = PID
*
ERROR at line 4:
ORA-00918: column ambiguously defined
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2 FROM B26_CUST_ORD_DET COD
3 ,B26_PROD PR
4* WHERE COD.PID = PR.PID
SQL> /
1
----------
1
1
1
1
1
1
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2 FROM B26_CUST_ORD_DET COD
3 ,B26_PROD PR
4 ,B26_CUST CU
5* WHERE COD.PID = PR.PID
SQL> /
1
----------
1
1
1
1
1
1
1
1
1
1
1
1
1
473 | P a g e
1
1
1
1
1
18 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2 FROM B26_CUST_ORD_DET COD
3 ,B26_PROD PR
4 ,B26_CUST CU
5 WHERE COD.PID = PR.PID
6* AND COD.CID = CU.CID
SQL> /
1
----------
1
1
1
1
1
SQL> ED
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.QTY * PR.PRICE AS TOTAALPRICE
6 ,COD.ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE COD.PID = PR.PID
11* AND COD.CID = CU.CID
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,PR.PNAME
3 ,COD.QTY
474 | P a g e
4 ,PR.PRICE
5 ,COD.QTY * PR.PRICE AS TOTAALPRICE
6 ,COD.ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE COD.PID = PR.PID
11 AND COD.CID = CU.CID
12* ORDER BY COD.ORD_DATE
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.QTY * PR.PRICE AS TOTAALPRICE
6 ,COD.ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE COD.PID = PR.PID
11 AND COD.CID = CU.CID
12* ORDER BY COD.ORD_DATE DESC
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,PR.PNAME
3 ,COD.QTY
475 | P a g e
4 ,PR.PRICE
5 ,COD.QTY * PR.PRICE AS TOTAALPRICE
6 ,COD.ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE COD.PID = PR.PID
11 AND COD.CID = CU.CID
12 AND TO_CHAR(COD.ORD_DATE,'DD-MON-YY') ='07-JUN-18'
13* ORDER BY COD.ORD_DATE DESC
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.QTY * PR.PRICE AS TOTAALPRICE
6 ,TO_CHAR(COD.ORD_DATE,'DD-MON-YY HH24 MI SS') ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE COD.PID = PR.PID
11 AND COD.CID = CU.CID
12 AND TO_CHAR(COD.ORD_DATE,'DD-MON-YY') ='07-JUN-18'
13* ORDER BY COD.ORD_DATE DESC
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTAALPRICE
476 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT CNAME
2 ,PNAME
3 ,QTY
4 ,PRICE
5 ,QTY * PRICE AS TOTAALPRICE
6 ,TO_CHAR(ORD_DATE,'DD-MON-YY HH24 MI SS') ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE COD.PID = PR.PID
11 AND CID = CID
12 AND TO_CHAR(COD.ORD_DATE,'DD-MON-YY') ='07-JUN-18'
13* ORDER BY COD.ORD_DATE DESC
SQL> /
AND CID = CID
*
ERROR at line 11:
ORA-00918: column ambiguously defined
SQL> ED
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.QTY * PR.PRICE AS TOTAALPRICE
6 ,TO_CHAR(COD.ORD_DATE,'DD-MON-YY HH24 MI SS') ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE COD.PID = PR.PID
11 AND COD.CID = CU.CID
12 AND TO_CHAR(COD.ORD_DATE,'DD-MON-YY') ='07-JUN-18'
13* ORDER BY COD.ORD_DATE DESC
SQL> /
477 | P a g e
SQL> L SCR
SP2-0224: invalid starting line number
SQL> CL SCR
SQL> SELECT
2 FROM B26_CUST_ORD_DET COD;
FROM B26_CUST_ORD_DET COD
*
ERROR at line 2:
ORA-00936: missing expression
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2* FROM B26_CUST_ORD_DET COD
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID = PR.PID
SQL> /
2 MILK 10 20 08-JUN-18
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID = PR.PID(+)
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE PR.PID = COD.PID
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE PR.PID(+) = COD.PID
479 | P a g e
SQL> /
7 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID = PR.PID(+)
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,NVL( PR.PNAME,'NO PRODUCT')
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID = PR.PID(+)
SQL> /
7 rows selected.
480 | P a g e
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,NVL( PR.PNAME,'NO PRODUCT')
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE PR.PID(+) = COD.PID
SQL> /
7 rows selected.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,NVL( PR.PNAME,'NO PRODUCT')
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE PR.PID = COD.PID
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,NVL( PR.PNAME,'NO PRODUCT')
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8 ,B26_CUST CU
481 | P a g e
SQL> EDIT
Wrote file afiedt.buf
1 SELECT CU.CNAME
2 ,NVL( PR.PNAME,'NO PRODUCT')
3 ,COD.QTY
4 ,PR.PRICE
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8 ,B26_CUST CU
9 WHERE PR.PID(+) = COD.PID
10* AND CU.CID(+) = COD.CID
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
5 ,COD.ORD_DATE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8 ,B26_CUST CU
9 WHERE PR.PID(+) = COD.PID
10* AND CU.CID(+) = COD.CID
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
7 rows selected.
SQL> ED
Wrote file afiedt.buf
6 ,COD.ORD_DATE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_CUST CU
10 WHERE PR.PID(+) = COD.PID
11* AND CU.CID(+) = COD.CID
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
7 rows selected.
484 | P a g e
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
ORD_INFORMATION
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
--------------
NO CUSTOMER ON 07-JUN-18 ORDERED 20MILK PACKETS AND IT COSTED HIM 400
KRISHNA ON 07-JUN-18 ORDERED 5MILK PACKETS AND IT COSTED HIM 100
KRISHNA ON 07-JUN-18 ORDERED 3CURD PACKETS AND IT COSTED HIM 90
SURESH ON 07-JUN-18 ORDERED 100NO PRODUCT PACKETS AND IT COSTED HIM 1500
SURESH ON 07-JUN-18 ORDERED 2CURD PACKETS AND IT COSTED HIM 60
SURESH ON 07-JUN-18 ORDERED 4MILK PACKETS AND IT COSTED HIM 80
6 rows selected.
SQL> ED
Wrote file afiedt.buf
ORD_INFORMATION
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---------------
NO CUSTOMER ON 07-JUN-18 ORDERED 20 MILK PACKETS AND IT COSTED HIM 400
KRISHNA ON 07-JUN-18 ORDERED 5 MILK PACKETS AND IT COSTED HIM 100
KRISHNA ON 07-JUN-18 ORDERED 3 CURD PACKETS AND IT COSTED HIM 90
SURESH ON 07-JUN-18 ORDERED 100 NO PRODUCT PACKETS AND IT COSTED HIM 1500
SURESH ON 07-JUN-18 ORDERED 2 CURD PACKETS AND IT COSTED HIM 60
487 | P a g e
6 rows selected.
SQL> EDIT
Wrote file afiedt.buf
SQL> SELECT *
2 FROM B26_CUST;
SQL> SELECT *
2 FROM B26_CUST_ORD_DET;
7 rows selected.
1 row created.
488 | P a g e
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
ORD_INFORMATION
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
---------------
NO CUSTOMER ON 07-JUN-18 ORDERED 20 MILK PACKETS AND IT COSTED HIM 400
KRISHNA ON 07-JUN-18 ORDERED 5 MILK PACKETS AND IT COSTED HIM 100
KRISHNA ON 07-JUN-18 ORDERED 3 CURD PACKETS AND IT COSTED HIM 90
SURESH ON 07-JUN-18 ORDERED 100 NO PRODUCT PACKETS AND IT COSTED HIM 1500
SURESH ON 07-JUN-18 ORDERED 2 CURD PACKETS AND IT COSTED HIM 60
SURESH ON 07-JUN-18 ORDERED 4 MILK PACKETS AND IT COSTED HIM 80
TEJASREE ON 07-JUN-18 ORDERED 4 MILK PACKETS AND IT COSTED HIM 80
7 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
ORD_INFORMATION
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------
NO CUSTOMER ON 07-JUN-18 ORDERED 20 MILK PACKETS AND IT COSTED HER 400
KRISHNA ON 07-JUN-18 ORDERED 5 MILK PACKETS AND IT COSTED HIM 100
KRISHNA ON 07-JUN-18 ORDERED 3 CURD PACKETS AND IT COSTED HIM 90
SURESH ON 07-JUN-18 ORDERED 100 NO PRODUCT PACKETS AND IT COSTED HIM 1500
SURESH ON 07-JUN-18 ORDERED 2 CURD PACKETS AND IT COSTED HIM 60
SURESH ON 07-JUN-18 ORDERED 4 MILK PACKETS AND IT COSTED HIM 80
TEJASREE ON 07-JUN-18 ORDERED 4 MILK PACKETS AND IT COSTED HER 80
7 rows selected.
SQL> ED
Wrote file afiedt.buf
2 ||' ON '
3 ||COD.ORD_DATE
4 ||' ORDERED '
5 ||COD.QTY
6 ||' '
7 ||NVL( PR.PNAME,'NO PRODUCT')
8 ||' PACKETS '
9 ||' AND IT COSTED '
10 || CASE WHEN CU.CGEN ='MALE' THEN 'HIM '
11 ELSE 'HER '
12 END
13 ||COD.QTY * NVL(PR.PRICE,15) AS ORD_INFORMATION
14 FROM B26_CUST_ORD_DET COD
15 ,B26_PROD PR
16 ,B26_CUST CU
17 WHERE PR.PID(+) = COD.PID
18 AND CU.CID(+) = COD.CID
19 AND TRUNC(COD.ORD_DATE) = '07-JUN-18'
20* ORDER BY COD.ORD_DATE DESC
SQL>
SQL>
SQL>
SQL>
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM B26_CUST_ORD_DET COD
3* ,B26_PROD
SQL> /
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.*
2 ,PR.PRICE
3 FROM B26_CUST_ORD_DET COD
4* ,B26_PROD PR
SQL> /
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,COD.CNAME
3 ,COD.PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7* ,B26_PROD PR
SQL> /
,COD.CNAME
*
ERROR at line 2:
ORA-00904: "COD"."CNAME": invalid identifier
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7* ,B26_PROD PR
493 | P a g e
SQL> /
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7* ,B26_PROD PR
SQL>
SQL>
SQL>
SQL> INSERT INTO B26_PROD
2 VALUES
3 (
4 3
5
SQL> DESC B26_PROD
Name
Null? Type
----------------------------------------------------------------------------------
------------------------------- -------- ------------------------------------------
----------------------------------
PID
NOT NULL NUMBER
PNAME
VARCHAR2(20)
PMFR
VARCHAR2(20)
PRICE
NUMBER
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID = PR.PID
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,COD.PID
4 ,COD.QTY
495 | P a g e
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID(+) = PR.PID
SQL> /
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID(+) = PR.PID
SQL> /
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID = PR.PID
SQL> /
MILK 1 20 20
2 MILK 1 10 20
3 MILK 1 4 20
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID = PR.PID(+)
SQL> /
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID(+) = PR.PID(+)
SQL> /
WHERE COD.PID(+) = PR.PID(+)
*
ERROR at line 8:
ORA-01468: a predicate may reference only one outer-joined table
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8 WHERE COD.PID = PR.PID(+)
9 UNION ALL
10 SELECT COD.CID
11 ,PR.PNAME
497 | P a g e
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8 WHERE COD.PID = PR.PID(+)
9 UNION
10 SELECT COD.CID
11 ,PR.PNAME
12 ,NVL( COD.PID,PR.PID) AS PID
13 ,COD.QTY
14 ,PR.PRICE
15 FROM B26_CUST_ORD_DET COD
16 ,B26_PROD PR
17* WHERE COD.PID(+) = PR.PID
SQL> /
9 rows selected.
498 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 FULL OUTER JOIN B26_PROD PR
8* ON COD.PID = PR.PID
SQL> /
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8* WHERE COD.PID(+) = PR.PID
SQL> /
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
499 | P a g e
SQL> EDIT
Wrote file afiedt.buf
1 SELECT COD.CID
2 ,PR.PNAME
3 ,NVL( COD.PID,PR.PID) AS PID
4 ,COD.QTY
5 ,PR.PRICE
6 FROM B26_CUST_ORD_DET COD
7 ,B26_PROD PR
8 WHERE COD.PID(+) = PR.PID
9* AND COD.PID = PR.PID(+)
SQL>
SQL>
SQL>
SQL> CL SCR
Table created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
500 | P a g e
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
1 SELECT PNAME
2 ,PRICE
3 ,GID
4 FROM B26_PROD PR
5 ,B26_PROD_GRADE PRG
6* WHERE PR.PRICE BETWEEN PRG.LOPRICE AND PRG.HIPRICE
SQL> /
SQL> CL SCR
CADDR
VARCHAR2(20)
CGEN
VARCHAR2(10)
SQL> ED
Wrote file afiedt.buf
SURESH MILK 3 20 10
200
SURESH MILK 3 20 4
80
SURESH MILK 4 20 4
80
SURESH MILK 4 20 2
40
SURESH MILK 4 20 100
2000
SURESH MILK 4 20 3
60
SURESH MILK 4 20 5
100
SURESH MILK 4 20 20
400
SURESH MILK 4 20 10
200
SURESH MILK 4 20 4
80
SURESH MILK 5 20 4
80
SURESH MILK 5 20 2
40
SURESH MILK 5 20 100
2000
SURESH MILK 5 20 3
60
SURESH MILK 5 20 5
100
SURESH MILK 5 20 20
400
SURESH MILK 5 20 10
200
SURESH MILK 5 20 4
80
KRISHNA MILK 1 20 4
80
KRISHNA MILK 1 20 2
40
KRISHNA MILK 1 20 100
2000
KRISHNA MILK 1 20 3
60
KRISHNA MILK 1 20 5
100
KRISHNA MILK 1 20 20
400
KRISHNA MILK 1 20 10
200
KRISHNA MILK 1 20 4
80
KRISHNA MILK 2 20 4
80
KRISHNA MILK 2 20 2
40
KRISHNA MILK 2 20 100
2000
KRISHNA MILK 2 20 3
60
KRISHNA MILK 2 20 5
100
KRISHNA MILK 2 20 20
400
505 | P a g e
KRISHNA MILK 2 20 10
200
KRISHNA MILK 2 20 4
80
KRISHNA MILK 3 20 4
80
KRISHNA MILK 3 20 2
40
KRISHNA MILK 3 20 100
2000
KRISHNA MILK 3 20 3
60
KRISHNA MILK 3 20 5
100
KRISHNA MILK 3 20 20
400
KRISHNA MILK 3 20 10
200
KRISHNA MILK 3 20 4
80
KRISHNA MILK 4 20 4
80
KRISHNA MILK 4 20 2
40
KRISHNA MILK 4 20 100
2000
KRISHNA MILK 4 20 3
60
KRISHNA MILK 4 20 5
100
KRISHNA MILK 4 20 20
400
KRISHNA MILK 4 20 10
200
KRISHNA MILK 4 20 4
80
KRISHNA MILK 5 20 4
80
KRISHNA MILK 5 20 2
40
KRISHNA MILK 5 20 100
2000
KRISHNA MILK 5 20 3
60
KRISHNA MILK 5 20 5
100
KRISHNA MILK 5 20 20
400
KRISHNA MILK 5 20 10
200
KRISHNA MILK 5 20 4
80
TEJASREE MILK 1 20 4
80
TEJASREE MILK 1 20 2
40
TEJASREE MILK 1 20 100
2000
TEJASREE MILK 1 20 3
60
TEJASREE MILK 1 20 5
100
TEJASREE MILK 1 20 20
400
506 | P a g e
TEJASREE MILK 1 20 10
200
TEJASREE MILK 1 20 4
80
TEJASREE MILK 2 20 4
80
TEJASREE MILK 2 20 2
40
TEJASREE MILK 2 20 100
2000
TEJASREE MILK 2 20 3
60
TEJASREE MILK 2 20 5
100
TEJASREE MILK 2 20 20
400
TEJASREE MILK 2 20 10
200
TEJASREE MILK 2 20 4
80
TEJASREE MILK 3 20 4
80
TEJASREE MILK 3 20 2
40
TEJASREE MILK 3 20 100
2000
TEJASREE MILK 3 20 3
60
TEJASREE MILK 3 20 5
100
TEJASREE MILK 3 20 20
400
TEJASREE MILK 3 20 10
200
TEJASREE MILK 3 20 4
80
TEJASREE MILK 4 20 4
80
TEJASREE MILK 4 20 2
40
TEJASREE MILK 4 20 100
2000
TEJASREE MILK 4 20 3
60
TEJASREE MILK 4 20 5
100
TEJASREE MILK 4 20 20
400
TEJASREE MILK 4 20 10
200
TEJASREE MILK 4 20 4
80
TEJASREE MILK 5 20 4
80
TEJASREE MILK 5 20 2
40
TEJASREE MILK 5 20 100
2000
TEJASREE MILK 5 20 3
60
TEJASREE MILK 5 20 5
100
TEJASREE MILK 5 20 20
400
507 | P a g e
TEJASREE MILK 5 20 10
200
TEJASREE MILK 5 20 4
80
SURESH CURD 1 30 4
120
SURESH CURD 1 30 2
60
SURESH CURD 1 30 100
3000
SURESH CURD 1 30 3
90
SURESH CURD 1 30 5
150
SURESH CURD 1 30 20
600
SURESH CURD 1 30 10
300
SURESH CURD 1 30 4
120
SURESH CURD 2 30 4
120
SURESH CURD 2 30 2
60
SURESH CURD 2 30 100
3000
SURESH CURD 2 30 3
90
SURESH CURD 2 30 5
150
SURESH CURD 2 30 20
600
SURESH CURD 2 30 10
300
SURESH CURD 2 30 4
120
SURESH CURD 3 30 4
120
SURESH CURD 3 30 2
60
SURESH CURD 3 30 100
3000
SURESH CURD 3 30 3
90
SURESH CURD 3 30 5
150
SURESH CURD 3 30 20
600
SURESH CURD 3 30 10
300
SURESH CURD 3 30 4
120
SURESH CURD 4 30 4
120
SURESH CURD 4 30 2
60
SURESH CURD 4 30 100
3000
SURESH CURD 4 30 3
90
SURESH CURD 4 30 5
150
SURESH CURD 4 30 20
600
508 | P a g e
SURESH CURD 4 30 10
300
SURESH CURD 4 30 4
120
SURESH CURD 5 30 4
120
SURESH CURD 5 30 2
60
SURESH CURD 5 30 100
3000
SURESH CURD 5 30 3
90
SURESH CURD 5 30 5
150
SURESH CURD 5 30 20
600
SURESH CURD 5 30 10
300
SURESH CURD 5 30 4
120
KRISHNA CURD 1 30 4
120
KRISHNA CURD 1 30 2
60
KRISHNA CURD 1 30 100
3000
KRISHNA CURD 1 30 3
90
KRISHNA CURD 1 30 5
150
KRISHNA CURD 1 30 20
600
KRISHNA CURD 1 30 10
300
KRISHNA CURD 1 30 4
120
KRISHNA CURD 2 30 4
120
KRISHNA CURD 2 30 2
60
KRISHNA CURD 2 30 100
3000
KRISHNA CURD 2 30 3
90
KRISHNA CURD 2 30 5
150
KRISHNA CURD 2 30 20
600
KRISHNA CURD 2 30 10
300
KRISHNA CURD 2 30 4
120
KRISHNA CURD 3 30 4
120
KRISHNA CURD 3 30 2
60
KRISHNA CURD 3 30 100
3000
KRISHNA CURD 3 30 3
90
KRISHNA CURD 3 30 5
150
KRISHNA CURD 3 30 20
600
509 | P a g e
KRISHNA CURD 3 30 10
300
KRISHNA CURD 3 30 4
120
KRISHNA CURD 4 30 4
120
KRISHNA CURD 4 30 2
60
KRISHNA CURD 4 30 100
3000
KRISHNA CURD 4 30 3
90
KRISHNA CURD 4 30 5
150
KRISHNA CURD 4 30 20
600
KRISHNA CURD 4 30 10
300
KRISHNA CURD 4 30 4
120
KRISHNA CURD 5 30 4
120
KRISHNA CURD 5 30 2
60
KRISHNA CURD 5 30 100
3000
KRISHNA CURD 5 30 3
90
KRISHNA CURD 5 30 5
150
TEJASREE CURD 2 30 3
90
TEJASREE CURD 2 30 5
150
TEJASREE CURD 2 30 20
600
TEJASREE CURD 2 30 10
300
TEJASREE CURD 2 30 4
120
TEJASREE CURD 3 30 4
120
TEJASREE CURD 3 30 2
60
TEJASREE CURD 3 30 100
3000
TEJASREE CURD 3 30 3
90
TEJASREE CURD 3 30 5
150
TEJASREE CURD 3 30 20
600
TEJASREE CURD 3 30 10
300
TEJASREE CURD 3 30 4
120
TEJASREE CURD 4 30 4
120
TEJASREE CURD 4 30 2
60
TEJASREE CURD 4 30 100
3000
TEJASREE CURD 4 30 3
90
TEJASREE CURD 4 30 5
150
TEJASREE CURD 4 30 20
600
TEJASREE CURD 4 30 10
300
TEJASREE CURD 4 30 4
120
TEJASREE CURD 5 30 4
120
TEJASREE CURD 5 30 2
60
TEJASREE CURD 5 30 100
3000
TEJASREE CURD 5 30 3
90
TEJASREE CURD 5 30 5
150
TEJASREE CURD 5 30 20
600
TEJASREE CURD 5 30 10
300
TEJASREE CURD 5 30 4
120
SURESH ICE 1 40 4
160
SURESH ICE 1 40 2
80
SURESH ICE 1 40 100
4000
511 | P a g e
SURESH ICE 1 40 3
120
SURESH ICE 1 40 5
200
SURESH ICE 1 40 20
800
SURESH ICE 1 40 10
400
SURESH ICE 1 40 4
160
SURESH ICE 2 40 4
160
SURESH ICE 2 40 2
80
SURESH ICE 2 40 100
4000
SURESH ICE 2 40 3
120
SURESH ICE 2 40 5
200
SURESH ICE 2 40 20
800
SURESH ICE 2 40 10
400
SURESH ICE 2 40 4
160
SURESH ICE 3 40 4
160
SURESH ICE 3 40 2
80
SURESH ICE 3 40 100
4000
SURESH ICE 3 40 3
120
SURESH ICE 3 40 5
200
SURESH ICE 3 40 20
800
SURESH ICE 3 40 10
400
SURESH ICE 3 40 4
160
SURESH ICE 4 40 4
160
SURESH ICE 4 40 2
80
SURESH ICE 4 40 100
4000
SURESH ICE 4 40 3
120
SURESH ICE 4 40 5
200
SURESH ICE 4 40 20
800
SURESH ICE 4 40 10
400
SURESH ICE 4 40 4
160
SURESH ICE 5 40 4
160
SURESH ICE 5 40 2
80
SURESH ICE 5 40 100
4000
512 | P a g e
SURESH ICE 5 40 3
120
SURESH ICE 5 40 5
200
SURESH ICE 5 40 20
800
SURESH ICE 5 40 10
400
SURESH ICE 5 40 4
160
KRISHNA ICE 1 40 4
160
KRISHNA ICE 1 40 2
80
KRISHNA ICE 1 40 100
4000
KRISHNA ICE 1 40 3
120
KRISHNA ICE 1 40 5
200
KRISHNA ICE 1 40 20
800
KRISHNA ICE 1 40 10
400
KRISHNA ICE 1 40 4
160
KRISHNA ICE 2 40 4
160
KRISHNA ICE 2 40 2
80
KRISHNA ICE 2 40 100
4000
KRISHNA ICE 2 40 3
120
KRISHNA ICE 2 40 5
200
KRISHNA ICE 2 40 20
800
KRISHNA ICE 2 40 10
400
KRISHNA ICE 2 40 4
160
KRISHNA ICE 3 40 4
160
KRISHNA ICE 3 40 2
80
KRISHNA ICE 3 40 100
4000
KRISHNA ICE 3 40 3
120
KRISHNA ICE 3 40 5
200
KRISHNA ICE 3 40 20
800
KRISHNA ICE 3 40 10
400
KRISHNA ICE 3 40 4
160
KRISHNA ICE 4 40 4
160
KRISHNA ICE 4 40 2
80
KRISHNA ICE 4 40 100
4000
513 | P a g e
KRISHNA ICE 4 40 3
120
KRISHNA ICE 4 40 5
200
KRISHNA ICE 4 40 20
800
KRISHNA ICE 4 40 10
400
KRISHNA ICE 4 40 4
160
KRISHNA ICE 5 40 4
160
KRISHNA ICE 5 40 2
80
KRISHNA ICE 5 40 100
4000
KRISHNA ICE 5 40 3
120
KRISHNA ICE 5 40 5
200
KRISHNA ICE 5 40 20
800
KRISHNA ICE 5 40 10
400
KRISHNA ICE 5 40 4
160
TEJASREE ICE 1 40 4
160
TEJASREE ICE 1 40 2
80
TEJASREE ICE 1 40 100
4000
TEJASREE ICE 1 40 3
120
TEJASREE ICE 1 40 5
200
TEJASREE ICE 1 40 20
800
TEJASREE ICE 1 40 10
400
TEJASREE ICE 1 40 4
160
TEJASREE ICE 2 40 4
160
TEJASREE ICE 2 40 2
80
TEJASREE ICE 2 40 100
4000
TEJASREE ICE 2 40 3
120
TEJASREE ICE 2 40 5
200
TEJASREE ICE 2 40 20
800
TEJASREE ICE 2 40 10
400
TEJASREE ICE 2 40 4
160
TEJASREE ICE 3 40 4
160
TEJASREE ICE 3 40 2
80
TEJASREE ICE 3 40 100
4000
514 | P a g e
TEJASREE ICE 3 40 3
120
TEJASREE ICE 3 40 5
200
TEJASREE ICE 3 40 20
800
TEJASREE ICE 3 40 10
400
TEJASREE ICE 3 40 4
160
TEJASREE ICE 4 40 4
160
TEJASREE ICE 4 40 2
80
TEJASREE ICE 4 40 100
4000
TEJASREE ICE 4 40 3
120
TEJASREE ICE 4 40 5
200
TEJASREE ICE 4 40 20
800
TEJASREE ICE 4 40 10
400
TEJASREE ICE 4 40 4
160
TEJASREE ICE 5 40 4
160
TEJASREE ICE 5 40 2
80
TEJASREE ICE 5 40 100
4000
TEJASREE ICE 5 40 3
120
TEJASREE ICE 5 40 5
200
TEJASREE ICE 5 40 20
800
TEJASREE ICE 5 40 10
400
TEJASREE ICE 5 40 4
160
SQL> ED
Wrote file afiedt.buf
SURESH CURD 3 30 4
120
KRISHNA CURD 3 30 4
120
KRISHNA CURD 3 30 2
60
KRISHNA CURD 3 30 100
3000
KRISHNA CURD 3 30 3
90
KRISHNA CURD 3 30 5
150
KRISHNA CURD 3 30 20
600
KRISHNA CURD 3 30 10
300
KRISHNA CURD 3 30 4
120
TEJASREE CURD 3 30 4
120
TEJASREE CURD 3 30 2
60
TEJASREE CURD 3 30 100
3000
TEJASREE CURD 3 30 3
90
TEJASREE CURD 3 30 5
150
TEJASREE CURD 3 30 20
600
TEJASREE CURD 3 30 10
300
TEJASREE CURD 3 30 4
120
SURESH ICE 4 40 4
160
SURESH ICE 4 40 2
80
SURESH ICE 4 40 100
4000
SURESH ICE 4 40 3
120
SURESH ICE 4 40 5
200
SURESH ICE 4 40 20
800
SURESH ICE 4 40 10
400
SURESH ICE 4 40 4
160
KRISHNA ICE 4 40 4
160
KRISHNA ICE 4 40 2
80
KRISHNA ICE 4 40 100
4000
KRISHNA ICE 4 40 3
120
KRISHNA ICE 4 40 5
200
KRISHNA ICE 4 40 20
800
KRISHNA ICE 4 40 10
400
517 | P a g e
KRISHNA ICE 4 40 4
160
TEJASREE ICE 4 40 4
160
TEJASREE ICE 4 40 2
80
TEJASREE ICE 4 40 100
4000
TEJASREE ICE 4 40 3
120
TEJASREE ICE 4 40 5
200
TEJASREE ICE 4 40 20
800
TEJASREE ICE 4 40 10
400
TEJASREE ICE 4 40 4
160
72 rows selected.
SQL> ED
Wrote file afiedt.buf
8 rows selected.
SQL> CL SCR
SQL> R
1* SELECT * FROM B26_CUST_ORD_DET
8 rows selected.
SQL> ED
Wrote file afiedt.buf
4 ,PR.PRICE AS PRICE
5 ,COD.QTY AS QTY
6 ,COD.QTY * PR.PRICE AS TOTALPRICE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_PROD_GRADE PRG
10 ,B26_CUST CU
11 WHERE PR.PRICE BETWEEN PRG.LOPRICE AND PRG.HIPRICE
12* AND COD.PID = PR.PID
SQL> /
21 rows selected.
SQL> ED
Wrote file afiedt.buf
2 ,PR.PNAME AS PRODNAME
3 ,PRG.GID AS PROD_GRADE
4 ,PR.PRICE AS PRICE
5 ,COD.QTY AS QTY
6 ,COD.QTY * PR.PRICE AS TOTALPRICE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_PROD_GRADE PRG
10 ,B26_CUST CU
11* WHERE PR.PRICE BETWEEN PRG.LOPRICE AND PRG.HIPRICE
12 /
SURESH CURD 3 30 4
120
SURESH CURD 3 30 2
60
SURESH CURD 3 30 100
3000
SURESH CURD 3 30 3
90
SURESH CURD 3 30 5
150
SURESH CURD 3 30 20
600
SURESH CURD 3 30 10
300
SURESH CURD 3 30 4
120
KRISHNA CURD 3 30 4
120
KRISHNA CURD 3 30 2
60
KRISHNA CURD 3 30 100
3000
KRISHNA CURD 3 30 3
90
KRISHNA CURD 3 30 5
150
KRISHNA CURD 3 30 20
600
KRISHNA CURD 3 30 10
300
KRISHNA CURD 3 30 4
120
TEJASREE CURD 3 30 4
120
TEJASREE CURD 3 30 2
60
TEJASREE CURD 3 30 100
3000
TEJASREE CURD 3 30 3
90
TEJASREE CURD 3 30 5
150
TEJASREE CURD 3 30 20
600
TEJASREE CURD 3 30 10
300
TEJASREE CURD 3 30 4
120
SURESH ICE 4 40 4
160
SURESH ICE 4 40 2
80
SURESH ICE 4 40 100
4000
SURESH ICE 4 40 3
120
SURESH ICE 4 40 5
200
SURESH ICE 4 40 20
800
SURESH ICE 4 40 10
400
SURESH ICE 4 40 4
160
521 | P a g e
KRISHNA ICE 4 40 4
160
KRISHNA ICE 4 40 2
80
KRISHNA ICE 4 40 100
4000
KRISHNA ICE 4 40 3
120
KRISHNA ICE 4 40 5
200
KRISHNA ICE 4 40 20
800
KRISHNA ICE 4 40 10
400
KRISHNA ICE 4 40 4
160
TEJASREE ICE 4 40 4
160
TEJASREE ICE 4 40 2
80
TEJASREE ICE 4 40 100
4000
TEJASREE ICE 4 40 3
120
TEJASREE ICE 4 40 5
200
TEJASREE ICE 4 40 20
800
TEJASREE ICE 4 40 10
400
TEJASREE ICE 4 40 4
160
72 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
7 rows selected.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
21 rows selected.
SQL> ED
Wrote file afiedt.buf
21 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> CL SCR
SQL> R
1 SELECT CU.CNAME AS CUSTOMERNAME
2 ,PR.PNAME AS PRODNAME
3 ,PRG.GID AS PROD_GRADE
4 ,PR.PRICE AS PRICE
5 ,COD.QTY AS QTY
6 ,COD.QTY * PR.PRICE AS TOTALPRICE
7 FROM B26_CUST_ORD_DET COD
8 ,B26_PROD PR
9 ,B26_PROD_GRADE PRG
10 ,B26_CUST CU
11 WHERE PR.PRICE BETWEEN PRG.LOPRICE AND PRG.HIPRICE
12 AND COD.PID = PR.PID
13* AND COD.CID = CU.CID
6 rows selected.
6 rows selected.
Execution Plan
----------------------------------------------------------
Plan hash value: 3461138243
-----------------------------------------------------------------------------------
--------------
| Id | Operation | Name | Rows | Bytes | Cost
(%CPU)| Time |
-----------------------------------------------------------------------------------
--------------
| 0 | SELECT STATEMENT | | 1 | 141 | 9
(12)| 00:00:01 |
| 1 | NESTED LOOPS | | | |
| |
| 2 | NESTED LOOPS | | 1 | 141 | 9
(12)| 00:00:01 |
|* 3 | HASH JOIN | | 1 | 116 | 8
(13)| 00:00:01 |
| 4 | NESTED LOOPS | | 1 | 77 | 5
(0)| 00:00:01 |
| 5 | TABLE ACCESS FULL | B26_PROD | 3 | 114 | 2
(0)| 00:00:01 |
|* 6 | TABLE ACCESS FULL | B26_PROD_GRADE | 1 | 39 | 1
(0)| 00:00:01 |
527 | P a g e
3 - access("COD"."PID"="PR"."PID")
6 - filter("PR"."PRICE">="PRG"."LOPRICE" AND "PR"."PRICE"<="PRG"."HIPRICE")
8 - access("COD"."CID"="CU"."CID")
Note
-----
- dynamic sampling used for this statement (level=2)
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
SQL> EDIT
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
7 rows selected.
SQL> ED
Wrote file afiedt.buf
7 rows selected.
SQL> ED
Wrote file afiedt.buf
SURESH MILK 2 20 4
80
SURESH CURD 3 30 2
60
KRISHNA CURD 3 30 3
90
KRISHNA MILK 2 20 5
100
KRISHNA MILK 2 20 10
200
TEJASREE MILK 2 20 4
80
6 rows selected.
SQL> EDIT
Wrote file afiedt.buf
SQL> SELECT *
2 FROM B26_CUST_ORD_DET;
8 rows selected.
SQL> ED
Wrote file afiedt.buf
9 ,B26_PROD_GRADE PRG
10 ,B26_CUST CU
11 WHERE ( PR.PRICE BETWEEN PRG.LOPRICE AND PRG.HIPRICE OR PR.PRICE NULL)
12 AND COD.PID = PR.PID(+)
13* AND COD.CID = CU.CID
SQL> /
WHERE ( PR.PRICE BETWEEN PRG.LOPRICE AND PRG.HIPRICE OR PR.PRICE NULL)
*
ERROR at line 11:
ORA-00920: invalid relational operator
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SURESH MILK 2 20 4
80
KRISHNA CURD 3 30 3
90
SURESH CURD 3 30 2
60
SURESH 2 100
7 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
11 rows selected.
SQL> ED
535 | P a g e
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
Table dropped.
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> CL SCR
SQL> CL SCR
NAME
VARCHAR2(20)
MOB
NUMBER(10)
SQL> ED
Wrote file afiedt.buf
Table dropped.
SQL> ED
Wrote file afiedt.buf
Table created.
SQL> CL SCR
----------------------------------------------------------------------------------
------------------------------- -------- ------------------------------------------
----------------------------------
ID
NUMBER
1 row created.
SQL> R
1 INSERT INTO B26_T1
2 VALUES
3 (
4 1
5* )
1 row created.
SQL> R
1 INSERT INTO B26_T1
2 VALUES
3 (
4 1
5* )
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> R
1 INSERT INTO B26_T2
2 VALUES
3 (
4 1
5* )
1 row created.
SQL> COMMIT;
539 | P a g e
Commit complete.
SQL> CL SCR
ID
----------
1
1
1
ID
----------
1
1
1 SELECT T1.ID
2 T2.ID
3 FROM B26_T1 T1
4* ,B26_T2 T2
SQL> /
T2.ID
*
ERROR at line 2:
ORA-00923: FROM keyword not found where expected
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 T2.ID
3 FROM B26_T1 T1
4* ,B26_T2 T2
SQL> /
T2.ID
*
ERROR at line 2:
ORA-00923: FROM keyword not found where expected
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4* ,B26_T2 T2
SQL> /
ID ID
---------- ----------
540 | P a g e
1 1
1 1
1 1
1 1
1 1
1 1
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> R
1 INSERT INTO B26_T2
2 VALUES
3 (
4 2
5* )
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
ID
----------
1
1
1
ID
----------
1
1
2
2
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4* ,B26_T2 T2
5 /
ID ID
---------- ----------
541 | P a g e
1 1
1 1
1 1
1 1
1 1
1 1
1 2
1 2
1 2
1 2
1 2
1 2
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5* WHERE T1.ID = T2.ID
SQL> /
ID ID
---------- ----------
1 1
1 1
1 1
1 1
1 1
1 1
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2* FROM DEPT
SQL> /
SQL> ED
Wrote file afiedt.buf
11 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
543 | P a g e
SQL> ED
Wrote file afiedt.buf
7 rows selected.
SQL> ED
Wrote file afiedt.buf
TEJASREE MILK 2 20 4
80
KRISHNA MILK 2 20 10
200
KRISHNA MILK 2 20 5
100
SURESH MILK 2 20 4
80
KRISHNA CURD 3 30 3
90
SURESH CURD 3 30 2
60
SURESH 1 100
SURESH 2 100
SURESH 3 100
SURESH 4 100
SURESH 5 100
11 rows selected.
SQL> ED
Wrote file afiedt.buf
11 rows selected.
545 | P a g e
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> ED
Wrote file afiedt.buf
8 ,B26_PROD PR
9 ,B26_PROD_GRADE PRG
10 ,B26_CUST CU
11 WHERE PR.PRICE BETWEEN PRG.LOPRICE AND PRG.HIPRICE
12 AND COD.PID = PR.PID
13* AND COD.CID = CU.CID
SQL>
SQL> /
6 rows selected.
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
OUTER JOINS
LOJ
547 | P a g e
ROJ
FOJ--
SELF JOINS--
SELF RELATION
-------------------------
PK FK
BUT IN SELF RELATION BOHT PARENT AND CHILD COLUMN WILL BE THERE SAME TABLE
STUDENT
-----------
1 KRISHNA NULL
2 SURESH 1
3 TEJASREE 1
4 HIMANSHU 3
5 ABHISHEK 4
STUDENTNAME WHOREFERED/REFERED
KRISHNA NO ONE
SURESH KRISHNA
TEJASREE KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
SELECT SNAME
,RID AS REFEREDBY
FROM B26_STD_SR
YOU HAVE TO TAKE SAME TABLE TWICE IN FROM CLAUSE WITH DIFFERENT ALIAS NAME
FROM B26_STD_SR A
,B26_STD_SR B
2) TAKE A PRIMARY KEY COLUMN FROM ONE ALIAS AND FOREGIN KEY COLUMN FROM ANOTHE ALIAS
FROM B26_STD_SR A
,B26_STD_SR B
STUDENTNAME--CHILD
REFEREDBY-- PARENT
EMPLOYEENAME--CHILD
MANAGERNAME-- PARENT
LAPTOP ---PARENT
MOUSE --CHILD
BAG --CHILD
4) FROM PRIMARY KEY COLUMN ALIAS TABLE WHATEVER YOU SELECT THAT WILL ACT
AS PARENT DETIALS
FROM FOREIGN KEY COLUMN ALIAS TABLE WHATEVEVE YOU SELECT THAT WILL ACT AS
CHILD DETAILS.
,B.SNAME AS REFEREDBY
FROM B26_STD_SR A
550 | P a g e
,B26_STD_SR B
ANSI JOINS
B26_T1
ID
----------
2 B26_T2
ID
----------
5
551 | P a g e
EMPLOYEENAME MANAGERNAME
--------------- -------------
KING NULL
BLAKE KING
CLARK KING
MILLER CLARK
WRITE A SELECT STATMENT TO GET LIST OF EMPLOYEES WHO ARE EARNING MORE SALARY THAN
THERE MANAGERS
ID
----------
1
2
3
4
1
1
2
552 | P a g e
3
2
9 rows selected.
ID
----------
4
3
2
1
1
1
2
5
8 rows selected.
SQL> CL SCR
ID
----------
1
2
3
4
1
1
2
3
2
9 rows selected.
ID
----------
4
3
2
1
1
1
2
5
8 rows selected.
1 SELECT T1.ID
2 ,T2.ID
553 | P a g e
3 FROM B26_T1 T1
4* ,B26_T2 T2
5 /
ID ID
---------- ----------
1 4
2 4
3 4
4 4
1 4
1 4
2 4
3 4
2 4
1 3
2 3
ID ID
---------- ----------
3 3
4 3
1 3
1 3
2 3
3 3
2 3
1 2
2 2
3 2
4 2
ID ID
---------- ----------
1 2
1 2
2 2
3 2
2 2
1 1
2 1
3 1
4 1
1 1
1 1
ID ID
---------- ----------
2 1
3 1
2 1
1 1
2 1
3 1
4 1
1 1
1 1
2 1
3 1
ID ID
---------- ----------
2 1
1 1
554 | P a g e
2 1
3 1
4 1
1 1
1 1
2 1
3 1
2 1
1 2
ID ID
---------- ----------
2 2
3 2
4 2
1 2
1 2
2 2
3 2
2 2
1 5
2 5
3 5
ID ID
---------- ----------
4 5
1 5
1 5
2 5
3 5
2 5
72 rows selected.
ID ID
---------- ----------
1 4
2 4
3 4
4 4
1 4
1 4
2 4
3 4
2 4
1 3
2 3
3 3
4 3
1 3
1 3
2 3
3 3
2 3
1 2
2 2
555 | P a g e
3 2
4 2
1 2
1 2
2 2
3 2
2 2
1 1
2 1
3 1
4 1
1 1
1 1
2 1
3 1
2 1
1 1
2 1
3 1
4 1
1 1
1 1
2 1
3 1
2 1
1 1
2 1
3 1
4 1
1 1
1 1
2 1
3 1
2 1
1 2
2 2
3 2
4 2
1 2
1 2
2 2
3 2
2 2
1 5
2 5
3 5
4 5
1 5
1 5
2 5
3 5
2 5
72 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5* WHERE T1.ID = T2.ID
SQL>
556 | P a g e
SQL>
SQL> SELECT * FROM B26_T1;
ID
----------
1
2
3
4
1
1
2
3
2
9 rows selected.
ID
----------
4
3
2
1
1
1
2
5
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5* WHERE T1.ID = T2.ID
6 /
ID ID
---------- ----------
1 1
1 1
1 1
2 2
2 2
3 3
4 4
1 1
1 1
1 1
1 1
1 1
1 1
2 2
2 2
3 3
2 2
2 2
18 rows selected.
557 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5 WHERE T1.ID = T2.ID
6* AND T1.ID =1
SQL> /
ID ID
---------- ----------
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
9 rows selected.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5 WHERE T1.ID = T2.ID
6* AND T1.ID =1
SQL>
SQL>
SQL> CL SCR
ID
----------
1
2
3
4
1
1
2
3
2
9 rows selected.
ID
----------
4
3
2
558 | P a g e
1
1
1
2
5
8 rows selected.
SQL> ED
Wrote file afiedt.buf
ID
----------
1
1
1
ID
----------
4
3
2
1
1
1
2
5
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5 WHERE T1.ID = T2.ID
6* AND T1.ID =1
7 /
ID ID
---------- ----------
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
1 1
9 rows selected.
SQL> ED
559 | P a g e
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5* WHERE T1.ID = T2.ID
6 /
ID ID
---------- ----------
1 1
1 1
1 1
2 2
2 2
3 3
4 4
1 1
1 1
1 1
1 1
1 1
1 1
2 2
2 2
3 3
2 2
2 2
18 rows selected.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
ID
----------
1
2
3
4
1
1
2
3
2
9 rows selected.
ID
----------
4
3
2
1
1
1
2
5
560 | P a g e
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5* WHERE T1.ID <> T2.ID
SQL> /
ID ID
---------- ----------
1 4
2 4
3 4
1 4
1 4
2 4
3 4
2 4
1 3
2 3
4 3
1 3
1 3
2 3
2 3
1 2
3 2
4 2
1 2
1 2
3 2
2 1
3 1
4 1
2 1
3 1
2 1
2 1
3 1
4 1
2 1
3 1
2 1
2 1
3 1
4 1
2 1
3 1
2 1
1 2
3 2
4 2
1 2
1 2
3 2
1 5
2 5
3 5
4 5
561 | P a g e
1 5
1 5
2 5
3 5
2 5
54 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5 WHERE T1.ID <> T2.ID
6* AND T1.ID =1
SQL> /
ID ID
---------- ----------
1 4
1 3
1 2
1 2
1 5
1 4
1 3
1 2
1 2
1 5
1 4
1 3
1 2
1 2
1 5
15 rows selected.
SQL> ED
Wrote file afiedt.buf
ID ID
---------- ----------
1 4
1 2
1 3
1 5
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
562 | P a g e
ID ID
---------- ----------
1 4
1 3
1 2
1 2
1 5
1 4
1 3
1 2
1 2
1 5
1 4
1 3
1 2
1 2
1 5
15 rows selected.
SQL> CL SCR
ID
----------
1
2
3
4
1
1
2
3
2
9 rows selected.
ID
----------
4
3
2
1
1
1
2
5
8 rows selected.
ID ID
563 | P a g e
---------- ----------
1 1
1 1
1 1
2 2
2 2
3 3
4 4
1 1
1 1
1 1
1 1
1 1
1 1
2 2
2 2
3 3
2 2
2 2
18 rows selected.
SQL> ED
Wrote file afiedt.buf
T1ID T2ID
---------- ----------
1 1
1 1
1 1
2 2
2 2
3 3
4 4
1 1
1 1
1 1
1 1
1 1
1 1
2 2
2 2
3 3
2 2
2 2
5
19 rows selected.
SQL> ED
Wrote file afiedt.buf
T1ID T2ID
---------- ----------
5
SQL> CL SCR
SQL> SELECT *
2 FROM B26_T1;
ID
----------
1
2
3
4
1
1
2
3
2
9 rows selected.
SQL> SELECT *
2 FROM B26_T2;
ID
----------
4
3
2
1
1
1
2
5
8 rows selected.
SQL> EDI
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5* WHERE T1.ID > T2.ID
SQL> /
ID ID
---------- ----------
2 1
2 1
2 1
3 1
3 1
4 1
2 1
2 1
2 1
3 1
565 | P a g e
3 1
4 1
2 1
2 1
2 1
3 1
3 1
4 1
3 2
3 2
4 2
3 2
3 2
4 2
4 3
25 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
4 ,B26_T2 T2
5* WHERE T1.ID > T2.ID
SQL> /
ID ID
---------- ----------
2 1
2 1
2 1
3 1
3 1
4 1
2 1
2 1
2 1
3 1
3 1
4 1
2 1
2 1
2 1
3 1
3 1
4 1
3 2
3 2
4 2
3 2
3 2
4 2
4 3
25 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT T1.ID
2 ,T2.ID
3 FROM B26_T1 T1
566 | P a g e
4 ,B26_T2 T2
5* WHERE T1.ID = T2.ID
SQL> /
ID ID
---------- ----------
1 1
1 1
1 1
2 2
2 2
3 3
4 4
1 1
1 1
1 1
1 1
1 1
1 1
2 2
2 2
3 3
2 2
2 2
18 rows selected.
SQL> CL SCR
Table created.
1 row created.
SQL> ED
Wrote file afiedt.buf
567 | P a g e
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM B26_STD_SR;
SQL> SELECT *
2 FROM B26_STD_SR;
no rows selected
SQL> EDIT
Wrote file afiedt.buf
1 SELECT SNAME
2 ,RID AS REFEREDBY
3 FROM B26_STD_SR
4* WHERE RID = SID
SQL>
SQL>
SQL> INSERT INTO B26_STD_SR
2 VALUES
3 (
4 6
5 ,'ARJUN'
6 ,6
7 );
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
569 | P a g e
2 FROM B26_STD_SR;
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT SNAME
2 ,RID AS REFEREDBY
3 FROM B26_STD_SR
4* WHERE RID = SID
SQL> /
SNAME REFEREDBY
-------------------- ----------
ARJUN 6
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
STUDENTNAME REFEREDBY
-------------------- --------------------
TEJASREE KRISHNA
SURESH KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
ARJUN ARJUN
570 | P a g e
SQL> ED
Wrote file afiedt.buf
STUDENTNAME REFEREDBY
-------------------- --------------------
TEJASREE KRISHNA
SURESH KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
ARJUN ARJUN
KRISHNA
6 rows selected.
SQL> ED
Wrote file afiedt.buf
STUDENTNAME REFEREDBY
-------------------- --------------------
TEJASREE KRISHNA
SURESH KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
ARJUN ARJUN
KRISHNA NO ONE
6 rows selected.
SQL> CL SCR
SQL> SELECT *
2 FROM B26_STD_SR;
6 rows selected.
SQL> CL SCR
SQL>
SQL>
SQL> ED
571 | P a g e
STUDENAME REFEREDBY
-------------------- --------------------
TEJASREE KRISHNA
SURESH KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
ARJUN ARJUN
SQL> EDIT
Wrote file afiedt.buf
1 row deleted.
SQL> COMMIT;
Commit complete.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
STUDENAME REFEREDBY
-------------------- --------------------
TEJASREE KRISHNA
SURESH KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
SQL> ED
572 | P a g e
REFEREDBY
--------------------
KRISHNA
KRISHNA
TEJASREE
HIMANSHU
SQL> ED
Wrote file afiedt.buf
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
TEJASREE 1
HIMANSHU 1
SQL> ED
Wrote file afiedt.buf
REFEREDBY TOTCNT
-------------------- ----------
1
KRISHNA 2
TEJASREE 1
HIMANSHU 1
SQL> ED
Wrote file afiedt.buf
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
573 | P a g e
TEJASREE 1
HIMANSHU 1
ABHISHEK 1
SURESH 1
SQL> ED
Wrote file afiedt.buf
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
TEJASREE 1
HIMANSHU 1
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
TEJASREE 1
HIMANSHU 1
SQL> ED
Wrote file afiedt.buf
STUDENTNAME REFEREDBY
-------------------- --------------------
TEJASREE KRISHNA
SURESH KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
SQL> ED
Wrote file afiedt.buf
3 FROM B26_STD_SR A
4 ,B26_sTD_SR B
5* WHERE A.RID(+) = B.SID
SQL> /
STUDENTNAME REFEREDBY
-------------------- --------------------
SURESH KRISHNA
TEJASREE KRISHNA
HIMANSHU TEJASREE
ABHISHEK HIMANSHU
ABHISHEK
SURESH
6 rows selected.
SQL> ED
Wrote file afiedt.buf
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
TEJASREE 1
HIMANSHU 1
ABHISHEK 1
SURESH 1
SQL>
SQL> /
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
TEJASREE 1
HIMANSHU 1
ABHISHEK 1
SURESH 1
SQL> ED
Wrote file afiedt.buf
SQL> /
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
TEJASREE 1
HIMANSHU 1
ABHISHEK 0
SURESH 0
SQL> ED
Wrote file afiedt.buf
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
SQL> CL SCR
SQL> R
1 SELECT B.SNAME AS REFEREDBY
2 ,COUNT(A.SNAME) AS TOTCNT
3 FROM B26_STD_SR A
4 ,B26_sTD_SR B
5 WHERE A.RID(+) = B.SID
6 GROUP BY B.SNAME
7* HAVING COUNT(A.SNAME ) > 1
REFEREDBY TOTCNT
-------------------- ----------
KRISHNA 2
SQL> CL SCR
7839 KING
7698 BLAKE 7839
7782 CLARK 7839
7566 JONES 7839
7788 SCOTT 7566
7902 FORD 7566
7369 SMITH 7902
7499 ALLEN 7698
7521 WARD 7698
7654 MARTIN 7698
7844 TURNER 7698
7876 ADAMS 7788
7900 JAMES 7698
7934 MILLER 7782
14 rows selected.
SQL> ED
Wrote file afiedt.buf
EMPLOYEENAME MANAGERNAME
------------------------------ ------------------------------
JONES KING
CLARK KING
BLAKE KING
JAMES BLAKE
TURNER BLAKE
MARTIN BLAKE
WARD BLAKE
ALLEN BLAKE
MILLER CLARK
FORD JONES
SCOTT JONES
ADAMS SCOTT
SMITH FORD
13 rows selected.
SQL> ED
Wrote file afiedt.buf
EMPLOYEENAME MANAGERNAME
------------------------------ ------------------------------
JONES KING
CLARK KING
BLAKE KING
JAMES BLAKE
TURNER BLAKE
MARTIN BLAKE
WARD BLAKE
577 | P a g e
ALLEN BLAKE
MILLER CLARK
FORD JONES
SCOTT JONES
ADAMS SCOTT
SMITH FORD
KING
14 rows selected.
SQL> ED
Wrote file afiedt.buf
EMPLOYEENAME MANAGERNAME
------------------------------ ------------------------------
JONES KING
CLARK KING
BLAKE KING
JAMES BLAKE
TURNER BLAKE
MARTIN BLAKE
WARD BLAKE
ALLEN BLAKE
MILLER CLARK
FORD JONES
SCOTT JONES
ADAMS SCOTT
SMITH FORD
KING NO MANAGER
14 rows selected.
SQL> ED
Wrote file afiedt.buf
SQL> ED
Wrote file afiedt.buf
SQL> /
MANAGERNAME TOTCNT
------------------------------ ----------
JONES 2
FORD 1
CLARK 1
SCOTT 1
NO MANAGER 1
KING 3
BLAKE 5
7 rows selected.
SQL> EDIT
Wrote file afiedt.buf
MANAGERNAME TOTCNT
------------------------------ ----------
BLAKE 5
KING 3
JONES 2
NO MANAGER 1
CLARK 1
FORD 1
SCOTT 1
7 rows selected.
SQL> ED
Wrote file afiedt.buf
MANAGERNAME TOTCNT
------------------------------ ----------
BLAKE 5
KING 3
JONES 2
SQL> CL SCR
SQL> R
1 SELECT NVL(E2.ENAME,'NO MANAGER') AS MANAGERNAME
2 ,COUNT(E1.ENAME ) AS TOTCNT
3 FROM EMP E1
4 ,EMP E2
579 | P a g e
MANAGERNAME TOTCNT
------------------------------ ----------
BLAKE 5
KING 3
JONES 2
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT EMPNO,ENAME,SAL,MGR
2* FROM EMP
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT EMPNO,ENAME,SAL,MGR
2* FROM EMP
580 | P a g e
14 rows selected.
SQL> EDI
Wrote file afiedt.buf
13 rows selected.
581 | P a g e
SQL> ED
Wrote file afiedt.buf
SQL> CL SCR
SQL> R
1 SELECT E1.ENAME EMPLOYEENAME
2 ,E1.SAL EMPLOYEESALARY
3 ,E2.ENAME MANAGERNAME
4 ,E2.SAL MANAGERSALARY
5 FROM EMP E1
6 ,EMP E2
7 WHERE E1.MGR = E2.EMPNO
8* AND E1.SAL > E2.SAL
SQL> CL SCR
CLARK 2450 10
JONES 2975 20
SCOTT 4791.6 20
FORD 3600 20
SMITH 800 20
ALLEN 1600 30
WARD 1250 30
MARTIN 1250 30
TURNER 1500 30
ADAMS 1100 20
JAMES 950 30
MILLER 1300 10
14 rows selected.
56 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DNAME,LOC
2 FROM EMP
3* CROSS JOIN DEPT
SQL> /
56 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DNAME,LOC
2 FROM EMP
3* CROSS JOIN DEPT
SQL> /
56 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DNAME,LOC
2 FROM EMP E
3 ,DEPT D
4* WHERE E.DEPTNO = D.DEPTNO
SQL> /
14 rows selected.
SQL> CL SCR
586 | P a g e
SQL> R
1 SELECT ENAME,SAL,DNAME,LOC
2 FROM EMP E
3 ,DEPT D
4* WHERE E.DEPTNO = D.DEPTNO
14 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 ,DEPT D
8* WHERE E.DEPTNO = D.DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
587 | P a g e
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 JOIN DEPT D
8* ON E.DEPTNO = D.DEPTNO
SQL> /
14 rows selected.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
SQL> EIDT
SP2-0042: unknown command "EIDT" - rest of line ignored.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 JOIN DEPT D
8* ON E.DEPTNO = D.DEPTNO
SQL>
SQL>
SQL> CL SCR
JAMES 950 30
MILLER 1300 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 JOIN DEPT D
8* ON E.DEPTNO = D.DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 , DEPT D
8* WHERE E.DEPTNO(+) = D.DEPTNO
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 RIGHT OUTER JOIN DEPT D
8* WHERE E.DEPTNO = D.DEPTNO
SQL> \/
SP2-0042: unknown command "\/" - rest of line ignored.
SQL> /
WHERE E.DEPTNO = D.DEPTNO
*
ERROR at line 8:
ORA-00905: missing keyword
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 RIGHT OUTER JOIN DEPT D
8* ON E.DEPTNO = D.DEPTNO
SQL> /
OPERATIONS BOSTON
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 RIGHT OUTER JOIN DEPT D
8* ON D.DEPTNO = E.DEPTNO
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E RIGHT OUTER JOIN DEPT D
7* ON D.DEPTNO = E.DEPTNO
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E LEFT OUTER JOIN DEPT D
7* ON D.DEPTNO = E.DEPTNO
SQL> /
14 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E LEFT OUTER JOIN DEPT D
7* ON D.DEPTNO = E.DEPTNO
SQL>
SQL>
SQL> UPDATE EMP
2 SET DEPTNO =11
3 WHERE DEPTNO =10
4 AND ROWNUM=2;
0 rows updated.
SQL> ED
Wrote file afiedt.buf
1 UPDATE EMP
2 SET DEPTNO =11
3 WHERE DEPTNO =10
4* AND ROWNUM<=2
SQL> /
592 | P a g e
2 rows updated.
SQL> COMMIT;
Commit complete.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
14 rows selected.
SQL> SELECT *
2 FROM DEPT;
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E JOIN DEPT D
7* ON D.DEPTNO = E.DEPTNO
SQL> /
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 ,DEPT D
8* WHERE D.DEPTNO = E.DEPTNO
SQL> /
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 ,DEPT D
8* WHERE D.DEPTNO(+) = E.DEPTNO
SQL> /
CLARK 2450 11
KING 845 11
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 ,DEPT D
8* WHERE D.DEPTNO(+) = E.DEPTNO(+)
SQL> /
WHERE D.DEPTNO(+) = E.DEPTNO(+)
*
ERROR at line 8:
ORA-01468: a predicate may reference only one outer-joined table
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 JOIN DEPT D
8* ON D.DEPTNO = E.DEPTNO
SQL> /
12 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 LEFT OUTER JOIN DEPT D
8* ON D.DEPTNO = E.DEPTNO
595 | P a g e
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 RIGHT OUTER JOIN DEPT D
8* ON D.DEPTNO = E.DEPTNO
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 FULL OUTER JOIN DEPT D
8* ON D.DEPTNO = E.DEPTNO
SQL> /
596 | P a g e
15 rows selected.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,DNAME
5 ,LOC
6 FROM EMP E
7 FULL OUTER JOIN DEPT D
8* ON D.DEPTNO = E.DEPTNO
SQL>
SQL> /
15 rows selected.
SUBQUERIES
-----------------------
WHAT IS SUBQUERY ?
TYPES OF SUBQUERIES
------------------
A SQ IN WHERE CLAUSE
INLINE VIEW
SUB SELECT
NOTE: SUB SELECT SHOULD RETURN ONLY ONE ROW AND ONE COLUMN AS OUTPUT
IN
ANY
>ANY--> >MIN
=ANY
ALL
=ALL
HOW MANY VALUES ARE THERE IN THE LIST EACH VALUE SHOULD BE SAME
I.E. ON EMPLOYEE SALARY SHOULD BE SAME AS ALL LIST OF SALARY DETAILS WHICH
NOTE: YOU CAN AVOID USING THIS ANY AND ALL IF YOU CONVERT MULTI ROW SUBQURIES INTO SINGLE ROW
SUBQUERIES BY USING AGGR FUNCTIONS
NORMAL SUBQUEIRES
CORELATED SUBQUERIES
3) innerquery will execute and it will send TRUE/FALSE TO the outer query
Whnever same kind of data comes it will not execute inner query again and again instead it will give you value from
CACHE
-- 5O MINS-- 70
600 | P a g e
SE T OPERAORS --
SEQUENCES
OLAP FUNCTIONS
*********************************************************************************************
IN -- EXISTS
SELECT */COLUMNS
FROM TABLENAME O
WHERE EXISTS/NOT EXISTS ( SELECT SOMETHING-- SOMETHING CAN BE ANYTHING IT IS UPTO YOU
FROM TAABLENAME I
EXISTS -- 1 Y
T1
---
T2
SEQUENCES--1
SET OPER-30
VIEWS--1
MVIEWS
OLAP--2
DDL
602 | P a g e
DML
DCL--2 2.30
SURENDARKUMAR 3000
603 | P a g e
VENU 4000 10 5
BAGYA 4700 10 5
VENU 5000
RAJ 8000
KING 6050 10 5
BLAKE 4275 30
CLARK 3675 10 5
SCOTT 3300 20 5
FORD 3300 20 5
SMITH 1200 20
ALLEN 2400 30
WARD 1400 30
MARTIN 1875 30
ADAMS 1650 20
JAMES 1425 30
JONES 4462.5 20
BALU 3000 10 5
SURENDARKUMAR 3000
deptno totcnt
10
20
30
5 5 5 3
18 5 7
TABLENAME ROWCNT
EMP 18
DEPT 5
SALGRADE 7
INDRA 3000 15
INDRA 2200 15
SAI 7000 15
CLARK 5675 15
SCOTT 3300 15
FORD 3300 15
SMITH 1200 15
WARD 1400 15
MARTIN 1200 15
605 | P a g e
ADAMS 1650 15
JAMES 1425 15
SCOTT 3300 20 9
FORD 3300 20 9
SMITH 1200 20 9
SAI 7000 20 9
INDRA 2200 20 9
JONES 3000 20 9
KHAJA 2000 20 9
MAJULA 2500 20 9
ADAMS 1650 20 9
..
607 | P a g e
IN JOINS
IN EQUI JOIN WE WILL USE = OPERATOR IF YOU ARE USING < > <> BE CAREFUL ON HOW IT WILL EXECUTE RESULTS...
ENAME
----------
SURYA
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (
2 SELECT ENAME
3 FROM EMP
4* )
5 /
ENAME
----------
SURYA
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
14 rows selected.
SQL> CL SCR
2 ,SAL
3 FROM EMP;
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE ENAME ='ALLEN'
SQL> /
ENAME SAL
---------- ----------
ALLEN 1600
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE ENAME ='allen'
SQL> /
no rows selected
SQL> ed
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE ENAME ='ALLEN'
SQL> /
ENAME SAL
---------- ----------
ALLEN 1600
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
609 | P a g e
3 FROM EMP
4* WHERE ENAME ='ALLEN'
ENAME SAL
---------- ----------
ALLEN 1600
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3* FROM EMP
4 /
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3* FROM EMP
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> SELECT *
2 FROM EMP
3 WHERE SAL > SELECT SAL FROM EMP WHERE ENAME ='ALLEN';
WHERE SAL > SELECT SAL FROM EMP WHERE ENAME ='ALLEN'
610 | P a g e
*
ERROR at line 3:
ORA-00936: missing expression
SQL> CL SCR
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SAL
----------
1600
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL > SELECT SAL
5 FROM EMP
6* WHERE ENAME ='ALLEN'
SQL> /
611 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL >( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7* )
SQL> /
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 ( SELECT SAL
2 FROM EMP
3 WHERE ENAME ='ALLEN'
4* )
SQL> C
SP2-0025: Invalid change string.
SQL> /
SAL
----------
1600
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL >( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7* )
SQL> /
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
612 | P a g e
6 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL >( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7* )
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL <( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7* )
SQL> /
ENAME SAL
---------- ----------
SMITH 800
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL NOT >( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7* )
SQL> /
WHERE SAL NOT >( SELECT SAL
*
ERROR at line 4:
ORA-00920: invalid relational operator
613 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL < ( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7* )
SQL> /
ENAME SAL
---------- ----------
SMITH 800
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL < ( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7 )
8* ORDER BY SAL DESC
SQL> /
ENAME SAL
---------- ----------
TURNER 1500
MILLER 1300
WARD 1250
MARTIN 1250
ADAMS 1100
JAMES 950
SMITH 800
7 rows selected.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL < ( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7 )
8* ORDER BY SAL DESC
614 | P a g e
SQL>
SQL> /
ENAME SAL
---------- ----------
TURNER 1500
MILLER 1300
WARD 1250
MARTIN 1250
ADAMS 1100
JAMES 950
SMITH 800
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL < ( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7 )
8 ORDER BY SAL DESC
9* ,ENAME ASC
SQL> /
ENAME SAL
---------- ----------
TURNER 1500
MILLER 1300
MARTIN 1250
WARD 1250
ADAMS 1100
JAMES 950
SMITH 800
7 rows selected.
SQL> /ED
SP2-0042: unknown command "/ED" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL < ( SELECT SAL
5 FROM EMP
6 WHERE ENAME ='ALLEN'
7 )
8 ORDER BY SAL DESC
9* ,ENAME ASC
SQL>
SQL>
SQL> CL SCR
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
616 | P a g e
1 SELECT MAX(SAL)
2* FROM EMP
SQL> /
MAX(SAL)
----------
4791.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE SAL = 4791.6
SQL> /
ENAME SAL
---------- ----------
SCOTT 4791.6
SQL> ED
Wrote file afiedt.buf
ENAME SAL
---------- ----------
SCOTT 4791.6
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE SAL = 4791.6
SQL> /
ENAME SAL
---------- ----------
SCOTT 4791.6
617 | P a g e
MAX(SAL)
----------
50000
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE SAL = 5000
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4* WHERE SAL = 50000
SQL> /
ENAME SAL
---------- ----------
ARJUN 50000
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL = (SELECT MAX(SAL)
5 FROM EMP
6* )
SQL> /
ENAME SAL
---------- ----------
ARJUN 50000
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL = (SELECT MAX(SAL)
5 FROM EMP
6* )
SQL>
SQL> /
ENAME SAL
---------- ----------
618 | P a g e
ARJUN 50000
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL = (SELECT MAX(SAL)
5 FROM EMP
6* )
ENAME SAL
---------- ----------
ARJUN 50000
SQL> ED
Wrote file afiedt.buf
1 (SELECT AVG(SAL)
2 FROM EMP
3* )
SQL> /
AVG(SAL)
----------
5227.77333
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL > (SELECT AVG(SAL)
5 FROM EMP
6* )
SQL> /
ENAME SAL
---------- ----------
ARJUN 50000
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT AVG(sAL)
2* FROM EMP
SQL> /
AVG(SAL)
619 | P a g e
----------
2227.77333
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL > (SELECT AVG(sAL)
5 FROM EMP
6* )
SQL> /
ENAME SAL
---------- ----------
ARJUN 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL < (SELECT AVG(sAL)
5 FROM EMP
6* )
SQL> /
ENAME SAL
---------- ----------
SURYA 2000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
9 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL < (SELECT AVG(sAL)
5 FROM EMP
6* )
SQL>
SQL> /
ENAME SAL
---------- ----------
620 | P a g e
SURYA 2000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
9 rows selected.
SQL> CL SCR
ENAME SAL
---------- ----------
SURYA 2000
ARJUN 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
15 rows selected.
MAX(SAL)
----------
5000
SQL> ED
Wrote file afiedt.buf
1 ( SELECT MAX(SAL)
2 FROM EMP
3* )
SQL> /
MAX(SAL)
----------
5000
SQL> ED
Wrote file afiedt.buf
1 SELECT SAL
2 FROM EMP
3 WHERE SAL < ( SELECT MAX(SAL)
4 FROM EMP
621 | P a g e
5* )
SQL> /
SAL
----------
2000
2850
2450
2975
4791.6
3600
800
1600
1250
1250
1500
1100
950
1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT MAX(SAL)
2 FROM EMP
3 WHERE SAL < ( SELECT MAX(SAL)
4 FROM EMP
5* )
SQL> /
MAX(SAL)
----------
4791.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,MAX(SAL)
2 FROM EMP
3 WHERE SAL < ( SELECT MAX(SAL)
4 FROM EMP
5 )
6* GROUP BY ENAME
SQL> /
ENAME MAX(SAL)
---------- ----------
SURYA 2000
JONES 2975
ALLEN 1600
FORD 3600
CLARK 2450
MILLER 1300
SMITH 800
WARD 1250
SCOTT 4791.6
MARTIN 1250
TURNER 1500
ADAMS 1100
BLAKE 2850
JAMES 950
622 | P a g e
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME,MAX(SAL)
2 FROM EMP
3 WHERE SAL < ( SELECT MAX(SAL)
4 FROM EMP
5 )
6* GROUP BY ENAME
ENAME MAX(SAL)
---------- ----------
SURYA 2000
JONES 2975
ALLEN 1600
FORD 3600
CLARK 2450
MILLER 1300
SMITH 800
WARD 1250
SCOTT 4791.6
MARTIN 1250
TURNER 1500
ADAMS 1100
BLAKE 2850
JAMES 950
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,MAX(SAL)
2 FROM EMP
3 WHERE SAL <( SELECT MAX(SAL)
4 FROM EMP
5 )
6* GROUP BY ENAME
SQL> /
ENAME MAX(SAL)
---------- ----------
SURYA 2000
JONES 2975
ALLEN 1600
FORD 3600
CLARK 2450
MILLER 1300
SMITH 800
WARD 1250
SCOTT 4791.6
MARTIN 1250
TURNER 1500
ADAMS 1100
BLAKE 2850
JAMES 950
14 rows selected.
SQL> ED
Wrote file afiedt.buf
623 | P a g e
1 SELECT MAX(SAL
2 FROM EMP
3 WHERE SAL <( SELECT MAX(SAL)
4 FROM EMP
5* )
6 /
FROM EMP
*
ERROR at line 2:
ORA-00907: missing right parenthesis
SQL> ED
Wrote file afiedt.buf
1 SELECT MAX(SAL)
2 FROM EMP
3 WHERE SAL <( SELECT MAX(SAL)
4 FROM EMP
5* )
SQL> /
MAX(SAL)
----------
4791.6
SQL> ED
Wrote file afiedt.buf
1 SELECT MAX(SAL)
2 FROM EMP
3 WHERE SAL <( SELECT MAX(SAL)
4 FROM EMP
5* )
SQL>
SQL>
SQL>
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
SQL> R
1 SELECT MAX(SAL)
2 FROM EMP
3 WHERE SAL <( SELECT MAX(SAL)
4 FROM EMP
5* )
MAX(SAL)
----------
4791.6
ENAME SAL
---------- ----------
SCOTT 4791.6
SQL> ED
Wrote file afiedt.buf
624 | P a g e
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL =(SELECT MAX(SAL)
5 FROM EMP
6 WHERE SAL <( SELECT MAX(SAL)
7 FROM EMP
8 )
9* )
10 /
ENAME SAL
---------- ----------
SCOTT 4791.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL =(SELECT MAX(SAL)
5 FROM EMP
6 WHERE SAL <( SELECT MAX(SAL)
7 FROM EMP
8 WHERE SAL < ( SELECT MAX(SAL)
9 FROM EMP
10 )
11 )
12* )
SQL> /
ENAME SAL
---------- ----------
FORD 3600
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL =(SELECT MAX(SAL)
5 FROM EMP
6 WHERE SAL <( SELECT MAX(SAL)
7 FROM EMP
8 WHERE SAL < ( SELECT MAX(SAL)
9 FROM EMP
10 )
11 )
12* )
SQL>
SQL> /
ENAME SAL
---------- ----------
FORD 3600
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
625 | P a g e
2 ,SAL
3 FROM EMP
4 WHERE SAL =(SELECT MAX(SAL)
5 FROM EMP
6 )
7 UNION
8 SELECT ENAME
9 ,SAL
10 FROM EMP
11 WHERE SAL =(SELECT MAX(SAL)
12 FROM EMP
13 WHERE SAL <( SELECT MAX(SAL)
14 FROM EMP
15 )
16 )
17 UNION
18 SELECT ENAME
19 ,SAL
20 FROM EMP
21 WHERE SAL =(SELECT MAX(SAL)
22 FROM EMP
23 WHERE SAL <( SELECT MAX(SAL)
24 FROM EMP
25 WHERE SAL < ( SELECT MAX(SAL)
26 FROM EMP
27 )
28 )
29* )
30 /
ENAME SAL
---------- ----------
ARJUN 5000
FORD 3600
SCOTT 4791.6
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL =(SELECT MAX(SAL)
5 FROM EMP
6 )
7 UNION
8 SELECT ENAME
9 ,SAL
10 FROM EMP
11 WHERE SAL =(SELECT MAX(SAL)
12 FROM EMP
13 WHERE SAL <( SELECT MAX(SAL)
14 FROM EMP
15 )
16 )
17 UNION
18 SELECT ENAME
19 ,SAL
20 FROM EMP
21 WHERE SAL =(SELECT MAX(SAL)
22 FROM EMP
23 WHERE SAL <( SELECT MAX(SAL)
24 FROM EMP
25 WHERE SAL < ( SELECT MAX(SAL)
626 | P a g e
26 FROM EMP
27 )
28 )
29* )
ENAME SAL
---------- ----------
ARJUN 5000
FORD 3600
SCOTT 4791.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL =(SELECT MAX(SAL)
5 FROM EMP
6 )
7 UNION
8 SELECT ENAME
9 ,SAL
10 FROM EMP
11 WHERE SAL =(SELECT MAX(SAL)
12 FROM EMP
13 WHERE SAL <( SELECT MAX(SAL)
14 FROM EMP
15 )
16 )
17 UNION
18 SELECT ENAME
19 ,SAL
20 FROM EMP
21 WHERE SAL =(SELECT MAX(SAL)
22 FROM EMP
23 WHERE SAL <( SELECT MAX(SAL)
24 FROM EMP
25 WHERE SAL < ( SELECT MAX(SAL)
26 FROM EMP
27 )
28 )
29 )
30 UNION
31 SELECT ENAME
32 ,SAL
33 FROM EMP
34 WHERE SAL =(SELECT MAX(SAL)
35 FROM EMP
36 WHERE SAL <( SELECT MAX(SAL)
37 FROM EMP
38 WHERE SAL < ( SELECT MAX(SAL)
39 FROM EMP
40 WHERE SAL < ( SELECT MAX(SAL)
FROM EMP)
41 )
42 )
43* )
SQL> /
ENAME SAL
---------- ----------
ARJUN 5000
FORD 3600
627 | P a g e
JONES 2975
SCOTT 4791.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 FROM EMP
4 WHERE SAL =(SELECT MAX(SAL)
5 FROM EMP
6 )
7 UNION
8 SELECT ENAME
9 ,SAL
10 FROM EMP
11 WHERE SAL =(SELECT MAX(SAL)
12 FROM EMP
13 WHERE SAL <( SELECT MAX(SAL)
14 FROM EMP
15 )
16 )
17 UNION
18 SELECT ENAME
19 ,SAL
20 FROM EMP
21 WHERE SAL =(SELECT MAX(SAL)
22 FROM EMP
23 WHERE SAL <( SELECT MAX(SAL)
24 FROM EMP
25 WHERE SAL < ( SELECT MAX(SAL)
26 FROM EMP
27 )
28 )
29 )
30 UNION
31 SELECT ENAME
32 ,SAL
33 FROM EMP
34 WHERE SAL =(SELECT MAX(SAL)
35 FROM EMP
36 WHERE SAL <( SELECT MAX(SAL)
37 FROM EMP
38 WHERE SAL < ( SELECT MAX(SAL)
39 FROM EMP
40 WHERE SAL < ( SELECT MAX(SAL)
FROM EMP)
41 )
42 )
43 )
44* ORDER BY 2 DESC
SQL> /
ENAME SAL
---------- ----------
ARJUN 5000
SCOTT 4791.6
FORD 3600
JONES 2975
SQL> CL SCR
3 ,DEPTNO
4 FROM EMP;
15 rows selected.
41 )
42 )
43 )
44 /
ENAME SAL
---------- ----------
ARJUN 5000
FORD 3600
JONES 2975
SCOTT 4791.6
ENAME SAL
---------- ----------
ARJUN 5000
FORD 3600
JONES 2975
SCOTT 4791.6
630 | P a g e
SQL> CL SCR
DEPTNO COUNT(1)
---------- ----------
2
30 6
11 1
20 5
10 1
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 FROM EMP
3* GROUP BY DEPTNO
SQL> /
COUNT(1)
----------
2
6
1
5
1
SQL> ED
Wrote file afiedt.buf
1 SELECT MAX(COUNT(1))
2 FROM EMP
3* GROUP BY DEPTNO
SQL> /
MAX(COUNT(1))
-------------
6
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO COUNT(1)
---------- ----------
2
30 6
11 1
20 5
10 1
SQL> ED
Wrote file afiedt.buf
631 | P a g e
1 SELECT DEPTNO
2 ,1
3* FROM EMP
SQL> /
DEPTNO 1
---------- ----------
1
1
30 1
11 1
20 1
20 1
20 1
20 1
30 1
30 1
30 1
30 1
20 1
30 1
10 1
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO COUNT(1)
---------- ----------
2
30 6
11 1
20 5
10 1
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,MAX(COUNT(1))
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
SELECT DEPTNO
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,MAX(COUNT(1))
3 FROM EMP
4* GROUP BY DEPTNO,MAX(COUNT(1))
SQL> /
632 | P a g e
GROUP BY DEPTNO,MAX(COUNT(1))
*
ERROR at line 4:
ORA-00934: group function is not allowed here
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO COUNT(1)
---------- ----------
2
30 6
11 1
20 5
10 1
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 FROM EMP
3* GROUP BY DEPTNO
SQL> /
COUNT(1)
----------
2
6
1
5
1
SQL> ED
Wrote file afiedt.buf
1 SELECT MAX(COUNT(1))
2 FROM EMP
3* GROUP BY DEPTNO
SQL> /
MAX(COUNT(1))
-------------
6
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO COUNT(1)
---------- ----------
2
30 6
633 | P a g e
11 1
20 5
10 1
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5* HAVING COUNT(1) = 6
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5 HAVING COUNT(1) =(SELECT MAX(COUNT(1))
6 FROM EMP
7 GROUP BY DEPTNO
8 )
9* /
10 /
/
*
ERROR at line 9:
ORA-00936: missing expression
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5 HAVING COUNT(1) =(SELECT MAX(COUNT(1))
6 FROM EMP
7 GROUP BY DEPTNO
8* )
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 FROM EMP
3 GROUP BY DEPTNO
4 HAVING COUNT(1) =(SELECT MAX(COUNT(1))
5 FROM EMP
6 GROUP BY DEPTNO
7* )
634 | P a g e
SQL> /
DEPTNO
----------
30
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5 HAVING COUNT(1) =(SELECT MAX(COUNT(1))
6 FROM EMP
7 GROUP BY DEPTNO
8* )
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 FROM EMP
3 GROUP BY DEPTNO
4 HAVING COUNT(1) =(SELECT MAX(COUNT(1))
5 FROM EMP
6 GROUP BY DEPTNO
7* )
8 /
DEPTNO
----------
30
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO = (SELECT DEPTNO
6 FROM EMP
7 GROUP BY DEPTNO
8 HAVING COUNT(1) =(SELECT MAX(COUNT(1))
9 FROM EMP
10 GROUP BY DEPTNO
11 )
12* )
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO = (SELECT DEPTNO
6 FROM EMP
7 GROUP BY DEPTNO
8 HAVING COUNT(1) =(SELECT MIN(COUNT(1))
9 FROM EMP
10 GROUP BY DEPTNO
11 )
12* )
SQL> /
WHERE DEPTNO = (SELECT DEPTNO
*
ERROR at line 5:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT MIN(COUNT(1))
2 FROM EMP
3* GROU BY DEPTNO
SQL> /
GROU BY DEPTNO
*
ERROR at line 3:
ORA-00933: SQL command not properly ended
SQL> ED
Wrote file afiedt.buf
1 SELECT MIN(COUNT(1))
2 FROM EMP
3* GROUP BY DEPTNO
SQL> /
MIN(COUNT(1))
-------------
1
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5 HAVING COUNT(1) = (
6 SELECT MIN(COUNT(1))
7 FROM EMP
8 GROUP BY DEPTNO
9* )
SQL> /
636 | P a g e
DEPTNO COUNT(1)
---------- ----------
11 1
10 1
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO = (
6 SELECT DEPTNO
7 ,COUNT(1)
8 FROM EMP
9 GROUP BY DEPTNO
10 HAVING COUNT(1) = (
11 SELECT MIN(COUNT(1))
12 FROM EMP
13 GROUP BY DEPTNO
14 )
15* )
SQL> /
SELECT DEPTNO
*
ERROR at line 6:
ORA-00913: too many values
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO = (
6 SELECT DEPTNO
7 FROM EMP
8 GROUP BY DEPTNO
9 HAVING COUNT(1) = (
10 SELECT MIN(COUNT(1))
11 FROM EMP
12 GROUP BY DEPTNO
13 )
14* )
SQL> /
SELECT DEPTNO
*
ERROR at line 6:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO IN (
6 SELECT DEPTNO
7 FROM EMP
637 | P a g e
8 GROUP BY DEPTNO
9 HAVING COUNT(1) = (
10 SELECT MIN(COUNT(1))
11 FROM EMP
12 GROUP BY DEPTNO
13 )
14* )
SQL> /
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO = (SELECT DEPTNO
6 FROM EMP
7 GROUP BY DEPTNO
8 HAVING COUNT(1) =(SELECT MIN(COUNT(1))
9 FROM EMP
10 GROUP BY DEPTNO
11 )
12* )
SQL> ED
Wrote file afiedt.buf
1 (SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 GROUP BY DEPTNO
4 HAVING COUNT(1) =(SELECT MIN(COUNT(1))
5 FROM EMP
6 GROUP BY DEPTNO
7 )
8* )
SQL> /
(SELECT ENAME,SAL,DEPTNO
*
ERROR at line 1:
ORA-00979: not a GROUP BY expression
SQL> ED
Wrote file afiedt.buf
1 (SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 GROUP BY DEPTNO,ENAME,SAL
4 HAVING COUNT(1) =(SELECT MIN(COUNT(1))
5 FROM EMP
6 GROUP BY DEPTNO
7 )
8* )
SQL> /
JAMES 950 30
MILLER 1300 10
ARJUN 5000
SMITH 800 20
ALLEN 1600 30
SCOTT 4791.6 20
FORD 3600 20
SURYA 2000
WARD 1250 30
MARTIN 1250 30
TURNER 1500 30
ADAMS 1100 20
BLAKE 2850 30
CLARK 2450 11
JONES 2975 20
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 GROUP BY DEPTNO,ENAME,SAL
4 HAVING COUNT(1) =(SELECT MIN(COUNT(1))
5 FROM EMP
6 GROUP BY DEPTNO
7 )
8* )
SQL>
SQL> /
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 GROUP BY DEPTNO,ENAME,SAL
4 HAVING COUNT(1) =(SELECT MIN(COUNT(1))
5 FROM EMP
6 GROUP BY DEPTNO
7 )
8* )
SQL>
639 | P a g e
SQL> CL SCR
15 rows selected.
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO COUNT(1)
---------- ----------
2
30 6
11 1
20 5
10 1
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 WHERE COUNT(1) > 3
5* GROUP BY DEPTNO
SQL> /
WHERE COUNT(1) > 3
*
ERROR at line 4:
640 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5* HAVING COUNT(1) > 3
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
20 5
SQL> CL SCR
SQL> R
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5* HAVING COUNT(1) > 3
DEPTNO COUNT(1)
---------- ----------
30 6
20 5
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4* WHERE COUNT(1) > 3
SQL> /
WHERE COUNT(1) > 3
*
ERROR at line 4:
ORA-00934: group function is not allowed here
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4* HAVING COUNT(1) > 3
SQL> /
SELECT DEPTNO
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
641 | P a g e
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5* HAVING COUNT(1) > 3
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
20 5
SQL> CL SCR
SQL> R
1 SELECT DEPTNO
2 ,COUNT(1)
3 FROM EMP
4 GROUP BY DEPTNO
5* HAVING COUNT(1) > 3
DEPTNO COUNT(1)
---------- ----------
30 6
20 5
ENAME SAL
---------- ----------
SURYA 2000
ARJUN 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3* FROM EMP
ENAME SAL
---------- ----------
SURYA 2000
ARJUN 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
642 | P a g e
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3* FROM EMP
SQL>
SQL>
SQL> CL SCR
COUNT(1)
----------
15
ENAME SAL
---------- ----------
SURYA 2000
ARJUN 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,15 AS TOTCNT
4* FROM EMP
SQL> /
SURYA 2000 15
ARJUN 5000 15
BLAKE 2850 15
CLARK 2450 15
JONES 2975 15
SCOTT 4791.6 15
FORD 3600 15
SMITH 800 15
ALLEN 1600 15
WARD 1250 15
MARTIN 1250 15
TURNER 1500 15
ADAMS 1100 15
JAMES 950 15
MILLER 1300 15
15 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,15 AS TOTCNT
4* FROM EMP
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COUNT(1) AS TOTCNT
4* FROM EMP
SQL>
SQL> //
SELECT ENAME
*
ERROR at line 1:
ORA-00937: not a single-group group function
SQL> ED
Wrote file afiedt.buf
644 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,COUNT(1) AS TOTCNT
4 FROM EMP
5 GROUP BY ENAME
6* ,SAL
SQL> /
15 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COUNT(1) AS TOTCNT
4 FROM EMP
5 GROUP BY ENAME
6* ,SAL
SQL>
SQL>
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,COUNT(1) AS TOTCNT
4 FROM EMP
5 GROUP BY ENAME
6* ,SAL
BLAKE 2850 1
CLARK 2450 1
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
16 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,COUNT(1) AS TOTCNT
4 FROM EMP
5 GROUP BY ENAME
6* ,SAL
SQL> /
15 rows selected.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,SELECT COUNT(1) FROM EMP
4* FROM EMP
SQL> /
,SELECT COUNT(1) FROM EMP
*
ERROR at line 3:
ORA-00936: missing expression
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4* FROM EMP
SQL> /
CLARK 2450 16
JONES 2975 16
SCOTT 4791.6 16
FORD 3600 16
SMITH 800 16
ALLEN 1600 16
WARD 1250 16
MARTIN 1250 16
TURNER 1500 16
ADAMS 1100 16
JAMES 950 16
MILLER 1300 16
16 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4* FROM EMP
16 rows selected.
SQL> DELETE FROM EMP WHERE MGR IS NULL AND EMPNO <> 7839;
2 rows deleted.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4* FROM EMP
SQL>
SQL>
SQL>
SQL> CL SCR
SUM(SAL)
----------
28416.6
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,28416.6 AS TOTSAL
5* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5* FROM EMP
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
650 | P a g e
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5 ,(SELECT MIN(SAL) FROM EMP) AS LOSAL
6 ,(SELECT MAX(SAL) FROM EMP) AS HISAL
7* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5 ,(SELECT MIN(SAL) FROM EMP) AS LOSAL
651 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5 ,(SELECT MIN(SAL) FROM EMP) AS LOSAL
6 ,(SELECT MAX(SAL) FROM EMP) AS HISAL
7 ,(SELECT SUM(sAL) FROM EMP) / SAL * 100 AS YOUR_PERCENTAGE
8* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5 ,(SELECT MIN(SAL) FROM EMP) AS LOSAL
6 ,(SELECT MAX(SAL) FROM EMP) AS HISAL
7 ,( (SELECT SUM(sAL) FROM EMP) / SAL ) * 100 AS YOUR_PERCENTAGE
8* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5 ,(SELECT MIN(SAL) FROM EMP) AS LOSAL
6 ,(SELECT MAX(SAL) FROM EMP) AS HISAL
7 ,( SAL/(SELECT SUM(sAL) FROM EMP) ) * 100 AS YOUR_PERCENTAGE
8* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5 ,(SELECT MIN(SAL) FROM EMP) AS LOSAL
6 ,(SELECT MAX(SAL) FROM EMP) AS HISAL
7 ,ROUND ( ( SAL/(SELECT SUM(sAL) FROM EMP) ) * 100 ) AS YOUR_PERCENTAGE
8* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1) FROM EMP) AS TOTCNT
4 ,(SELECT SUM(sAL) FROM EMP) AS TOTSAL
5 ,(SELECT MIN(SAL) FROM EMP) AS LOSAL
6 ,(SELECT MAX(SAL) FROM EMP) AS HISAL
7 ,ROUND ( ( SAL/(SELECT SUM(sAL) FROM EMP) ) * 100 ) AS YOUR_PERCENTAGE
8 FROM EMP
9* ORDER BY YOUR_PERCENTAGE DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,(SELECT COUNT(1),SUM(SAL),MIN(SAL),MAX(SAL) FROM EMP) AS TOTCNT
4* FROM EMP
5 /
,(SELECT COUNT(1),SUM(SAL),MIN(SAL),MAX(SAL) FROM EMP) AS TOTCNT
*
ERROR at line 3:
ORA-00913: too many values
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CLS CR
SP2-0042: unknown command "CLS CR" - rest of line ignored.
SQL> CL SCR
ENAME SAL
---------- ----------
SURYA 2000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 4791.6
FORD 3600
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
2 ,MAX(sAL) AS HISAL
3 ,COUNT(1) AS TOTCNT
4 ,SUM(SAL) AS TOTSAL
5* FROM EMP
SQL> /
SQL> ED
Wrote file afiedt.buf
1 (
2 SELECT MIN(SAL) AS LOSAL
3 ,MAX(sAL) AS HISAL
4 ,COUNT(1) AS TOTCNT
5 ,SUM(SAL) AS TOTSAL
6 FROM EMP
7* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2* FROM E1
SQL> /
FROM E1
*
ERROR at line 2:
ORA-00942: table or view does not exist
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT MIN(SAL) AS LOSAL
4 ,MAX(sAL) AS HISAL
5 ,COUNT(1) AS TOTCNT
6 ,SUM(SAL) AS TOTSAL
7 FROM EMP
8* ) E1
9 /
SQL> ED
Wrote file afiedt.buf
1 SELECT E2.ENAME
2 ,E2.SAL
3 ,E2.DEPTNO
4 ,E1.*
5 FROM (
6 SELECT MIN(SAL) AS LOSAL
656 | P a g e
7 ,MAX(sAL) AS HISAL
8 ,COUNT(1) AS TOTCNT
9 ,SUM(SAL) AS TOTSAL
10 FROM EMP
11 ) E1
12* ,EMP E2
13 /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E2.ENAME
2 ,E2.SAL
3 ,E2.DEPTNO
4 ,E1.*
5 ,E2.SAL /E1.TOTSAL AS PERCENTAGE
6 FROM (
7 SELECT MIN(SAL) AS LOSAL
8 ,MAX(sAL) AS HISAL
9 ,COUNT(1) AS TOTCNT
10 ,SUM(SAL) AS TOTSAL
11 FROM EMP
12 ) E1
13* ,EMP E2
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E2.ENAME
2 ,E2.SAL
3 ,E2.DEPTNO
4 ,E1.*
5 ,E2.SAL /E1.TOTSAL * 100 AS PERCENTAGE
6 FROM (
7 SELECT MIN(SAL) AS LOSAL
8 ,MAX(sAL) AS HISAL
9 ,COUNT(1) AS TOTCNT
10 ,SUM(SAL) AS TOTSAL
11 FROM EMP
12 ) E1
13* ,EMP E2
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E2.ENAME
2 ,E2.SAL
3 ,E2.DEPTNO
4 ,E1.*
5 ,ROUND(E2.SAL /E1.TOTSAL * 100 ) AS PERCENTAGE
6 FROM (
7 SELECT MIN(SAL) AS LOSAL
8 ,MAX(sAL) AS HISAL
9 ,COUNT(1) AS TOTCNT
10 ,SUM(SAL) AS TOTSAL
11 FROM EMP
12 ) E1
13* ,EMP E2
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E2.ENAME
659 | P a g e
2 ,E2.SAL
3 ,E2.DEPTNO
4 ,E1.*
5 ,ROUND(E2.SAL /E1.TOTSAL * 100 ) AS PERCENTAGE
6 FROM (
7 SELECT MIN(SAL) AS LOSAL
8 ,MAX(sAL) AS HISAL
9 ,COUNT(1) AS TOTCNT
10 ,SUM(SAL) AS TOTSAL
11 FROM EMP
12 ) E1
13 ,EMP E2
14* ORDER BY PERCENTAGE
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E2.ENAME
2 ,E2.SAL
3 ,E2.DEPTNO
4 ,E1.*
5 ,ROUND(E2.SAL /E1.TOTSAL * 100 ) AS PERCENTAGE
6 FROM (
7 SELECT MIN(SAL) AS LOSAL
8 ,MAX(sAL) AS HISAL
9 ,COUNT(1) AS TOTCNT
10 ,SUM(SAL) AS TOTSAL
11 FROM EMP
660 | P a g e
12 ) E1
13 ,EMP E2
14* ORDER BY PERCENTAGE DESC
SQL> /
14 rows selected.
SQL> R
1 SELECT E2.ENAME
2 ,E2.SAL
3 ,E2.DEPTNO
4 ,E1.*
5 ,ROUND(E2.SAL /E1.TOTSAL * 100 ) AS PERCENTAGE
6 FROM (
7 SELECT MIN(SAL) AS LOSAL
8 ,MAX(sAL) AS HISAL
9 ,COUNT(1) AS TOTCNT
10 ,SUM(SAL) AS TOTSAL
11 FROM EMP
12 ) E1
13 ,EMP E2
14* ORDER BY PERCENTAGE DESC
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMP.ENAME
2 ,EMP.SAL
3 ,EMP.DEPTNO
4 ,E1.*
5 ,ROUND(EMP.SAL /E1.TOTSAL * 100 ) AS PERCENTAGE
6 FROM (
7 SELECT MIN(SAL) AS LOSAL
8 ,MAX(sAL) AS HISAL
9 ,COUNT(1) AS TOTCNT
10 ,SUM(SAL) AS TOTSAL
11 FROM EMP
12 ) E1
13 ,EMP
14* ORDER BY PERCENTAGE DESC
SQL> /
14 rows selected.
SQL> CL SCR
SQL> SELECT *
2 FROM EMP;
14 rows selected.
1 row updated.
SQL> COMMIT;
663 | P a g e
Commit complete.
SQL> CL SCR
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5* ORDER BY DEPTNO
14 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
664 | P a g e
5* ORDER BY DEPTNO
SQL>
SQL>
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5* ORDER BY DEPTNO
14 rows selected.
DEPTNO COUNT(1)
---------- ----------
30 6
11 1
20 5
10 2
SQL> ED
Wrote file afiedt.buf
1 (
2 SELECT DEPTNO
3 ,COUNT(1)
4 FROM EMP
5 GROUP BY DEPTNO
6* )
SQL> /
DEPTNO COUNT(1)
---------- ----------
30 6
11 1
20 5
10 2
SQL> ED
Wrote file afiedt.buf
665 | P a g e
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 FROM EMP E1
6 ,(
7 SELECT DEPTNO
8 ,COUNT(1) AS DTOTCNT
9 FROM EMP
10 GROUP BY DEPTNO
11 ) E2
12* WHERE E1.DEPTNO = E2.DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 FROM EMP E1
6 ,(
7 SELECT DEPTNO
8 ,COUNT(1) AS DTOTCNT
9 FROM EMP
10 GROUP BY DEPTNO
11 ) E2
12 WHERE E1.DEPTNO = E2.DEPTNO
13* ORDER BY DEPTNO
SQL> /
MARTIN 1250 30 6
TURNER 1500 30 6
JAMES 950 30 6
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 FROM EMP E1
6 ,(
7 SELECT DEPTNO
8 ,COUNT(1) AS DTOTCNT
9 FROM EMP
10 GROUP BY DEPTNO
11 ) E2
12 WHERE DEPTNO = DEPTNO
13* ORDER BY DEPTNO
SQL> /
WHERE DEPTNO = DEPTNO
*
ERROR at line 12:
ORA-00918: column ambiguously defined
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 FROM EMP E1
6 ,(
7 SELECT DEPTNO
8 ,COUNT(1) AS DTOTCNT
9 FROM EMP
10 GROUP BY DEPTNO
11 ) E2
12 WHERE E1.DEPTNO = E2.DEPTNO
13* ORDER BY DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,DEPTNO
4 ,E2.DTOTCNT
5 FROM EMP E1
6 ,(
7 SELECT DEPTNO
8 ,COUNT(1) AS DTOTCNT
9 FROM EMP
10 GROUP BY DEPTNO
11 ) E2
12 WHERE E1.DEPTNO = E2.DEPTNO
13* ORDER BY DEPTNO
SQL> /
,DEPTNO
*
ERROR at line 3:
ORA-00918: column ambiguously defined
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 FROM EMP E1
6 ,(
7 SELECT DEPTNO
8 ,COUNT(1) AS DTOTCNT
9 FROM EMP
10 GROUP BY DEPTNO
11 ) E2
12 WHERE E1.DEPTNO = E2.DEPTNO
13* ORDER BY DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
668 | P a g e
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 ,E3.*
6 FROM EMP E1
7 ,(
8 SELECT DEPTNO
9 ,COUNT(1) AS DTOTCNT
10 FROM EMP
11 GROUP BY DEPTNO
12 ) E2
13 ,( SELECT COUNT(1) AS TOTCNT
14 FROM EMP
15 ) E3
16 WHERE E1.DEPTNO = E2.DEPTNO
17* ORDER BY DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 ,E2.DTOTSAL
6 ,E3.*
7 FROM EMP E1
8 ,(
9 SELECT DEPTNO
10 ,COUNT(1) AS DTOTCNT
11 ,SUM(SAL) AS DTOTSAL
12 FROM EMP
13 GROUP BY DEPTNO
14 ) E2
15 ,( SELECT COUNT(1) AS TOTCNT
16 FROM EMP
17 ) E3
18 WHERE E1.DEPTNO = E2.DEPTNO
19* ORDER BY DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 ,E2.DTOTSAL
6 ,E3.*
7 FROM EMP E1
8 ,(
9 SELECT DEPTNO
10 ,COUNT(1) AS DTOTCNT
11 ,SUM(SAL) AS DTOTSAL
12 FROM EMP
13 GROUP BY DEPTNO
14 ) E2
15 ,( SELECT COUNT(1) AS TOTCNT
16 ,SUM(SAL) AS TOTSAL
17 FROM EMP
18 ) E3
19 WHERE E1.DEPTNO = E2.DEPTNO
20* ORDER BY DEPTNO
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
670 | P a g e
1 SELECT E1.ENAME
2 ,E1.SAL
3 ,E1.DEPTNO
4 ,E2.DTOTCNT
5 ,E2.DTOTSAL
6 ,E3.*
7 ,E2.DTOTSAL / E3.TOTSAL* 100 AS DPERCENTAGE
8 FROM EMP E1
9 ,(
10 SELECT DEPTNO
11 ,COUNT(1) AS DTOTCNT
12 ,SUM(SAL) AS DTOTSAL
13 FROM EMP
14 GROUP BY DEPTNO
15 ) E2
16 ,( SELECT COUNT(1) AS TOTCNT
17 ,SUM(SAL) AS TOTSAL
18 FROM EMP
19 ) E3
20 WHERE E1.DEPTNO = E2.DEPTNO
21* ORDER BY DEPTNO
SQL> /
14 rows selected.
10 3
20 5
30 6
1) SUB SELECT
2) INLINE VIEWS
3) PIVOT
4) WITH CLAUSE
TOTCNT
14
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
4 10
IS NULL
IS NOT NULL
SELECT ENAME,SAL,DEPTNO
FROM EMP
WHERE (DEPTNO,SAL ) IN (SELECT DEPTNO
,MAX(SAL)
FROM EMP
GROUP BY DEPTNO
)
/
SELECT ENAME
,SAL
,DEPTNO
FROM EMP
WHERE SAL = ( SELECT MAX(SAL)
FROM EMP
)
/
672 | P a g e
1) ( SELECT MAX(SAL)
FROM EMP
)
4791.6 AS RESULTS
SELECT ENAME
,SAL
,DEPTNO
FROM EMP
WHERE SAL = 4791.6
2) FROM EMP TABLE IT WILL TAKE EACHR ROW SALARY VALUEAND IT WILL CHECK IS
IT MATCHING
WITH = 4791.6
SELECT ENAME,SAL,DEPTNO
FROM EMP
WHERE (DEPTNO,SAL ) IN (SELECT DEPTNO
,MAX(SAL)
FROM EMP
GROUP BY DEPTNO
)
( (10,2450),(20,4791.6),(30,2850) )
(SELECT DEPTNO
,MAX(SAL)
FROM EMP
GROUP BY DEPTNO
)
SELECT ENAME,SAL,DEPTNO
FROM EMP
WHERE (DEPTNO,SAL ) IN ( (10,2450),(20,4791.6),(30,2850) )
2) IT WILL TAKE FROM EACH ROW DEPTNO AND SALARY INFORMATION IT WIL LCHECK
WITH WHICH PAIR IT IS MATCHING IF IT IS NOT MATCHING THEN THAT ROW WILL NOT
COME
IT IT IS MATCHING WITH ANY ONE OF THE PAIR THEN THAT ROW WILL COME
673 | P a g e
3) WRITE A SELECT STATMENT TO GET LIST OF EMPLOYEES WHO ARE EARNING MORE
SALARY THAN
ANY ONE OF THE CLERK?
4) WRITE A SELECT STATMENT TO GET LIST OF EMPLOYEES WHO ARE EARNING MORE
SALARY THAN
ALL CLERKS ?
ENAME
----------
SURYA
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (
2 SELECT ENAME
3 FROM EMP
4* )
SQL> /
ENAME
----------
SURYA
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
674 | P a g e
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
14 rows selected.
SQL> CL SCR
ENAME DEPTNO
---------- ----------
SURYA 10
BLAKE 30
CLARK 11
JONES 20
SCOTT 20
FORD 20
SMITH 20
ALLEN 30
WARD 30
MARTIN 30
TURNER 30
ADAMS 20
JAMES 30
MILLER 10
14 rows selected.
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
ENAME DEPTNO
---------- ----------
SURYA 10
BLAKE 30
CLARK 10
JONES 20
SCOTT 20
FORD 20
SMITH 20
ALLEN 30
WARD 30
MARTIN 30
TURNER 30
ADAMS 20
JAMES 30
MILLER 10
675 | P a g e
14 rows selected.
DEPTNO TOTCNT
---------- ----------
30 6
20 5
10 3
SQL> ED
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,COUNT(1) AS TOTCNT
3 FROM EMP
4 GROUP BY DEPTNO
5* ORDER BY DEPTNO
SQL> /
DEPTNO TOTCNT
---------- ----------
10 3
20 5
30 6
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
COUNT(1)
----------
3
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 (SELECT COUNT(1) FROM EMP WHERE DEPTNO = 10) AS DEPTNO10
3 ,(SELECT COUNT(1) FROM EMP WHERE DEPTNO = 20) AS DEPTNO20
4 ,(SELECT COUNT(1) FROM EMP WHERE DEPTNO = 30) AS DEPTNO30
5* FROM EMP
SQL> /
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
3 5 6
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 (SELECT COUNT(1) FROM EMP WHERE DEPTNO = 10) AS DEPTNO10
3 ,(SELECT COUNT(1) FROM EMP WHERE DEPTNO = 20) AS DEPTNO20
4 ,(SELECT COUNT(1) FROM EMP WHERE DEPTNO = 30) AS DEPTNO30
5* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT
2 (SELECT COUNT(1) FROM EMP WHERE DEPTNO = 10) AS DEPTNO10
3 ,(SELECT COUNT(1) FROM EMP WHERE DEPTNO = 20) AS DEPTNO20
4 ,(SELECT COUNT(1) FROM EMP WHERE DEPTNO = 30) AS DEPTNO30
5* FROM DUAL
SQL> /
SQL> CL SCR
SQL> R
1 SELECT
2 (SELECT COUNT(1) FROM EMP WHERE DEPTNO = 10) AS DEPTNO10
677 | P a g e
SQL>
SQL>
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (SELECT COUNT(1) DEPTNO10 FROM EMP WHERE DEPTNO = 10) D10
3 ,(SELECT COUNT(1) DEPTNO20 FROM EMP WHERE DEPTNO = 20) D20
4* ,(SELECT COUNT(1) DEPTNO30 FROM EMP WHERE DEPTNO = 30) D30
SQL> /
SQL> CL SCR
SQL> WITH E1
2 AS
3 (
4 SELECT ENAME,DEPTNO
5 FROM EMP
6 )
7 ,E2
8 AS
9 (
10 SELECT COUNT(1) AS DEPTNO10
11 FROM EMP
12 .
SQL>
SQL> ED
Wrote file afiedt.buf
1 WITH E1
2 AS
3 (
4 SELECT ENAME,DEPTNO
5 FROM EMP
6 )
7 ,E2
8 AS
9 (
10 SELECT COUNT(1) AS DEPTNO10
11 FROM E1
12 WHERE DEPTNO =10
13 )
14 ,E3
15 AS
16 (
17 SELECT COUNT(1) AS DEPTNO10
18 FROM E1
19 WHERE DEPTNO =20
20 )
21 ,E4
22 AS
23 (
678 | P a g e
SQL> ED
Wrote file afiedt.buf
1 WITH E1
2 AS
3 (
4 SELECT ENAME,DEPTNO
5 FROM EMP
6 )
7 ,E2
8 AS
9 (
10 SELECT COUNT(1) AS DEPTNO10
11 FROM E1
12 WHERE DEPTNO =10
13 )
14 ,E3
15 AS
16 (
17 SELECT COUNT(1) AS DEPTNO10
18 FROM E1
19 WHERE DEPTNO =20
20 )
21 ,E4
22 AS
23 (
24 SELECT COUNT(1) AS DEPTNO10
25 FROM E1
26 WHERE DEPTNO =30
27 )
28 SELECT E2.*,E3.*,E4.*
29* FROM E2,E3,E4
30 /
SQL> ED
Wrote file afiedt.buf
1 WITH E1
2 AS
3 (
4 SELECT ENAME,DEPTNO
5 FROM EMP
6 )
7 ,E2
8 AS
9 (
10 SELECT COUNT(1) AS DEPTNO10
11 FROM E1
679 | P a g e
SQL> CL SCR
14 rows selected.
TOTCNT
----------
14
SQL> SELECT ( SELECT COUNT(1) FROM EMP WHERE COMM IS NOT NULL) AS
TOT_EMP_EARNING_COMM
2 ,(SELECT COUNT(1) FROM EMP WHERE COMM IS NULL) AS TOT_EMP_NOT_EARNING_COMM
3 FROM EMP;
680 | P a g e
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
-------------------- ------------------------
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
-------------------- ------------------------
4 10
SQL> CL SCR
SQL> R
1 SELECT ( SELECT COUNT(1) FROM EMP WHERE COMM IS NOT NULL) AS
TOT_EMP_EARNING_COMM
2 ,(SELECT COUNT(1) FROM EMP WHERE COMM IS NULL) AS TOT_EMP_NOT_EARNING_COMM
3* FROM DUAL
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
-------------------- ------------------------
4 10
SQL> ED
Wrote file afiedt.buf
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
-------------------- ------------------------
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
681 | P a g e
4 10
4 10
4 10
4 10
4 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
-------------------- ------------------------
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
4 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
-------------------- ------------------------
4 10
SQL> CL SCR
SQL> R
1 SELECT (SELECT COUNT(1) FROM EMP WHERE COMM IS NOT NULL) AS
TOT_EMP_EARNING_COMM
2 ,(SELECT COUNT(1) FROM EMP WHERE COMM IS NULL) AS TOT_EMP_NOT_EARNING_COMM
3* FROM DUAL
TOT_EMP_EARNING_COMM TOT_EMP_NOT_EARNING_COMM
-------------------- ------------------------
4 10
SQL>
SQL>
SQL> SELECT COUNT(1)
682 | P a g e
2 FROM EMP;
COUNT(1)
----------
14
SQL> ED
Wrote file afiedt.buf
1 SELECT COUNT(1)
2 , COUNT(COMM)
3* FROM EMP
SQL> /
COUNT(1) COUNT(COMM)
---------- -----------
14 4
SQL> ED
Wrote file afiedt.buf
TOT_EMP_NOT_EARNING_COMM TOT_EMP_EARNING_COMM
------------------------ --------------------
10 4
SQL> CL SCR
SQL> CL SCR
MAX(SAL)
----------
4791.6
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM EMP
3 WHERE SAL = (SELECT MAX(SAL)
4 FROM EMP
5* )
SQL> /
SQL> ED
683 | P a g e
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE SAL = (SELECT MAX(SAL)
4 FROM EMP
5* )
SQL> /
SQL> CL SCR
SQL> R
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE SAL = (SELECT MAX(SAL)
4 FROM EMP
5* )
DEPTNO MAX(SAL)
---------- ----------
30 2850
20 4791.6
10 2450
SQL> ED
Wrote file afiedt.buf
1 (SELECT DEPTNO
2 ,MAX(SAL)
3 FROM EMP
4 GROUP BY DEPTNO
5* )
SQL> /
DEPTNO MAX(SAL)
---------- ----------
30 2850
20 4791.6
10 2450
SQL> CL SCR
SQL> R
1 (SELECT DEPTNO
2 ,MAX(SAL)
3 FROM EMP
4 GROUP BY DEPTNO
5* )
DEPTNO MAX(SAL)
---------- ----------
684 | P a g e
30 2850
20 4791.6
10 2450
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE DEPTNO = 10
4* AND SAL = 2450
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE DEPTNO = 20
4* AND SAL = 4791.6
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL) = (10,2450)
SQL> /
WHERE (DEPTNO,SAL) = (10,2450)
*
ERROR at line 3:
ORA-00920: invalid relational operator
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL) IN (10,2450)
SQL> /
WHERE (DEPTNO,SAL) IN (10,2450)
*
ERROR at line 3:
ORA-00920: invalid relational operator
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL) IN ((10,2450))
685 | P a g e
SQL> /
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT DEPTNO
2 ,MAX(SAL)
3 FROM EMP
4* GROUP BY DEPTNO
SQL> /
DEPTNO MAX(SAL)
---------- ----------
30 2850
20 4791.6
10 2450
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL) IN ((10,2450))
SQL> /
SQL> D
SP2-0042: unknown command "D" - rest of line ignored.
SQL> D
SP2-0042: unknown command "D" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL) IN ((10,2450), (20,4791.6) ,( 30,2850) )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE (DEPTNO,SAL) IN (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
686 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE (DEPTNO,SAL) =(SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
WHERE (DEPTNO,SAL) =(SELECT DEPTNO
*
ERROR at line 3:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE (DEPTNO,SAL) IN (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
SQL> EDE
SP2-0042: unknown command "EDE" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE DEPTNO IN (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
WHERE DEPTNO IN (SELECT DEPTNO
*
ERROR at line 3:
ORA-00913: too many values
SQL> ED
Wrote file afiedt.buf
687 | P a g e
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE DEPTNO,SAL IN (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
WHERE DEPTNO,SAL IN (SELECT DEPTNO
*
ERROR at line 3:
ORA-00920: invalid relational operator
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE (DEPTNO,SAL ) IN (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE (DEPTNO ) = (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
WHERE (DEPTNO ) = (SELECT DEPTNO
*
ERROR at line 3:
ORA-00913: too many values
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE (DEPTNO ,SAL) = (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
WHERE (DEPTNO ,SAL) = (SELECT DEPTNO
*
688 | P a g e
ERROR at line 3:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE (DEPTNO ,SAL) IN (SELECT DEPTNO
4 ,MAX(SAL)
5 FROM EMP
6 GROUP BY DEPTNO
7* )
SQL> /
SQL> CL SCR
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE SAL = ( SELECT MAX(SAL)
6 FROM EMP
7* )
8 /
SQL>
SQL> CL SCR
SQL> ED
SP2-0107: Nothing to save.
SQL> SELECT *
2 FROM DUAL;
D
-
X
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (SELECT DEPTNO
2 ,MAX(SAL)
3 FROM EMP
4 GROUP BY DEPTNO
5* )
6 /
DEPTNO MAX(SAL)
---------- ----------
30 2850
20 4791.6
10 2450
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
690 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL ) IN ( (10,2450),(20,4791.6),(30,2850) )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE DEPTNO =10
4* AND SAL = 2450
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3 WHERE( DEPTNO =10
4 AND SAL = 2450
5 )
6 OR ( DEPTNO =20
7 AND SAL = 4791.6
8 )
9 OR ( DEPTNO = 30
10 AND SAL = 2850
11* )
SQL> /
SQL> ED
Wrote file afiedt.buf
691 | P a g e
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL) IN ( SELECT DEPTNO,MAX(SAL) FROM EMP GROUP BY DEPTNO)
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE (DEPTNO,SAL) = ( SELECT DEPTNO,MAX(SAL) FROM EMP WHERE DEPTNO =10 GROUP
BY DEPTNO)
SQL> /
SQL> CL SCR
14 rows selected.
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
2 ,SAL
3 ,JOB
4 FROM EMP;
14 rows selected.
SAL
----------
800
1100
950
1300
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL > (SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
WHERE SAL > (SELECT SAL
*
ERROR at line 5:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL >ANY (SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
693 | P a g e
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (SELECT SAL
2 FROM EMP
3 WHERE JOB ='CLERK'
4* )
5 /
SAL
----------
800
1100
950
1300
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL >ANY (800,1100,950,1300)
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL >(SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
695 | P a g e
8* )
SQL> /
WHERE SAL >(SELECT SAL
*
ERROR at line 5:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL > (SELECT MIN(SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
14 rows selected.
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL >ANY ( SELECT SAL FROM EMP WHERE JOB ='CLERK' ORDER BY SAL DESC)
SQL> /
WHERE SAL >ANY ( SELECT SAL FROM EMP WHERE JOB ='CLERK' ORDER BY SAL DESC)
*
ERROR at line 5:
ORA-00907: missing right parenthesis
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL >ANY ( SELECT SAL FROM EMP WHERE JOB ='CLERK' )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
5 /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,JOB
4* FROM EMP
14 rows selected.
698 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* /WHERE SAL >ANY(1300,1100,950,800)
SQL> /
/WHERE SAL >ANY(1300,1100,950,800)
*
ERROR at line 5:
ORA-00933: SQL command not properly ended
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL >ANY(1300,1100,950,800)
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL >ANY ( SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL > ( SELECT MIN(SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL <ANY ( SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
700 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL < ( SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
WHERE SAL < ( SELECT SAL
*
ERROR at line 5:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL < ( SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
WHERE SAL < ( SELECT SAL
*
ERROR at line 5:
ORA-01427: single-row subquery returns more than one row
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL >ANY ( SELECT (SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
13 rows selected.
701 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL > ( SELECT MIN(SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL <ANY ( SELECT (SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL < ( SELECT MAX(SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
702 | P a g e
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL =ANY ( SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL IN ( SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL >ALL ( SELECT SAL
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL >( SELECT MAX(SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL <ALL ( SELECT (SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL < ( SELECT MIN(SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
704 | P a g e
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL =ALL ( SELECT (SAL)
6 FROM EMP
7 WHERE JOB ='CLERK'
8* )
SQL> /
no rows selected
SQL> EED
SP2-0042: unknown command "EED" - rest of line ignored.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL = 4791.6
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL =ALL( 4791.6)
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL =ALL( 4791.6,4791.6)
SQL> /
SQL> ED
705 | P a g e
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL =ALL( 4791.6,4791.6,4791.6)
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5* WHERE SAL =ALL( 4791.6,4791.6,4791.6,2850)
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,JOB
4 FROM EMP
5 WHERE SAL = 4791.6
6 AND SAL =4791.6
7 AND SAL =4791.6
8* AND SAL = 2850
SQL> /
no rows selected
SQL> CL SCR
ENAME SAL
---------- ----------
SMITH 800
SQL> CL SCR
JONES 2975 20
SCOTT 4791.6 20
FORD 3600 20
SMITH 800 20
ALLEN 1600 30
WARD 1250 30
MARTIN 1250 30
TURNER 1500 30
ADAMS 1100 20
JAMES 950 30
MILLER 1300 10
14 rows selected.
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
14 rows selected.
,DEPTNO
*
ERROR at line 3:
ORA-00918: column ambiguously defined
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 FROM EMP E
5 ,DEPT D
6* WHERE E.DEPTNO = D.DEPTNO
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5* WHERE DEPTNO IN ( SELECT DEPTNO FROM DEPT)
SQL> /
WARD 1250 30
MARTIN 1250 30
TURNER 1500 30
ADAMS 1100 20
JAMES 950 30
MILLER 1300 10
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5* WHERE DEPTNO NOT IN ( SELECT DEPTNO FROM DEPT)
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 FROM EMP E
5 ,DEPT D
6* WHERE E.DEPTNO = D.DEPTNO
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 FROM EMP E
5 ,DEPT D
6* WHERE E.DEPTNO <> D.DEPTNO
SQL> /
43 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 FROM EMP E
5 ,DEPT D
6* WHERE E.DEPTNO = D.DEPTNO
SQL> /
FORD 3600 20
SMITH 800 20
ALLEN 1600 30
WARD 1250 30
MARTIN 1250 30
TURNER 1500 30
ADAMS 1100 20
JAMES 950 30
MILLER 1300 10
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 FROM EMP E
5 ,DEPT D
6* WHERE E.DEPTNO = D.DEPTNO(+)
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,D.DEPTNO
5 FROM EMP E
6 ,DEPT D
7* WHERE E.DEPTNO = D.DEPTNO(+)
SQL> /
WARD 1250 30 30
MARTIN 1250 30 30
TURNER 1500 30 30
ADAMS 1100 20 20
JAMES 950 30 30
MILLER 1300 10 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,E.DEPTNO
4 ,D.DEPTNO
5 FROM EMP E
6 ,DEPT D
7 WHERE E.DEPTNO = D.DEPTNO(+)
8* AND D.DEPTNO IS NULL
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO IN ( SELECT DEPTNO
6 FROM DEPT
7* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO IN ( SELECT DEPTNO
712 | P a g e
6 FROM DEPT
7* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE EXISTS ( SELECT *
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
9 /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE DEPTNO IN ( SELECT DEPTNO
6 FROM DEPT
7* )
8 /
713 | P a g e
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE EXISTS ( SELECT *
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
9 /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE NOT EXISTS ( SELECT *
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE NOT EXISTS ( SELECT 'ARJUN'
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE NOT EXISTS ( SELECT 'HI RAM HOW ARE YOU'
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE NOT EXISTS ( SELECT D.*,D.DNAME,D.LOC
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE NOT EXISTS ( SELECT
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
715 | P a g e
8* )
SQL> /
FROM DEPT D
*
ERROR at line 6:
ORA-00936: missing expression
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE NOT EXISTS ( SELECT 0
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE EXISTS ( SELECT 1
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE EXISTS ( SELECT 'Y'
716 | P a g e
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
13 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE NOT EXISTS ( SELECT 'N'
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP E
5 WHERE EXISTS ( SELECT 1
6 FROM DEPT D
7 WHERE D.DEPTNO = E.DEPTNO
8* )
SQL> /
TURNER 1500 30
ADAMS 1100 20
JAMES 950 30
MILLER 1300 10
13 rows selected.
SQL> CL SCR
SQL> CL SCR
IF YOU WANT TO GET THE HIERARCHIAL QUERIES THEN PK AND FK DATA SHOULD BE IN SAME
TABLE
OR BY USING INLINE VIEWS YOU CAN GET DATA FROM MULTIPLE TABLES AND MAKE IT AS A
SINGLE TABLE IN RUNTIME
PRIOR KEYWORD IF YOU KEEP WITH PK COLUMN DATA FROM WHERE YOU ARE STARTING THE
HIERARCHY
FROM THAT PLACE BELOW HIERARCHY IT WILL GIVE YOU
PRIOR KEY WORD IF YOU KEEP WITH FK COLUMN DATA FROM WHERE START THE HIERRACHY FROM
THAT PLACE TO
ABOVE HIERARCH KEY IT WILL KEY WILL GIVE YOU
718 | P a g e
START WITH---
CONNECT BY---
PRIOR---
CONNECT BY ROOT--
(
P1
)
IT WILL GIVE YOU ROOT ROW COLUMN INFORMATION FOR EACH AND EVERY ROW
SYS_CONNECT_BY_PATH---
(
P1
,P2
)
IT WILL GIVE YOU FROM CURRENT PLACE TO TILL ROOT NODE COMPLETE HIERRARCHY IT WILL
GIVE YOU
P1 FROM CURRENT PLACE TO TILL ROOT NODE WHICH INFORMATION YOU WANT TO SHOW
P2 IS FORMAT SPEICIFER HOW YOU WANT TO SEPARTE THE DATA
/
=>
<=
ISCYCLE
CONNECT_BY_ISLEAF
IT WILL GIVE YOU
0--IT IS NOT A LEAF NODE
1-- IT IS A LEAF NODE
LEVEL----
SIBLINGS
NOCYCLE--
X
ARJUN
LEVEL
----
IN SQL IT WILL WORK LIKE AUTO INCREMENTED LOOP
IT STARTS WITH 1 AND IT INCREMENT BY 1 AND CHECK CONDITION WHAT IS MENTIONED IN
CONNECT BY
IF IT IS GETTING IT CONTINUSED DO THE SAME THING...
1) 1 TO 10 NUMBERS
719 | P a g e
2) 1 TO 10 EVEN
3) 1 TO 10 ODD
4) 1 TO 10 ODD AND EVEN NUMBERS
INPUT : SURESH
OUTPUT :
S
U
R
E
S
H
INPUT : SURESH
OUTPUT :
SURESH
SURES
SURE
SUR
SU
S
INPUT : SURESH
OUTPUT :
S
SU
SUR
SURE
SURES
SURESH
INPUT:SURESH
OUTPUT:
*
**
***
****
*****
******
INPUT:SURESH
OUTPUT:
******
*****
****
***
**
*
3) WRITE A SELECT STATEMENT TO GET FROM TODAY TILL THIS MONTH END WHAT EVER DATES
ARE REMAING
25-JUN-18
26-JUN-18
27-JUN-18
28-JUN-18
29-JUN-18
30-JUN-18
720 | P a g e
01-JUN-2018
02-JUN-208
.
.
.
30-JUN-2018
5) WRITE A SELECT STATEEMTN TO GET CURRENT MONTH ALL SATURDAY AND SUNDAY DATES ?
OUTPUT:
LEVEL
DATE FUNCTIONS
COUNT
CASE
FIRST GET THE ROWNUM FOR ALL RECORDS AND GIVE A ONE ALIAS FOR THE ROWNUM
4) WRITE A SELECT STATMENT TO GET THE 1ST HIGHEST SALARY EMPLYEE DETAILS ?
1) SET OPERATORS--
2) BY USING ROWNUM WE CAN GET PROVIDED THAT THAT MANY ROWS ARE IN THE TABLE
1) ROWNUM = 1
2) ROWNUM <= N
BECAUSE
ROWID
---------------
WHY ?
FROM TABLENAME
);
2) BY USING ROWID
KRISHNA 1000
ARJUN 1000
HIMANSH 1000
ABHI 2000
DELETE
2 FROM STD
4 SELECT ROWID
5 FROM (
6 SELECT NAME
7 ,FEES
8 ,ROWID RID
11 FROM STD
12 )
14 OR ( DR =1 AND CNT = 1)
15 )
16* )
SQL> /
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
JONES 2975
SCOTT 3000
FORD 3000
SMITH 800
ALLEN 1600
WARD 1250
MARTIN 1250
TURNER 1500
ADAMS 1100
JAMES 950
MILLER 1300
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5* FROM EMP
SQL> /
725 | P a g e
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5* FROM EMP
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 ,ROWID
6* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 ,ROWID
6* FROM EMP
SQL>
SQL>
SQL> SELECT LENGTH('AAAE5SAABAAAK+hAAN')
2 FROM DUAL;
LENGTH('AAAE5SAABAAAK+HAAN')
----------------------------
18
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 ,ROWID
6* FROM EMP
SQL> /
14 rows selected.
SQL> ED
727 | P a g e
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 ,ROWID
6 FROM EMP
7* WHERE DEPTNO = 20
SQL> /
SQL> CL SCR
SQL> CL SCR
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE ROWNUM =1
SQL> /
SQL> CK SCR
SP2-0042: unknown command "CK SCR" - rest of line ignored.
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
728 | P a g e
1 SELECT ENAME,SAL,DEPTNO
2* FROM EMP
3 /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE ROWNUM = 1
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE ROWNUM = 2
SQL> /
no rows selected
SQL>
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE ROWNUM <= 2
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
729 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE ROWNUM <= 10
SQL> /
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE ROWNUM <= 100
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
730 | P a g e
1 SELECT ENAME,SAL,DEPTNO
2 FROM EMP
3* WHERE ROWNUM =2
SQL> /
no rows selected
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
1 SELECT ENAME,SAL,DEPTNO
2* FROM EMP
3 /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* WHERE ROWNUM =2
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5* FROM EMP
6 /
5 SCOTT 3000 20
6 FORD 3000 20
7 SMITH 800 20
8 ALLEN 1600 30
9 WARD 1250 30
10 MARTIN 1250 30
11 TURNER 1500 30
12 ADAMS 1100 20
13 JAMES 950 30
14 MILLER 1300 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* WHERE ROWNUM = 2
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* WHERE ROWNUM >=1
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
732 | P a g e
6* WHERE ROWNUM = 1
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* WHERE ROWNUM <= 3
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* WHERE ROWNUM = 3
SQL> /
no rows selected
SQL> CL SCR
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5* FROM EMP
6 /
14 MILLER 1300 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM RN
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM C1
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
734 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 (
2 SELECT ROWNUM SNO
3 ,ENAME
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7* )
8 /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
735 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10* WHERE E1.SNO = 2
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10* WHERE E1.SNO = 4
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10* WHERE E1.SNO = 6
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10* WHERE E1.SNO IN (2,4,6)
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10* WHERE MOD(E1.SNO,2) =0
SQL> /
14 MILLER 1300 10
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10* WHERE MOD(E1.SNO,2) =1
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9* ) E1
10 /
14 rows selected.
738 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10* WHERE MOD(E1.SNO,2) =1
SQL> /
7 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10 WHERE MOD(E1.SNO,2) =1
11 UNION
12 SELECT E1.*
13 FROM
14 (
15 SELECT ROWNUM SNO
16 ,ENAME
17 ,SAL
18 ,DEPTNO
19 FROM EMP
20 ) E1
21* WHERE MOD(E1.SNO,2) =0
SQL> /
10 MARTIN 1250 30
11 TURNER 1500 30
12 ADAMS 1100 20
13 JAMES 950 30
14 MILLER 1300 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
9 ) E1
10 WHERE MOD(E1.SNO,2) =1
11 UNION ALL
12 SELECT E1.*
13 FROM
14 (
15 SELECT ROWNUM SNO
16 ,ENAME
17 ,SAL
18 ,DEPTNO
19 FROM EMP
20 ) E1
21* WHERE MOD(E1.SNO,2) =0
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 FROM
3 (
4 SELECT ROWNUM SNO
5 ,ENAME
6 ,SAL
7 ,DEPTNO
8 FROM EMP
740 | P a g e
9 ) E1
10 WHERE MOD(E1.SNO,2) =1
11 UNION ALL
12 SELECT E1.*
13 FROM
14 (
15 SELECT ROWNUM SNO
16 ,ENAME
17 ,SAL
18 ,DEPTNO
19 FROM EMP
20 ) E1
21* WHERE MOD(E1.SNO,2) =0
SQL>
SQL> CL SCR
MAX(SAL)
----------
5000
SQL> ED
Wrote file afiedt.buf
1 SEECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE SAL = (SELECT MAX(SAL)
6 FROM EMP
7* )
SQL> /
SEECT ENAME
*
ERROR at line 1:
ORA-00900: invalid SQL statement
SQL> ED
Wrote file afiedt.buf
1 SEECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE SAL = (SELECT MAX(SAL)
6 FROM EMP
7* )
SQL> /
SEECT ENAME
*
ERROR at line 1:
ORA-00900: invalid SQL statement
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
741 | P a g e
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE SAL = (SELECT MAX(SAL)
6 FROM EMP
7* )
SQL> /
SQL> CL SCR
SQL> R
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE SAL = (SELECT MAX(SAL)
6 FROM EMP
7* )
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE SAL = (SELECT MAX(SAL)
6 FROM EMP
7 WHERE SAL < ( SELECT MAX(SAL)
8 FROM EMP
9 )
10* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5 WHERE SAL = (SELECT MAX(SAL)
6 FROM EMP
7 WHERE SAL < ( SELECT MAX(SAL)
8 FROM EMP
9 WHERE SAL < ( SELECT MAX(SAL)
10 FROM EMP
11 )
12 )
13* )
SQL> /
742 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4* FROM EMP
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5* ORDER BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
743 | P a g e
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* ORDER BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5* ORDER BY SAL
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
744 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* ORDER BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5* FROM EMP
6 /
1 KING 5000 10
2 BLAKE 2850 30
3 CLARK 2450 10
4 JONES 2975 20
5 SCOTT 3000 20
6 FORD 3000 20
7 SMITH 800 20
8 ALLEN 1600 30
9 WARD 1250 30
10 MARTIN 1250 30
11 TURNER 1500 30
12 ADAMS 1100 20
13 JAMES 950 30
14 MILLER 1300 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3 ,SAL
4 ,DEPTNO
5 FROM EMP
6* ORDER BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2 ,SAL
3 ,DEPTNO
4 FROM EMP
5* ORDER BY SAL DESC
SQL> /
CLARK 2450 10
ALLEN 1600 30
TURNER 1500 30
MILLER 1300 10
MARTIN 1250 30
WARD 1250 30
ADAMS 1100 20
JAMES 950 30
SMITH 800 20
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*,ROWNUM
2 FROM (
3 SELECT ENAME
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7 ORDER BY SAL DESC
8* ) E1
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*,ROWNUM
2 FROM (
3 SELECT ENAME
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7 ORDER BY SAL DESC
8 ) E1
9* WHERE ROWNUM =1
SQL> /
SQL> ED
Wrote file afiedt.buf
747 | P a g e
1 SELECT E1.*,ROWNUM
2 FROM (
3 SELECT ENAME
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7 ORDER BY SAL DESC
8 ) E1
9* WHERE ROWNUM <=2
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*,ROWNUM
2 FROM (
3 SELECT ENAME
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7 ORDER BY SAL DESC
8 ) E1
9* WHERE ROWNUM <=3
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*,ROWNUM
2 FROM (
3 SELECT ENAME
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7 ORDER BY SAL DESC
8 ) E1
9* WHERE ROWNUM <=4
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*,ROWNUM
2 FROM (
3 SELECT ENAME
748 | P a g e
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7 ORDER BY SAL DESC
8 ) E1
9* WHERE ROWNUM <=5
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*,ROWNUM
2 FROM (
3 SELECT ENAME
4 ,SAL
5 ,DEPTNO
6 FROM EMP
7 ORDER BY SAL DESC
8 ) E1
9* WHERE ROWNUM = 2
SQL> /
no rows selected
SQL> ED
Wrote file afiedt.buf
1 SELECT E1.*
2 ,ROWNUM RN
3 FROM (
4 SELECT ENAME
5 ,SAL
6 ,DEPTNO
7 FROM EMP
8 ORDER BY SAL DESC
9* ) E1
10 /
14 rows selected.
749 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT E1.*
4 ,ROWNUM RN
5 FROM (
6 SELECT ENAME
7 ,SAL
8 ,DEPTNO
9 FROM EMP
10 ORDER BY SAL DESC
11 ) E1
12 ) E2
13* WHERE E2.RN = 2
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT E1.*
4 ,ROWNUM RN
5 FROM (
6 SELECT ENAME
7 ,SAL
8 ,DEPTNO
9 FROM EMP
10 ORDER BY SAL DESC
11 ) E1
12 ) E2
13* WHERE E2.RN = 3
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT E1.*
4 ,ROWNUM RN
5 FROM (
6 SELECT ENAME
7 ,SAL
8 ,DEPTNO
9 FROM EMP
10 ORDER BY SAL DESC
11 ) E1
12 ) E2
13* WHERE E2.RN = 4
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT E1.*
4 ,ROWNUM RN
5 FROM (
6 SELECT ENAME
7 ,SAL
8 ,DEPTNO
9 FROM EMP
10 ORDER BY SAL DESC
11 ) E1
12 ) E2
13* WHERE E2.RN <=3
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT E1.*
4 ,ROWNUM RN
5 FROM (
6 SELECT ENAME
7 ,SAL
8 ,DEPTNO
9 FROM EMP
10 ORDER BY SAL ASC
11 ) E1
12 ) E2
13* WHERE E2.RN <=3
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT E1.*
4 ,ROWNUM RN
5 FROM (
6 SELECT ENAME
7 ,SAL
8 ,DEPTNO
9 FROM EMP
10 ORDER BY SAL ASC
751 | P a g e
11 ) E1
12 ) E2
13 WHERE E2.RN <=3
14 UNION ALL
15 SELECT *
16 FROM (
17 SELECT E1.*
18 ,ROWNUM RN
19 FROM (
20 SELECT ENAME
21 ,SAL
22 ,DEPTNO
23 FROM EMP
24 ORDER BY SAL DESC
25 ) E1
26 ) E2
27* WHERE E2.RN <=3
28 /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
6 rows selected.
SQL> CL SCR
SQL> CL SCR
SQL> EDIT
Wrote file afiedt.buf
ENAME SAL
---------- ----------
KING 5000
BLAKE 2850
CLARK 2450
SQL> SELECT 1
2 FROM DUAL
3 UNION ALL
4 SELECT 122
5
SQL>
SQL> ED
Wrote file afiedt.buf
1 SELECT 1
2 FROM DUAL
3 UNION ALL
4 SELECT 2
5 FROM DUAL
6 UNION ALL
7 SELECT 3
8 FROM DUAL
9 UNION ALL
10 SELECT 3
11 FROM DUAL
753 | P a g e
12 UNION ALL
13 SELECT 5
14* FROM DUAL
SQL> /
1
----------
1
2
3
3
5
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 ,ENAME
3* FROM EMP
SQL> /
ROWNUM ENAME
---------- ----------
1 KING
2 BLAKE
3 CLARK
4 JONES
5 SCOTT
6 FORD
7 SMITH
8 ALLEN
9 WARD
10 MARTIN
11 TURNER
12 ADAMS
13 JAMES
14 MILLER
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2* FROM EMP
SQL> /
ROWNUM
----------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
754 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 FROM EMP
3* WHERE ROWNUM <=10
SQL> /
ROWNUM
----------
1
2
3
4
5
6
7
8
9
10
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 FROM EMP
3* WHERE ROWNUM <=20
SQL> /
ROWNUM
----------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
14 rows selected.
SQL> CL SCR
FORD 3000 20
SMITH 800 20
ALLEN 1600 30
WARD 1250 30
MARTIN 1250 30
TURNER 1500 30
ADAMS 1100 20
JAMES 950 30
MILLER 1300 10
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO,ENAME,SAL,DEPTNO,ROWID
2* FROM EMP
SQL> /
14 rows selected.
SQL> CL SCR
SQL> R
1 SELECT EMPNO,ENAME,SAL,DEPTNO,ROWID
2* FROM EMP
14 rows selected.
SQL> ED
756 | P a g e
1 SELECT EMPNO,ENAME,SAL,DEPTNO,ROWID
2 FROM EMP
3* WHERE EMPNO = 7521
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO,ENAME,SAL,DEPTNO,ROWID
2 FROM EMP
3* WHERE ROWID ='AAAE5SAABAAAK+hAAI'
SQL> /
SQL> CL SCR
14 rows selected.
SQL> CL SCR
SQL> R
1* SELECT * FROM EMP
14 rows selected.
Table altered.
1 row created.
SQL> R
1 INSERT INTO EMP
2 SELECT *
3 FROM EMP
4* WHERE EMPNO =7521
2 rows created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
SQL> SELECT *
2 FROM EMP
3 ORDER BY EMPNO;
17 rows selected.
3 (
4
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> COMMIT;
Commit complete.
SQL> CL SCR
19 rows selected.
SQL> CL SCR
EMPNO ENAME
---------- ----------
101 ARJUN
7369 SMITH
7499 ALLEN
7521 WARD
7521 WARD
7521 WARD
7521 ARJUN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
7900 JAMES
7902 FORD
7934 MILLER
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME
2* FROM EMP
3 /
ENAME
----------
KING
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
761 | P a g e
TURNER
ADAMS
JAMES
MILLER
WARD
WARD
WARD
ARJUN
ARJUN
19 rows selected.
SQL> CL SCR
SQL> R
1 SELECT ENAME
2* FROM EMP
ENAME
----------
KING
BLAKE
CLARK
JONES
SCOTT
FORD
SMITH
ALLEN
WARD
MARTIN
TURNER
ADAMS
JAMES
MILLER
WARD
WARD
WARD
ARJUN
ARJUN
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,COUNT(1)
2 FROM EMP
3* GROUP BY ENAME
SQL> /
ENAME COUNT(1)
---------- ----------
JONES 1
ALLEN 1
FORD 1
ARJUN 2
CLARK 1
MILLER 1
SMITH 1
WARD 4
SCOTT 1
MARTIN 1
TURNER 1
ADAMS 1
762 | P a g e
KING 1
BLAKE 1
JAMES 1
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,COUNT(1)
2 FROM EMP
3 GROUP BY ENAME
4* HAVING COUNT(1) > 1
SQL> /
ENAME COUNT(1)
---------- ----------
ARJUN 2
WARD 4
SQL> CL SCR
SQL> R
1 SELECT ENAME,COUNT(1)
2 FROM EMP
3 GROUP BY ENAME
4* HAVING COUNT(1) > 1
ENAME COUNT(1)
---------- ----------
ARJUN 2
WARD 4
SQL> DELETE FROM EMP WHERE ENAME ='ARJUN' AND ROWNUM =1;
1 row deleted.
SQL> DELETE FROM EMP WHERE ENAME ='WARD' AND ROWNUM <=3;
3 rows deleted.
15 rows selected.
SQL> ROLLBACK;
Rollback complete.
SQL> CL SCR
19 rows selected.
ENAME ROWID
---------- ------------------
ADAMS AAAE5SAABAAAK+hAAL
ALLEN AAAE5SAABAAAK+hAAH
ARJUN AAAE5SAABAAAK+hAAR
ARJUN AAAE5SAABAAAK+hAAS
BLAKE AAAE5SAABAAAK+hAAB
CLARK AAAE5SAABAAAK+hAAC
FORD AAAE5SAABAAAK+hAAF
JAMES AAAE5SAABAAAK+hAAM
JONES AAAE5SAABAAAK+hAAD
KING AAAE5SAABAAAK+hAAA
MARTIN AAAE5SAABAAAK+hAAJ
MILLER AAAE5SAABAAAK+hAAN
SCOTT AAAE5SAABAAAK+hAAE
SMITH AAAE5SAABAAAK+hAAG
TURNER AAAE5SAABAAAK+hAAK
WARD AAAE5SAABAAAK+hAAO
WARD AAAE5SAABAAAK+hAAP
WARD AAAE5SAABAAAK+hAAQ
WARD AAAE5SAABAAAK+hAAI
19 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ENAME,MIN(ROWID)
2 FROM EMP
3* GROUP BY ENAME
SQL> /
ENAME MIN(ROWID)
---------- ------------------
JONES AAAE5SAABAAAK+hAAD
ALLEN AAAE5SAABAAAK+hAAH
FORD AAAE5SAABAAAK+hAAF
ARJUN AAAE5SAABAAAK+hAAR
CLARK AAAE5SAABAAAK+hAAC
MILLER AAAE5SAABAAAK+hAAN
SMITH AAAE5SAABAAAK+hAAG
WARD AAAE5SAABAAAK+hAAI
SCOTT AAAE5SAABAAAK+hAAE
MARTIN AAAE5SAABAAAK+hAAJ
TURNER AAAE5SAABAAAK+hAAK
ADAMS AAAE5SAABAAAK+hAAL
KING AAAE5SAABAAAK+hAAA
BLAKE AAAE5SAABAAAK+hAAB
JAMES AAAE5SAABAAAK+hAAM
15 rows selected.
SQL> ED
Wrote file afiedt.buf
765 | P a g e
1 SELECT MIN(ROWID)
2 FROM EMP
3* GROUP BY ENAME
SQL> /
MIN(ROWID)
------------------
AAAE5SAABAAAK+hAAD
AAAE5SAABAAAK+hAAH
AAAE5SAABAAAK+hAAF
AAAE5SAABAAAK+hAAR
AAAE5SAABAAAK+hAAC
AAAE5SAABAAAK+hAAN
AAAE5SAABAAAK+hAAG
AAAE5SAABAAAK+hAAI
AAAE5SAABAAAK+hAAE
AAAE5SAABAAAK+hAAJ
AAAE5SAABAAAK+hAAK
AAAE5SAABAAAK+hAAL
AAAE5SAABAAAK+hAAA
AAAE5SAABAAAK+hAAB
AAAE5SAABAAAK+hAAM
15 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM EMP
3 WHERE ROWID NOT IN (
4 SELECT MIN(ROWID)
5 FROM EMP
6 GROUP BY ENAME
7* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 DELETE
2 FROM EMP
3 WHERE ROWID NOT IN (
4 SELECT MIN(ROWID)
5 FROM EMP
6 GROUP BY ENAME
7* )
SQL> /
4 rows deleted.
SQL> COMMIT;
766 | P a g e
Commit complete.
SQL> CL SCR
Table created.
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> ED
Wrote file afiedt.buf
1 row created.
SQL> COMMIT;
Commit complete.
767 | P a g e
SQL> CL SCR
SQL> SELECT *
2 FROM STD;
NAME FEES
-------------------- ----------
KRISHNA 1000
ARJUN 1000
HIMANSH 1000
ABHI 2000
SQL> SELECT *
2 FROM STD
3 WHERE ROWID NOT IN ( SELECT MIN(ROWID)
4 FROM STD
5 GROUP BY FEES
6 );
NAME FEES
-------------------- ----------
ARJUN 1000
HIMANSH 1000
SQL> ED
Wrote file afiedt.buf
1 SELECT NAME
2 ,FEES
3 ,ROWID
4* FROM STD
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT NAME
2 ,FEES
3 ,ROWID
4 FROM STD
5* ORDER BY FEES
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT NAME
2 ,FEES
3 ,ROWID
768 | P a g e
4 ,ROWNUM RN
5 FROM STD
6* ORDER BY FEES
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT NAME
2 ,FEES
3 ,ROWID RID
4 ,ROWNUM RN
5 FROM STD
6* ORDER BY FEES
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT NAME
2 ,FEES
3 ,ROWID RID
4 ,DENSE_RANK() OVER(PARTITION BY FEES) DR
5* FROM STD
SQL> /
,DENSE_RANK() OVER(PARTITION BY FEES) DR
*
ERROR at line 4:
ORA-30485: missing ORDER BY expression in the window specification
SQL> ED
Wrote file afiedt.buf
1 SELECT NAME
2 ,FEES
3 ,ROWID RID
4 ,DENSE_RANK() OVER(PARTITION BY FEES ORDER BY FEES) DR
5* FROM STD
SQL> /
SQL> ED
Wrote file afiedt.buf
769 | P a g e
1 SELECT NAME
2 ,FEES
3 ,ROWID RID
4 ,ROW_NUMBER() OVER(PARTITION BY FEES ORDER BY FEES) DR
5* FROM STD
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT NAME
4 ,FEES
5 ,ROWID RID
6 ,ROW_NUMBER() OVER(PARTITION BY FEES ORDER BY FEES) DR
7 ,COUNT(1) OVER(PARTITION BY FEES) CNT
8 FROM STD
9* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT NAME
4 ,FEES
5 ,ROWID RID
6 ,ROW_NUMBER() OVER(PARTITION BY FEES ORDER BY FEES) DR
7 ,COUNT(1) OVER(PARTITION BY FEES) CNT
8 FROM STD
9 )
10 WHERE( (DR =2 AND CNT > 1)
11 OR DR =1
12* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
770 | P a g e
3 SELECT NAME
4 ,FEES
5 ,ROWID RID
6 ,ROW_NUMBER() OVER(PARTITION BY FEES ORDER BY FEES) DR
7 ,COUNT(1) OVER(PARTITION BY FEES) CNT
8 FROM STD
9 )
10 WHERE( (DR =2 AND CNT > 1)
11 OR ( DR =1 AND CNT = 1)
12* )
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWID
2 FROM (
3 SELECT NAME
4 ,FEES
5 ,ROWID RID
6 ,ROW_NUMBER() OVER(PARTITION BY FEES ORDER BY FEES) DR
7 ,COUNT(1) OVER(PARTITION BY FEES) CNT
8 FROM STD
9 )
10 WHERE( (DR =2 AND CNT > 1)
11 OR ( DR =1 AND CNT = 1)
12* )
SQL> /
ROWID
------------------
AAAE5xAABAAAK+pAAB
AAAE5xAABAAAK+pAAD
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM STD
3 WHERE ROWID NOT IN (
4 SELECT ROWID
5 FROM (
6 SELECT NAME
7 ,FEES
8 ,ROWID RID
9 ,ROW_NUMBER() OVER(PARTITION BY FEES ORDER BY FEES) DR
10 ,COUNT(1) OVER(PARTITION BY FEES) CNT
11 FROM STD
12 )
13 WHERE( (DR =2 AND CNT > 1)
14 OR ( DR =1 AND CNT = 1)
15 )
16* )
SQL> /
NAME FEES
-------------------- ----------
KRISHNA 1000
HIMANSH 1000
771 | P a g e
SQL> ED
Wrote file afiedt.buf
1 DELETE
2 FROM STD
3 WHERE ROWID NOT IN (
4 SELECT ROWID
5 FROM (
6 SELECT NAME
7 ,FEES
8 ,ROWID RID
9 ,ROW_NUMBER() OVER(PARTITION BY FEES ORDER BY FEES) DR
10 ,COUNT(1) OVER(PARTITION BY FEES) CNT
11 FROM STD
12 )
13 WHERE( (DR =2 AND CNT > 1)
14 OR ( DR =1 AND CNT = 1)
15 )
16* )
SQL> /
2 rows deleted.
NAME FEES
-------------------- ----------
ARJUN 1000
ABHI 2000
SQL> ED
Wrote file afiedt.buf
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,MGR
4 FROM EMP
5* CONNECT BY EMPNO = MGR
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,MGR
4 FROM EMP
5 START WITH ENAME ='KING'
6* CONNECT BY EMPNO = MGR
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,MGR
4 FROM EMP
5 START WITH ENAME ='KING'
6* CONNECT BY PRIOR EMPNO = MGR
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='KING'
7 CONNECT BY PRIOR EMPNO = MGR
8* ORDER BY SAL
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='KING'
7 CONNECT BY PRIOR EMPNO = MGR
8* ORDER SIBLIGS BY SAL
SQL> /
ORDER SIBLIGS BY SAL
*
ERROR at line 8:
ORA-00924: missing BY keyword
SQL> ED
774 | P a g e
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='KING'
7 CONNECT BY PRIOR EMPNO = MGR
8* ORDER SIBLINGS BY SAL
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='KING'
7 CONNECT BY PRIOR EMPNO = MGR
8* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
775 | P a g e
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='BLAKE'
7 CONNECT BY PRIOR EMPNO = MGR
8* ORDER SIBLINGS BY SAL DESC
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='BLAKE'
7 CONNECT BY EMPNO = MGR PRIOR
8* ORDER SIBLINGS BY SAL DESC
SQL> /
CONNECT BY EMPNO = MGR PRIOR
*
ERROR at line 7:
ORA-00933: SQL command not properly ended
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='BLAKE'
7 CONNECT BY EMPNO = PRIOR MGR
8* ORDER SIBLINGS BY SAL DESC
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
776 | P a g e
3 ,SAL
4 ,MGR
5 FROM EMP
6 START WITH ENAME ='SMITH'
7 CONNECT BY EMPNO = PRIOR MGR
8* ORDER SIBLINGS BY SAL DESC
SQL> /
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,CONNECT_BY_ROOT(ENAME)
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,CONNECT_BY_ROOT(SAL)
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,CONNECT_BY_ROOT(SAL,ENAME)
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
,CONNECT_BY_ROOT(SAL,ENAME)
*
ERROR at line 5:
ORA-00907: missing right parenthesis
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,CONNECT_BY_ROOT(SAL)
6 ,CONNECT_BY_ROOT(ENAME)
7 FROM EMP
8 START WITH ENAME ='KING'
9 CONNECT BY PRIOR EMPNO = MGR
10* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,SYS_CONNECT_BY_PATH(ENAME,'<=') PATH
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> COLUMN PATH FORMAT A30
SQL> R
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,SYS_CONNECT_BY_PATH(ENAME,'<=') PATH
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,SYS_CONNECT_BY_PATH(ENAME,',') PATH
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,SYS_CONNECT_BY_PATH(ENAME,'=>') PATH
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,SYS_CONNECT_BY_PATH(SAL,'=>') PATH
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
780 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,SYS_CONNECT_BY_PATH(SAL,'=>') PATH
6 ,SYS_CONNECT_BY_PATH(ENAME,'=>') PATH
7 FROM EMP
8 START WITH ENAME ='KING'
9 CONNECT BY PRIOR EMPNO = MGR
10* ORDER SIBLINGS BY SAL DESC
SQL> /
=>KING=>BLAKE=>TURNER
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,SYS_CONNECT_BY_PATH(SAL,'=>') PATH
3 ,SYS_CONNECT_BY_PATH(ENAME,'=>') PATH
4 FROM EMP
5 START WITH ENAME ='KING'
6 CONNECT BY PRIOR EMPNO = MGR
7* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,SYS_CONNECT_BY_PATH(ENAME||' '||SAL,'=>') PATH
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
782 | P a g e
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SYS_CONNECT_BY_PATH(ENAME||' '||SAL,'=>') PATH
4 FROM EMP
5 START WITH ENAME ='KING'
6 CONNECT BY PRIOR EMPNO = MGR
7* ORDER SIBLINGS BY SAL DESC
8 /
14 rows selected.
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
784 | P a g e
5 ,CONNECT_BY_ISLEAF
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT EMPNO
4 ,ENAME
5 ,SAL
6 ,MGR
7 ,CONNECT_BY_ISLEAF LV
8 FROM EMP
9 START WITH ENAME ='KING'
10 CONNECT BY PRIOR EMPNO = MGR
11 ORDER SIBLINGS BY SAL DESC
12 )
13* WHERE LV=1
SQL> /
8 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT *
2 FROM (
3 SELECT EMPNO
4 ,ENAME
785 | P a g e
5 ,SAL
6 ,MGR
7 ,CONNECT_BY_ISLEAF LV
8 FROM EMP
9 START WITH ENAME ='KING'
10 CONNECT BY PRIOR EMPNO = MGR
11 ORDER SIBLINGS BY SAL DESC
12 )
13* WHERE LV=0
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,LEVEL
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,LEVEL
6 FROM EMP
786 | P a g e
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,CONNECT_BY_ISCYCLE
6 FROM EMP
7 START WITH ENAME ='BLAKE'
8 CONNECT BY PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
CONNECT BY PRIOR EMPNO = MGR
*
ERROR at line 8:
ORA-30930: NOCYCLE keyword is required with CONNECT_BY_ISCYCLE pseudocolumn
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,CONNECT_BY_ISCYCLE
6 FROM EMP
7 START WITH ENAME ='BLAKE'
8 CONNECT BY NOCYCLE PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
6 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT EMPNO
787 | P a g e
2 ,ENAME
3 ,SAL
4 ,MGR
5 ,CONNECT_BY_ISCYCLE
6 FROM EMP
7 START WITH ENAME ='KING'
8 CONNECT BY NOCYCLE PRIOR EMPNO = MGR
9* ORDER SIBLINGS BY SAL DESC
SQL> /
14 rows selected.
1 row updated.
14 rows selected.
788 | P a g e
SQL> CL SCR
ROWNUM
----------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT ROWNUM
2 FROM EMP
3* WHERE ROWNUM <=10
SQL> /
ROWNUM
----------
1
2
3
4
5
6
7
8
9
10
10 rows selected.
SQL> CL SCR
ROWNUM
----------
1
SQL> ED
Wrote file afiedt.buf
1 SELECT LEVEL
2 FROM DUAL
3* CONNECT BY LEVEL <=10
SQL> /
789 | P a g e
LEVEL
----------
1
2
3
4
5
6
7
8
9
10
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT LEVEL
2 FROM DUAL
3* CONNECT BY LEVEL <=100
SQL> /
LEVEL
----------
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
32
33
34
35
36
37
38
39
790 | P a g e
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
LEVEL
----------
98
99
100
791 | P a g e
SQL> ED
Wrote file afiedt.buf
1 SELECT LEVEL
2 FROM DUAL
3 WHERE MOD(LEVEL,2)=0
4* CONNECT BY LEVEL <=100
SQL> /
LEVEL
----------
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
38
40
42
44
46
48
50
52
54
56
58
60
62
64
66
68
70
72
74
76
78
80
82
84
86
88
90
92
94
96
98
100
792 | P a g e
50 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT LEVEL
2 FROM DUAL
3 WHERE MOD(LEVEL,2)=0
4* CONNECT BY LEVEL <=10
SQL> /
LEVEL
----------
2
4
6
8
10
SQL> ED
Wrote file afiedt.buf
1 SELECT LEVEL
2 FROM DUAL
3 WHERE MOD(LEVEL,2)=0
4 CONNECT BY LEVEL <=10
5 UNION
6 SELECT LEVEL
7 FROM DUAL
8 WHERE MOD(LEVEL,2)=1
9* CONNECT BY LEVEL <=10
SQL> /
LEVEL
----------
1
2
3
4
5
6
7
8
9
10
10 rows selected.
SQL> ED
Wrote file afiedt.buf
1 SELECT LEVEL
2 FROM DUAL
3 WHERE MOD(LEVEL,2)=0
4 CONNECT BY LEVEL <=10
5 UNION ALL
6 SELECT LEVEL
7 FROM DUAL
8 WHERE MOD(LEVEL,2)=1
9* CONNECT BY LEVEL <=10
SQL> /
LEVEL
793 | P a g e
----------
2
4
6
8
10
1
3
5
7
9
10 rows selected.