You are on page 1of 16

13 th august

clear screen-clears the screen sql * plus command


select * from tab;- displaYS THE tables info.
select * from all_users;
describe emp,desc dept.
describe emp
set pagesize 50
/
SQL> select ename,hiredate from emp;-projection column names.
SQL> list
1* select * from emp
SQL> clear buffer
buffer cleared
SQL> /
SP2-0103: Nothing in SQL buffer to run.
SQL> set linesize 1000
SQL> set linesize 1000
SQL> /
SP2-0103: Nothing in SQL buffer to run.
SQL> select * from tab
2
SQL> select * from tab;
select hiredate "do of jn" from emp-projection
/
select * from emp where job-'salesman'-restriction
/
SQL> SELECT * FROM EMP WHERE SAL>=2000 AND SAL<=4000;
SQL> SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 4000;
4000 AND 2000-WRONG.
SQL> SELECT * FROM EMP WHERE SAL IN(2000,5000,3000);

SQL> SELECT * FROM EMP WHERE COMM='NULL';


SELECT * FROM EMP WHERE COMM='NULL'
*
ERROR at line 1:
ORA-01722: invalid number
SQL> SELECT * FROM EMP WHERE=NULL;
SELECT * FROM EMP WHERE=NULL
*
ERROR at line 1:
ORA-00936: missing expression
SQL> SELECT * FROM EMP WHERE COMM IS NULL;
SQL> SELECT * FROM EMP WHERE COMM IN(300);

SQL> SELECT * FROM EMP WHERE COMM IS NOT NULL BETWEEN 200 AND 400;
SELECT * FROM EMP WHERE COMM IS NOT NULL BETWEEN 200 AND 400
*
ERROR at line 1:
ORA-00933: SQL command not properly ended
SQL> SELECT * FROM EMP WHERE COMM IS IN(300);
SELECT * FROM EMP WHERE COMM IS IN(300)
*
ERROR at line 1:
ORA-00908: missing NULL keyword
SQL> SELECT * FROM EMP WHERE COMM IN(300);
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
D
EPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- --------7499 ALLEN
SALESMAN
7698 20-FEB-81
1600
300
30
SQL> SELECT * FROM EMP WHERE COMM NOT IN(300);
EMPNO
EPTNO
-------------7521
30
7654
30
7844
30

ENAME

JOB

MGR HIREDATE

SAL

COMM

---------- --------- ---------- --------- ---------- ---------- ----WARD

SALESMAN

7698 22-FEB-81

1250

500

MARTIN

SALESMAN

7698 28-SEP-81

1250

1400

TURNER

SALESMAN

7698 08-SEP-81

1500

SAL

COMM

SQL> SELECT * FROM EMP WHERE COMM NOT BETWEEN 200 AND 400;
EMPNO
EPTNO
-------------7521
30
7654
30
7844
30

ENAME

JOB

MGR HIREDATE

---------- --------- ---------- --------- ---------- ---------- ----WARD

SALESMAN

7698 22-FEB-81

1250

500

MARTIN

SALESMAN

7698 28-SEP-81

1250

1400

TURNER

SALESMAN

7698 08-SEP-81

1500

SQL>
SQL> SELECT 1+1 FROM DUAL
2 /

1+1
---------2

SQL> SET LINES 100


SQL> DESC DUAL
Name
Null?
Type
----------------------------------------------------- -------- --------------------------DUMMY
VARCHAR2(1)
SQL>
SQL> SELECT ENAME|| HIREDATE FROM EMP;
ENAME||HIREDATE
------------------SMITH17-DEC-80
ALLEN20-FEB-81
WARD22-FEB-81
JONES02-APR-81
MARTIN28-SEP-81
BLAKE01-MAY-81
CLARK09-JUN-81
SCOTT19-APR-87
KING17-NOV-81
TURNER08-SEP-81
ADAMS23-MAY-87
JAMES03-DEC-81
FORD03-DEC-81
MILLER23-JAN-82
EMPNO
EPTNO
-------------7369
20
7566
20
7698
30
7782
10
7788
20
7839
10
7876
20
7900
30
7902
20
7934
10

ENAME

JOB

MGR HIREDATE

SAL

COMM

---------- --------- ---------- --------- ---------- ---------- ----SMITH

CLERK

7902 17-DEC-80

800

JONES

MANAGER

