DATABASE CREATION
1) Creating Table
SQL> create table emp(empno number(4) primary key,ename
varchar2(10),job varchar2(9),mgr number(4),hiredate date,sal
number(7,2),comm number(7,2),deptno number(2));
Output:
Table created
2) Describing Table Structure
SQL> desc emp;
Output:
Name
Null?
Type
----------------------------------------- -------- ---------------------------EMPNO
ENAME
NOT NULL NUMBER(4)
VARCHAR2(10)
JOB
VARCHAR2(9)
MGR
NUMBER(4)
HIREDATE
SAL
COMM
DEPTNO
3) Inserting Data Into Table
DATE
NUMBER(7,2)
NUMBER(7,2)
NUMBER(2)
SQL> insert into emp
values(&empno,'&ename','&job',&mgr,'&hiredate',&sal,&comm,&deptn
o);
Output:
Enter value for empno: 1000
Enter value for ename: ajay
Enter value for job: manager
Enter value for mgr: 7890
Enter value for hiredate: 21-apr-08
Enter value for sal: 3000
Enter value for comm: 01
Enter value for deptno: 10
1 row created.
SQL> /
Enter value for empno: 2000
Enter value for ename: bhakti
Enter value for job: clerk
Enter value for mgr: 7891
Enter value for hiredate: 15-may-09
Enter value for sal: 2000
Enter value for comm: 02
Enter value for deptno: 20
1 row created.
SQL> /
Enter value for empno: 3000
Enter value for ename: piyu
Enter value for job: analyst
Enter value for mgr: 7892
Enter value for hiredate: 13-jan-05
Enter value for sal: 2500
Enter value for comm: 03
Enter value for deptno: 30
1 row created.
4) Use Of Select Command
SQL> select*from emp;
Output:
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7369 SMITH
CLERK
7902 17-DEC-80
800
20
7499 ALLEN
SALESMAN
7698 20-FEB-81
1600
300
SALESMAN
7698 22-FEB-81
1250
500
30
7521 WARD
30
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7566 JONES
MANAGER
7839 02-APR-81
2975
20
7654 MARTIN
SALESMAN
7698 28-SEP-81
1250
7839 01-MAY-81
2850
1400
30
7698 BLAKE
MANAGER
30
EMPNO ENAME
JOB
MGR HIREDATE
SAL
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7782 CLARK
MANAGER
7839 09-JUN-81
2450
10
7788 SCOTT
20
ANALYST
7566 19-APR-87
3000
COMM
7839 KING
PRESIDENT
17-NOV-81
5000
10
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7844 TURNER
SALESMAN
7698 08-SEP-81
1500
30
7876 ADAMS
CLERK
7788 23-MAY-87
1100
20
7900 JAMES
CLERK
7698 03-DEC-81
JOB
MGR HIREDATE
950
30
EMPNO ENAME
SAL
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7902 FORD
20
ANALYST
7566 03-DEC-81
3000
COMM
7934 MILLER
CLERK
7782 23-JAN-82
1300
manager
7890 21-APR-08
3000
10
1000 ajay
10
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------2000 bhakti
clerk
7891 15-MAY-09
2000
analyst
7892 13-JAN-05
2500
20
3000 piyu
30
17 rows selected.
DATABASE RETRIEVAL
1) Selecting Certain Fields or Columns
SQL> select ename,sal,deptno from emp;
Output:
ENAME
SAL
DEPTNO
---------- ---------- ---------SMITH
800
ALLEN
1600
30
WARD
1250
30
JONES
20
2975
20
MARTIN
1250
30
BLAKE
2850
30
CLARK
2450
10
SCOTT
3000
20
KING
5000
10
TURNER
1500
30
ADAMS
1100
20
ENAME
SAL
DEPTNO
---------- ---------- ---------JAMES
950
FORD
3000
20
MILLER
1300
10
ajay
bhakti
piyu
3000
2000
2500
17 rows selected.
30
10
20
30
2) Use Of Where clause
SQL> select*from emp where deptno=20;
Output:
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7369 SMITH
CLERK
7902 17-DEC-80
800
20
7566 JONES
MANAGER
7839 02-APR-81
2975
20
7788 SCOTT
ANALYST
7566 19-APR-87
3000
MGR HIREDATE
SAL
20
EMPNO ENAME
JOB
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7876 ADAMS
CLERK
7788 23-MAY-87
1100
ANALYST
7566 03-DEC-81
3000
20
7902 FORD
COMM
20
2000 bhakti
clerk
7891 15-MAY-09
2000
20
6 rows selected.
3)Use Of Logical Operator AND:
SQL> select empno,ename,hiredate from emp where sal<3000 and
deptno=30;
Output:
EMPNO ENAME
HIREDATE
---------- ---------- --------7499 ALLEN
20-FEB-81
7521 WARD
22-FEB-81
7654 MARTIN
28-SEP-81
7698 BLAKE
01-MAY-81
7844 TURNER
7900 JAMES
3000 piyu
08-SEP-81
03-DEC-81
13-JAN-05
7 rows selected.
4)Use Of Logical Operator OR:
SQL> select*from emp where deptno=10 or sal>2000;
Output:
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7566 JONES
MANAGER
7839 02-APR-81
2975
MANAGER
7839 01-MAY-81
2850
MANAGER
7839 09-JUN-81
2450
20
7698 BLAKE
30
7782 CLARK
10
EMPNO ENAME
JOB
MGR HIREDATE
SAL
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7788 SCOTT
ANALYST
7566 19-APR-87
3000
20
7839 KING
PRESIDENT
17-NOV-81
5000
10
7902 FORD
ANALYST
7566 03-DEC-81
3000
COMM
20
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7934 MILLER
CLERK
7782 23-JAN-82
1300
manager
7890 21-APR-08
3000
10
1000 ajay
10
3000 piyu
analyst
7892 13-JAN-05
2500
30
9 rows selected.
5)Use Of Logical Operator NOT
SQL> select*from emp where job not like 'CLERK';
Output:
EMPNO ENAME
JOB
MGR HIREDATE
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
SAL
COMM
---------7499 ALLEN
SALESMAN
7698 20-FEB-81
1600
300
SALESMAN
7698 22-FEB-81
1250
500
30
7521 WARD
30
7566 JONES
MANAGER
7839 02-APR-81
2975
20
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7654 MARTIN
SALESMAN
7698 28-SEP-81
1250
MANAGER
7839 01-MAY-81
2850
MANAGER
7839 09-JUN-81
2450
1400
30
7698 BLAKE
30
7782 CLARK
10
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7788 SCOTT
ANALYST
7566 19-APR-87
3000
20
7839 KING
PRESIDENT
17-NOV-81
5000
10
7844 TURNER
SALESMAN
7698 08-SEP-81
1500
30
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------7902 FORD
ANALYST
7566 03-DEC-81
3000
20
1000 ajay
manager
7890 21-APR-08
3000
10
2000 bhakti
20
clerk
7891 15-MAY-09
2000
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- --------- ---------- ---------DEPTNO
---------3000 piyu
analyst
7892 13-JAN-05
2500
30
13 rows selected.
6) Distinct Clause
SQL> select distinct deptno from emp;
Output:
DEPTNO
---------10
20
30
7)Order By Clause
SQL> select ename,deptno,hiredate from emp order by hiredate desc;
Output:
ENAME
DEPTNO HIREDATE
---------- ---------- --------bhakti
20 15-MAY-09
ajay
10 21-APR-08
piyu
30 13-JAN-05
ADAMS
20 23-MAY-87
SCOTT
20 19-APR-87
MILLER
10 23-JAN-82
JAMES
30 03-DEC-81
FORD
20 03-DEC-81
KING
10 17-NOV-81
MARTIN
30 28-SEP-81
TURNER
30 08-SEP-81
ENAME
DEPTNO HIREDATE
---------- ---------- --------CLARK
10 09-JUN-81
BLAKE
30 01-MAY-81
JONES
20 02-APR-81
WARD
30 22-FEB-81
ALLEN
30 20-FEB-81
SMITH
20 17-DEC-80
17 rows selected.
8) Creating Another Table
SQL> create table emp1(emp_no,emp_name,emp_sal,dept_no)as
select empno,ename,sal,deptno from emp;
Output:
Table created.
SQL> select*from emp1;
EMP_NO EMP_NAME
EMP_SAL
DEPT_NO
---------- ---------- ---------- ---------7369 SMITH
800
7499 ALLEN
1600
30
7521 WARD
1250
30
7566 JONES
2975
20
20
7654 MARTIN
1250
30
7698 BLAKE
2850
30
7782 CLARK
2450
10
7788 SCOTT
3000
20
7839 KING
5000
10
7844 TURNER
1500
30
7876 ADAMS
1100
20
EMP_NO EMP_NAME
EMP_SAL
---------- ---------- ---------- ---------7900 JAMES
950
7902 FORD
3000
30
20
DEPT_NO
7934 MILLER
1000 ajay
1300
3000
2000 bhakti
3000 piyu
2000
2500
10
10
20
30
17 rows selected.
9)Delete Operation
SQL> delete from emp1 where emp_sal<2000;
Output:
8 rows deleted.
SQL> select*from emp1;
EMP_NO EMP_NAME
EMP_SAL
---------- ---------- ---------- ---------7566 JONES
2975
20
7698 BLAKE
2850
30
7782 CLARK
2450
10
7788 SCOTT
3000
20
7839 KING
7902 FORD
1000 ajay
5000
3000
3000
10
20
10
DEPT_NO
2000 bhakti
3000 piyu
2000
2500
20
30
9 rows selected.
10)Updating Table
SQL> update emp1 set emp_sal=4000;
Output:
9 rows updated.
SQL> select*from emp1;
EMP_NO EMP_NAME
EMP_SAL
---------- ---------- ---------- ---------7566 JONES
4000
20
7698 BLAKE
4000
30
7782 CLARK
4000
10
7788 SCOTT
4000
20
7839 KING
7902 FORD
1000 ajay
2000 bhakti
3000 piyu
9 rows selected.
4000
4000
4000
4000
4000
10
20
10
20
30
DEPT_NO
11) Modifying Table Structure
SQL> desc emp1;
Output:
Name
Null?
Type
----------------------------------------- -------- ---------------------------EMP_NO
NUMBER(4)
EMP_NAME
VARCHAR2(10)
EMP_SAL
NUMBER(7,2)
DEPT_NO
NUMBER(2)
SQL> alter table emp1 add(city char(10));
Table altered.
SQL> desc emp1;
Name
Null?
Type
----------------------------------------- -------- ---------------------------EMP_NO
NUMBER(4)
EMP_NAME
VARCHAR2(10)
EMP_SAL
NUMBER(7,2)
DEPT_NO
NUMBER(2)
CITY
CHAR(10)
SQL> alter table emp1 drop column dept_no;
Table altered.
SQL> desc emp1;
Name
Null?
Type
----------------------------------------- -------- ---------------------------EMP_NO
NUMBER(4)
EMP_NAME
VARCHAR2(10)
EMP_SAL
CITY
NUMBER(7,2)
CHAR(10)
SQL> alter table emp1 modify(city char(20));
Table altered.
SQL> desc emp1;
Name
Null?
Type
----------------------------------------- -------- ---------------------------EMP_NO
EMP_NAME
NUMBER(4)
VARCHAR2(10)
EMP_SAL
CITY
NUMBER(7,2)
CHAR(20)