Professional Documents
Culture Documents
Lecture week 5
Lecture Overview
CASE Expression
Group Functions
AVG
MAX
MIN
SUM
COUNT
Etc
CASE Expression
Syntax
CASE Expression
WHEN <compare value> THEN <return value>..
[ELSE <return value>..]
END
SAL
--------800
1600
1250
2975
1250
2850
2450
3000
5000
Practice
NOTE:-
CASE Expression
Another way to apply CASE in SQL
Select deptno, CASE deptno
WHEN 10 THEN SALES
WHEN 20 THEN ACCOUNTS
WHEN 30 THEN ADMIN
ELSE OTHER
END
DEPTNO
CASEDEPT
from emp;
----------------20
30
10
ACCOUNTS
ADMIN
SALES
Group Functions
Group Functions
Average Function
SAL
---------800
900
800
600
200
200
6 rows selected.
D
I
F
F
E
R
E
N
C
E
AVG(DISTINCT SAL)
---------------2064.58333
SUM Function
SUM Function
To find total of SAL column of emp table
SQL> select sum(sal) from emp;
SUM(SAL)
---------3500
SUM can different according to available SALARY column
SUM Function
SUM(COMM)
---------120
For example:
SQL> select max(sal) from emp;
MAX(SAL)
---------900
Example:
Maximum Minimum
Salary
Salary
Difference
MAX(SAL)-MIN(SAL)
----------------4200
MY_DATE
-------12/17/80
02/20/81
02/22/81
04/02/81
09/28/81
05/01/81
10
MY_DATE
---------17/12/1980
20/02/1981
22/02/1981
02/04/1981
28/09/1981
01/05/1981
09/06/1981
MY_DATE
----------------December 17,1980
February 20,1981
February 22,1981
April 02,1981
September 28,1981
May
01,1981
11
YEAR
---1980
1981
1981
1981
1981
SQL>select ENAME,
To_CHAR (HIREDATE, 'Month DD,YYYY HH:MI PM') as
MY_DATE
-------------------------December 17,1980 12:00 AM
February 20,1981 12:00 AM
February 22,1981 12:00 AM
April 02,1981 12:00 AM
12
DECODE Function
Suppose we want to
display character A instead of deptno 10 in emp
table
and we want to display B instead of deptno 20
and for all other deptno we want to display character
C or word Other.
SQL>
ENAME
---------SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
DEPTNO
---------20
30
30
20
30
30
10
DECODE
----B
Other
Other
B
Other
Other
A
13
SQL>
DEPTNO
---------20
30
30
20
30
30
10
DECODE
----B
C
C
B
C
C
This is 10
RDBMS
Inserting, Updating & Deleting rows in a table
Commit and Rollback
Alter table Structure
14
15
EMP TABLE
Name
Type
------------------------------- -------- ---EMPNO
NUMBER(4)
ENAME
VARCHAR2(10)
JOB
VARCHAR2(9)
MGR
NUMBER(4)
HIREDATE
DATE
SAL
NUMBER(7,2)
COMM
NUMBER(7,2)
DEPTNO
NUMBER(2)
INSERT a row
in EMP table
SAL
COMM DEPTNO
---------- ---------- ---------1500
800
10
1650
600
30
16
JOB
--------CLERK
ANALYST
CLERK
CLERK
MGR
---------7698
7566
7782
HIREDATE SAL
-----------------03-DEC-81
950
03-DEC-81
3000
23-JAN-82
1300
500
DEPTNO
---------30
20
10
30
17
JOB
--------CLERK
ANALYST
CLERK
CLERK
MGR
---------7698
7566
7782
HIREDATE SAL
-----------------03-DEC-81
950
03-DEC-81
3000
23-JAN-82
1300
500
DEPTNO
---------30
20
10
30
HIREDATE SAL
-----------------03-DEC-81
950
03-DEC-81
3000
23-JAN-82
1300
DEPTNO
---------30
20
10
SQL> ROLLBACK;
SQL> select * from emp;
EMPNO ENAME
JOB
----------------------7900
JAMES
CLERK
7902
FORD
ANALYST
7934
MILLER CLERK
MGR
---------7698
7566
7782
18
JOB
--------CLERK
ANALYST
CLERK
CLERK
MGR
---------7698
7566
7782
HIREDATE SAL
-----------------03-DEC-81
950
03-DEC-81
3000
23-JAN-82
1300
500
DEPTNO
---------30
20
10
30
HIREDATE SAL
-----------------03-DEC-81
950
03-DEC-81
3000
23-JAN-82
1300
500
DEPTNO
---------30
20
10
30
SQL> ROLLBACK;
SQL> select * from emp;
EMPNO ENAME
--------------7900
JAMES
7902
FORD
7934
MILLER
123
JON
JOB
--------CLERK
ANALYST
CLERK
CLERK
MGR
---------7698
7566
7782
Updating Fields
in a table
19
UPDATE command
UPDATE table-name
SET
field 1 = value , field 2 = value , ..
WHERE logical expression ;
UPDATE command
UPDATE emp
SET
sal = 1200
WHERE ename = SMITH ;
This update command will update salary of
SMITH in emp table.
20
UPDATE command
UPDATE emp
SET
sal = 1500 , comm = comm * 2
WHERE job = MANAGER ;
21
UPDATE emp
SET sal = sal * 1.15
Where job = MANAGER ;
22
Deleting Records
From a Table
DELETE command
23
DELETE command
STOP!
Enter ROLLBACK to undo if you have deleted
all records from a table. ( SQL> rollback; )
24
DELETE command
Try This
Delete record from emp table, whose deptno is
10 and hiredate is 09-JUN-81 .
MODIFYING TABLE
25
26
27
Changing Data-type
SQL> ALTER TABLE TEST
MODIFY (ID
varchar (6) );
Table altered.
SQL> desc test;
Name
Null? Type
------------------------------- -------- ---ID
VARCHAR (6)
NAME
VARCHAR (14)
28
Adding a Column
29
Adding a Column
Adding a Column
SQL> ALTER TABLE TEST
ADD (address varchar(20) );
Table altered.
SQL> desc test;
Name
Null? Type
------------------------------- -------- ---ID
NUMBER (9)
NAME
VARCHAR(14)
ADDRESS
VARCHAR(20)
30
Thanks
31