7839 02-APR-81

2975

BLAKE

MANAGER

7839 01-MAY-81

2850

CLARK

MANAGER

7839 09-JUN-81

2450

SCOTT

ANALYST

7566 19-APR-87

3000

KING

PRESIDENT

17-NOV-81

5000

ADAMS

CLERK

7788 23-MAY-87

1100

JAMES

CLERK

7698 03-DEC-81

950

FORD

ANALYST

7566 03-DEC-81

3000

MILLER

CLERK

7782 23-JAN-82

1300

10 rows selected.
SQL>
SQL> SELECT ENAME || '

' || HIREDATE FROM EMP;

ENAME||''||HIREDATE
---------------------SMITH 17-DEC-80
ALLEN 20-FEB-81
WARD 22-FEB-81
JONES 02-APR-81
MARTIN 28-SEP-81
BLAKE 01-MAY-81
CLARK 09-JUN-81
SCOTT 19-APR-87
KING 17-NOV-81
TURNER 08-SEP-81
ADAMS 23-MAY-87
JAMES 03-DEC-81
FORD 03-DEC-81
MILLER 23-JAN-82

SQL> SELECT SAL*12 FROM EMP;


SAL*12
---------9600
19200
15000
35700
15000
34200
29400
36000
60000
18000
13200
11400
36000
15600
14 rows selected.
SQL> ED
Wrote file afiedt.buf
1* SELECT SAL*12+COMM FROM EMP
SQL> /
SAL*12+COMM
----------19500
15500
16400

SQL> SELECT ENAME,JOB FROM EMP


2 WHERE ENAME LIKE '%S' OR ENAME LIKE '%T';
ENAME
---------JONES
SCOTT
ADAMS
JAMES

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

2* WHERE ENAME LIKE '__A__' OR ENAME LIKE 'T%'


QL> /
NAME
--------LAKE
LARK
URNER
DAMS

JOB
--------MANAGER
MANAGER
SALESMAN
CLERK

SQL> SELECT SAL,LENGTH(SAL) FROM EMP;


SAL LENGTH(SAL)
---------- ----------800
3
1600
4
1250
4
2975
4
1250
4
2850
4
2450
4
3000
4
5000
4
1500
4
1100
4
950
3
3000
4
1300
4
14 rows selected.
SQL> SELECT UPPER(ENAME),LOWER(ENAME) FROM EMP;
UPPER(ENAM
---------SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT

LOWER(ENAM
---------smith
allen
ward
jones
martin
blake
clark
scott

KING
TURNER
ADAMS
JAMES
FORD
MILLER

king
turner
adams
james
ford
miller

SQL> SELECT LOWER(ENAME),UPPER(ENAME) FROM EMP;


LOWER(ENAM
---------smith
allen
ward
jones
martin
blake
clark
scott
king
turner
adams
james
ford
miller

UPPER(ENAM
---------SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

14 rows selected.
SQL> SELECT ENAME,SUBSTR(ENAME,2,3) FROM EMP;-SUBSTR(STRING,STARTING CHAR NO., H
OW MANY CHAR);-IF NOT GIVEN HOW MANY CHAR ,THEN UPTO LAST;;;
ENAME
---------SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

SUB
--MIT
LLE
ARD
ONE
ART
LAK
LAR
COT
ING
URN
DAM
AME
ORD
ILL

14 rows selected.

SQL> SELECT INSTR('MESPOTAMIA MEMPHIS','M') FROM DUAL-SEARCH M;


INSTR('MESPOTAMIAMEMPHIS','M')
------------------------------

1
SQL> SELECT INSTR('MESPOTAMIA MEMPHIS','M',2)FROM DUAL;-SEARCH M FROM 2ND POS.
INSTR('MESPOTAMIAMEMPHIS','M',2)
-------------------------------8
SQL> SELECT INSTR('MESPOTAMIA MEMPHIS','M',2,2) FROM DUAL;-SEARCH M FROM 2 POSI
TION NBUT THE SECOND OCCURENCE.
ALWAYS INDEXING FROM 1ST POSITION.
INSTR('MESPOTAMIAMEMPHIS','M',2,2)
---------------------------------12
SQL>
SQL> SELECT ENAME,TRIM ('S' FROM ENAME)FROM EMP;
ENAME
---------SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

TRIM('S'FR
---------MITH
ALLEN
WARD
JONE
MARTIN
BLAKE
CLARK
COTT
KING
TURNER
ADAM
JAME
FORD
MILLER

SQL> SELECT ENAME,LPAD(ENAME,20,'*') FROM EMP;


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

LPAD(ENAME,20,'*')
-------------------***************SMITH
***************ALLEN
****************WARD
***************JONES
**************MARTIN
***************BLAKE
***************CLARK
***************SCOTT
****************KING
**************TURNER
***************ADAMS
***************JAMES
****************FORD
**************MILLER

14 rows selected.
SQL> SELECT ENAME RPAD(ENAME,29,'*') FROM EMP;
SELECT ENAME RPAD(ENAME,29,'*') FROM EMP

*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
SQL> SELECT ENAME,RPAD(ENAME,29,'*');
SELECT ENAME,RPAD(ENAME,29,'*')
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
SQL> SELECT ENAME,RPAD(ENAME,29,'*') FROM EMP;-JUSTRIFICATION LEFT.
ENAME
---------SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

RPAD(ENAME,29,'*')
----------------------------SMITH************************
ALLEN************************
WARD*************************
JONES************************
MARTIN***********************
BLAKE************************
CLARK************************
SCOTT************************
KING*************************
TURNER***********************
ADAMS************************
JAMES************************
FORD*************************
MILLER***********************

14 rows selected.
SQL> SELECT ENAME,RPAD(ENAME,4,'*');
SELECT ENAME,RPAD(ENAME,4,'*')
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected

SQL> SELECT INITCAP('HELLO ORACLE')FROM DUAL;-CAPITALIZE FIRST WORD OF SENTENCE.


INITCAP('HEL
-----------Hello Oracle
SQL>
SQL> SELECT ENAME,RPAD(ENAME,4,'*')FROM EMP;-STRING TRUNCATION
ENAME
---------SMITH
ALLEN
WARD
JONES
MARTIN

RPAD
---SMIT
ALLE
WARD
JONE
MART

BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

BLAK
CLAR
SCOT
KING
TURN
ADAM
JAME
FORD
MILL

14 rows selected.
SQL>

SQL> SELECT ABS(-22),(-33) FROM DUAL;


ABS(-22)
(-33)
---------- ---------22
-33
SQL> SELECT MOD(5,2) FROM DUAL;
MOD(5,2)
---------1
SQL> SELECT ABS(-45) FROM DUAL;
ABS(-45)
---------45
SQL> SELECT POWER(9,2) FROM DUAL;
POWER(9,2)
---------81
SQL> SELECT SIN(30),COS(3.142/2)FROM DUAL;
SIN(30) COS(3.142/2)
---------- ------------.98803162 -.00020367
SQL> SELECT COS(1.6) FROM DUAL;
COS(1.6)
----------.02919952
SQL> SELECT COS(3/2) FROM DUAL;
COS(3/2)
---------.070737202
SQL> SELECT SIGN(-23),SIGN (0),SIGN(45) FROM DUAL;

SIGN(-23)
SIGN(0) SIGN(45)
---------- ---------- ----------1
0
1
SQL> SELECT COS(1.5) FROM DUAL;
COS(1.5)
---------.070737202
SQL> SELECT ROUND(181917.1367,2),TRUNC(181917.1367,2) FROM DUAL;
ROUND(181917.1367,2) TRUNC(181917.1367,2)
-------------------- -------------------181917.14
181917.13

SQL> SELECT ROUND(1345.678) FROM DUAL;-WILL ROUND TO ZERO PLACES OF DECIMAL.


ROUND(1345.678)
--------------1346
SQL>

SQL> SELECT ROUND(1345.678) FROM DUAL;


ROUND(1345.678)
--------------1346
SQL>

SQL> select SAL,COMM,SAL+NVL(COMM,0)FROM EMP;


SAL
COMM SAL+NVL(COMM,0)
---------- ---------- --------------800
800
1600
300
1900
1250
500
1750
2975
2975
1250
1400
2650
2850
2850
2450
2450
3000
3000
5000
5000
1500
0
1500
1100
1100
SAL
COMM SAL+NVL(COMM,0)
---------- ---------- --------------950
950
3000
3000
1300
1300

14 rows selected.
SQL> SELECT SAL,COMM,NVL2(COMM,'NN','NULL')FROM EMP;
SAL
COMM NVL2
---------- ---------- ---800
NULL
1600
300 NN
1250
500 NN
2975
NULL
1250
1400 NN
2850
NULL
2450
NULL
3000
NULL
5000
NULL
1500
0 NN
1100
NULL
SAL
COMM NVL2
---------- ---------- ---950
NULL
3000
NULL
1300
NULL

SQL> SELECT NULLIF(10,10) FROM DUAL;-RETURNS NULL IF EQUAL


NULLIF(10,10)
------------SQL> SELECT NULLIF(12,15) FROM DUAL;-RETURNS FIRST
NULLIF(12,15)
------------12
SQL>

SQL> SELECT COALESCE(MGR,COMM,DEPTNO) FROM EMP;-RETURNS THE FIRST NULL VALUE IN


THE ROW OF PARTICULAR RECORD.

COALESCE(MGR,COMM,DEPTNO)
------------------------7902
7698
7698
7839
7698
7839
7839
7566
10
7698

7788
7698
7566
7782
SQL> SELECT DEPTNO,DECODE(DEPTNO,10,'TEN',20,'TWENTY','NONE') FROM EMP;
DEPTNO
---------20
30
30
20
30
30
10
20
10
30
20
30
20
10

DECODE
-----TWENTY
NONE
NONE
TWENTY
NONE
NONE
TEN
TWENTY
TEN
NONE
TWENTY
NONE
TWENTY
TEN

14 rows selected.
SQL> SELECT DISTINCT JOB FROM EMP;
JOB
--------CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST
SQL>
SQL> SELECT DEPTNO,SUM(SAL) FROM EMP GROUP BY DEPTNO;
DEPTNO SUM(SAL)
---------- ---------30
9400
20
10875
10
8750
SQL>
SQL> SELECT DISTINCT JOB FROM EMP;
JOB
--------CLERK
SALESMAN
PRESIDENT
MANAGER
ANALYST

SQL> SELECT DEPTNO,SUM(SAL) FROM EMP GROUP BY DEPTNO;


DEPTNO SUM(SAL)
---------- ---------30
9400
20
10875
10
8750
SQL> SELECT SUM(SAL) FROM EMP GROUP BY DEPTNO;
SUM(SAL)
---------9400
10875
8750
SQL> SELECT DEPTNO,SUM(SAL) FROM EMP
2 GROUP BY DEPTNO
3 HAVING SUM (SAL)>3000;
DEPTNO SUM(SAL)
---------- ---------30
9400
20
10875
10
8750
SQL> SELECT * FROM EMP;
EMPNO
EPTNO
-------------7369
20
7499
30
7521
30
7566
20
7654
30
7698
30
7782
10
7788
20
7839
10
7844
30
7876
20
7900
30
7902
20
7934
10

ENAME

JOB

MGR HIREDATE

SAL

COMM

---------- --------- ---------- --------- ---------- ---------- ----SMITH

CLERK

7902 17-DEC-80

800

ALLEN

SALESMAN

7698 20-FEB-81

1600

300

WARD

SALESMAN

7698 22-FEB-81

1250

500

JONES

MANAGER

7839 02-APR-81

2975

MARTIN

SALESMAN

7698 28-SEP-81

1250

BLAKE

MANAGER

7839 01-MAY-81

2850

CLARK

MANAGER

7839 09-JUN-81

2450

SCOTT

ANALYST

7566 19-APR-87

3000

KING

PRESIDENT

17-NOV-81

5000

TURNER

SALESMAN

7698 08-SEP-81

1500

ADAMS

CLERK

7788 23-MAY-87

1100

JAMES

CLERK

7698 03-DEC-81

950

FORD

ANALYST

7566 03-DEC-81

3000

MILLER

CLERK

7782 23-JAN-82

1300

1400

14 rows selected.
SQL> SELECT * FROM EMP ORDER BY ENAME;
EMPNO
EPTNO
-------------7876
20
7499
30
7698
30
7782
10
7902
20
7900
30
7566
20
7839
10
7654
30
7934
10
7788
20
7369
20
7844
30
7521
30

ENAME

JOB

MGR HIREDATE

SAL

COMM

---------- --------- ---------- --------- ---------- ---------- ----ADAMS

CLERK

7788 23-MAY-87

1100

ALLEN

SALESMAN

7698 20-FEB-81

1600

BLAKE

MANAGER

7839 01-MAY-81

2850

CLARK

MANAGER

7839 09-JUN-81

2450

FORD

ANALYST

7566 03-DEC-81

3000

JAMES

CLERK

7698 03-DEC-81

950

JONES

MANAGER

7839 02-APR-81

2975

KING

PRESIDENT

17-NOV-81

5000

MARTIN

SALESMAN

7698 28-SEP-81

1250

MILLER

CLERK

7782 23-JAN-82

1300

SCOTT

ANALYST

7566 19-APR-87

3000

SMITH

CLERK

7902 17-DEC-80

800

TURNER

SALESMAN

7698 08-SEP-81

1500

WARD

SALESMAN

7698 22-FEB-81

1250

500

SAL

COMM

300

1400

14 rows selected.
SQL>

SQL> SELECT * FROM EMP ORDER BY ENAME;


EMPNO
EPTNO
-------------7876
20
7499
30
7698
30
7782
10
7902
20

ENAME

JOB

MGR HIREDATE

---------- --------- ---------- --------- ---------- ---------- ----ADAMS

CLERK

7788 23-MAY-87

1100

ALLEN

SALESMAN

7698 20-FEB-81

1600

BLAKE

MANAGER

7839 01-MAY-81

2850

CLARK

MANAGER

7839 09-JUN-81

2450

FORD

ANALYST

7566 03-DEC-81

3000

300

7900 JAMES

CLERK

7698 03-DEC-81

950

7566 JONES

MANAGER

7839 02-APR-81

2975

7839 KING

PRESIDENT

17-NOV-81

5000

7654 MARTIN

SALESMAN

7698 28-SEP-81

1250

7934 MILLER

CLERK

7782 23-JAN-82

1300

7788 SCOTT

ANALYST

7566 19-APR-87

3000

7369 SMITH

CLERK

7902 17-DEC-80

800

7844 TURNER

SALESMAN

7698 08-SEP-81

1500

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

SAL

COMM

30
20
10
1400

30
10
20
20
30
30
14 rows selected.
SQL> SELECT * FROM EMP ORDER BY HIREDATE;
EMPNO
EPTNO
-------------7369
20
7499
30
7521
30
7566
20
7698
30
7782
10
7844
30
7654
30
7839
10
7900
30
7902
20
7934
10
7788
20
7876
20

ENAME

MGR HIREDATE

---------- --------- ---------- --------- ---------- ---------- ----SMITH

CLERK

7902 17-DEC-80

800

ALLEN

SALESMAN

7698 20-FEB-81

1600

300

WARD

SALESMAN

7698 22-FEB-81

1250

500

JONES

MANAGER

7839 02-APR-81

2975

BLAKE

MANAGER

7839 01-MAY-81

2850

CLARK

MANAGER

7839 09-JUN-81

2450

TURNER

SALESMAN

7698 08-SEP-81

1500

MARTIN

SALESMAN

7698 28-SEP-81

1250

1400

KING

PRESIDENT

17-NOV-81

5000

JAMES

CLERK

7698 03-DEC-81

950

FORD

ANALYST

7566 03-DEC-81

3000

MILLER

CLERK

7782 23-JAN-82

1300

SCOTT

ANALYST

7566 19-APR-87

3000

ADAMS

CLERK

7788 23-MAY-87

1100

14 rows selected.
SQL>

JOB

SQL> SELECT JOB FROM EMP WHERE DEPTNO=10


2 UNION
3 SELECT JOB FROM EMP WHERE DEPTNO=30;
JOB
--------CLERK
MANAGER
PRESIDENT
SALESMAN
SQL> SELECT JOB FROM EMP WHERE DEPTNO=10
2 INTERSECT
3 SELECT JOB FROM EMP WHERE DEPTNO=30;
JOB
--------CLERK
MANAGER
SQL> SELECT JOB FROM EMP WHERE DEPTNO=30
2 UNION ALL
3 SELECT JOB FROM EMP WHERE DEPTNO=10;
JOB
--------SALESMAN
SALESMAN
SALESMAN
MANAGER
SALESMAN
CLERK
MANAGER
PRESIDENT
CLERK
9 rows selected.
SQL>

select sal,DECODE(SIGN(SAL-3000),-1,'LSAL',0,'MSAL','HSAL') FROM EMP;

You might also like