0% found this document useful (0 votes)
221 views30 pages

Create and Insert Command

The document demonstrates how to use SQL commands to create tables, insert data, alter tables, select data, and grant/revoke user privileges in Oracle. It creates DEPT and SAL tables, inserts sample data, performs queries with filters, joins columns, and makes various changes to the table structures and data. User privileges are granted to a new user named parimi and then revoked.

Uploaded by

Balakrishna Allu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
0% found this document useful (0 votes)
221 views30 pages

Create and Insert Command

The document demonstrates how to use SQL commands to create tables, insert data, alter tables, select data, and grant/revoke user privileges in Oracle. It creates DEPT and SAL tables, inserts sample data, performs queries with filters, joins columns, and makes various changes to the table structures and data. User privileges are granted to a new user named parimi and then revoked.

Uploaded by

Balakrishna Allu
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1/ 30

CREATE AND INSERT COMMAND

SQL> CREATE TABLE DEPT(DEPTNO NUMBER(10),DNAME VARCHAR(10),LOC CHAR(10));


Table created.
SQL> INSERT INTO DEPT VALUES(&1,'&2','&3');
Enter value for 1: 10
Enter value for 2: ACCOUNTING
Enter value for 3: NEWYORK
old 1: INSERT INTO DEPT VALUES(&1,'&2','&3')
new 1: INSERT INTO DEPT VALUES(10,'ACCOUNTING','NEWYORK')
1 row created.
SQL> /
Enter value for 1: 20
Enter value for 2: RESEARCH
Enter value for 3: DALLAS
old 1: INSERT INTO DEPT VALUES(&1,'&2','&3')
new 1: INSERT INTO DEPT VALUES(20,'RESEARCH','DALLAS')
1 row created.
SQL> /
Enter value for 1: 30
Enter value for 2: SALES
Enter value for 3: CHICAGO
old 1: INSERT INTO DEPT VALUES(&1,'&2','&3')
new 1: INSERT INTO DEPT VALUES(30,'SALES','CHICAGO')
1 row created.
SQL> /
Enter value for 1: 40

Enter value for 2: OPERATIONS


Enter value for 3: BOSTON
old 1: INSERT INTO DEPT VALUES(&1,'&2','&3')
new 1: INSERT INTO DEPT VALUES(40,'OPERATIONS','BOSTON')
1 row created.
SQL> /
Enter value for 1: 50
Enter value for 2: DDDD
Enter value for 3: HYD
old 1: INSERT INTO DEPT VALUES(&1,'&2','&3')
new 1: INSERT INTO DEPT VALUES(50,'DDDD','HYD')
1 row created.
SQL> SELECT * FROM DEPT;
DEPTNO DNAME

LOC

---------- ---------- ---------10 ACCOUNTING NEWYORK


20 RESEARCH DALLAS
30 SALES

CHICAGO

40 OPERATIONS BOSTON
50 DDDD

HYD

SQL> CREATE TABLE SAL(GRADE NUMBER(10),LOSAL NUMBER(10),HISAL NUM


Table created.
SQL> INSERT INTO SAL VALUES(&1,&2,&3);
Enter value for 1: 1
Enter value for 2: 700

Enter value for 3: 1200


old 1: INSERT INTO SAL VALUES(&1,&2,&3)
new 1: INSERT INTO SAL VALUES(1,700,1200)
1 row created.
SQL> /
Enter value for 1: 2
Enter value for 2: 1201
Enter value for 3: 1400
old 1: INSERT INTO SAL VALUES(&1,&2,&3)
new 1: INSERT INTO SAL VALUES(2,1201,1400)
1 row created.
SQL> /
Enter value for 1: 3
Enter value for 2: 1401
Enter value for 3: 2000
old 1: INSERT INTO SAL VALUES(&1,&2,&3)
new 1: INSERT INTO SAL VALUES(3,1401,2000)
1 row created.
SQL> /
Enter value for 1: 4
Enter value for 2: 2001
Enter value for 3: 3000
old 1: INSERT INTO SAL VALUES(&1,&2,&3)
new 1: INSERT INTO SAL VALUES(4,2001,3000)
1 row created.
SQL> /

Enter value for 1: 5


Enter value for 2: 3001
Enter value for 3: 9999
old 1: INSERT INTO SAL VALUES(&1,&2,&3)
new 1: INSERT INTO SAL VALUES(5,3001,9999)
1 row created.
SQL> SELECT * FROM SAL;
GRADE

LOSAL

HISAL

---------- ---------- ---------1

700

1200

1201

1400

1401

2000

2001

3000

3001

9999

SQL> alter table dept modify loc char(30);


Table altered.
SQL> alter table dept add sal number(10);
Table altered.
SQL> alter table dept drop column sal;
Table altered.
SQL> alter table dept rename column loc to place;
Table altered.

SQL> select * from dept;


DEPTNO DNAME

PLACE

---------- ---------- -----------------------------10 ACCOUNTING DALLAS


20 SALES

HYD

SQL> alter table dept rename column place to loc;


Table altered.
SQL> update dept set loc='newyork' where deptno=20;
1 row updated.
SQL> select * from dept;
DEPTNO DNAME

LOC

---------- ---------- -----------------------------10 ACCOUNTING DALLAS


20 SALES

newyork

SQL> rollback;
Rollback complete.
SQL> select * from dept;
DEPTNO DNAME

LOC

---------- ---------- -----------------------------10 ACCOUNTING DALLAS


20 SALES

HYD

SQL> update dept set loc='newyork' where deptno=20;


1 row updated.
SQL> commit;
Commit complete.

SQL> select * from dept;

DEPTNO DNAME

LOC

---------- ---------- -----------------------------10 ACCOUNTING DALLAS


20 SALES

newyork

SQL> rollback;
Rollback complete.
SQL> select * from dept;
DEPTNO DNAME

LOC

---------- ---------- -----------------------------10 ACCOUNTING DALLAS


20 SALES

newyork

SQL> create user parimi identified by srinu;


User created.
SQL> alter user parimi identified by sri;
User altered.
SQL> grant connect,resource to parimi;
Grant succeeded.
SQL> revoke connect,resource from parimi;
Revoke succeeded.
SQL> truncate table employee;
Table truncated.
SQL> select * from employee;
no rows selected

SQL> desc employee;


Name

Null? Type

----------------------------------------------------- -------- -----------------------------------EMPNO

NUMBER(10)

ENAME

VARCHAR2(12)

JOB

CHAR(10)

MGR

NUMBER(10)

HIREDATE

DATE

SAL

NUMBER(10)

COMM

NUMBER(10)

DEPTNO

NUMBER(10)

SQL> drop table employee;


Table dropped.
SQL> desc employee;
ORA-04043: object employee does not exist
SQL> select * from emp;
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES
7654 MARTIN
7698 BLAKE
6 rows selected.

MANAGER
SALESMAN
MANAGER

7902 17-DEC-80

800

20

7698 28-SEP-81

1250

7839 01-MAY-81

2850

30
1400

30
10

SQL> select empno,ename,sal+10 as sal from emp;


EMPNO ENAME

SAL

---------- ------------ ---------7369 SMITH

810

7499 ALLEN

1610

7521 WARD

1260

7566 JONES

2985

7654 MARTIN

1260

7698 BLAKE

2860

6 rows selected.
SQL> commit;
Commit complete.
SQL> select * from emp;
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES

7902 17-DEC-80

MANAGER

7654 MARTIN
7698 BLAKE

SALESMAN
MANAGER

1250

7839 01-MAY-81

2850

SQL> select empno,ename,sal-100 as sal from emp;


SAL

---------- ------------ ---------7369 SMITH

700

20

7698 28-SEP-81

6 rows selected.

EMPNO ENAME

800

30
1400

30
10

7499 ALLEN

1500

7521 WARD

1150

7566 JONES

2875

7654 MARTIN
7698 BLAKE

1150
2750

6 rows selected.
SQL>select empno,ename,sal*100 as sal from emp;
EMPNO ENAME

SAL

---------- ------------ ---------7369 SMITH

80000

7499 ALLEN

160000

7521 WARD

125000

7566 JONES

297500

7654 MARTIN
7698 BLAKE

125000
285000

6 rows selected.
SQL>select empno,ename,sal/100 as sal from emp;
EMPNO ENAME

SAL

---------- ------------ ---------7369 SMITH

7499 ALLEN

16

7521 WARD

12.5

7566 JONES

29.75

7654 MARTIN
7698 BLAKE

12.5
28.5

SQL> select * from emp;


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES
7654 MARTIN
7698 BLAKE

MANAGER

7902 17-DEC-80

SALESMAN
MANAGER

800

7698 28-SEP-81

1250

7839 01-MAY-81

2850

20

30
1400

30
10

6 rows selected.
SQL> select * from emp where sal>1000;
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES
7654 MARTIN
7698 BLAKE

MANAGER
SALESMAN
MANAGER

7698 28-SEP-81

1250

7839 01-MAY-81

2850

30
1400

30
10

SQL> select * from emp where sal<1000;


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7902 17-DEC-80

800

20

SQL> select * from emp where sal between 1000 and 2000;
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD
7654 MARTIN

SALESMAN
SALESMAN

7698 22-FEB-81

1250

500

7698 28-SEP-81

1250

1400

30
30

SQL> select * from emp where comm is null;


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7566 JONES

MANAGER

7698 BLAKE

MANAGER

7902 17-DEC-80
7839 02-APR-81

800

20

2975

7839 01-MAY-81

30

2850

10

SQL> select * from emp where comm is not null;


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7698 28-SEP-81

1250

1400

7654 MARTIN

SALESMAN

30

SQL> select * from emp where ename like's%';


no rows selected
SQL> select * from emp where ename like'S%';
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7902 17-DEC-80

800

20

SQL> select * from emp where job like'_A%';


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES

MANAGER

30

7654 MARTIN
7698 BLAKE

SALESMAN
MANAGER

7698 28-SEP-81

1250

7839 01-MAY-81

2850

1400

30
10

SQL> select * from emp where ename like'%R_';


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

SQL> select * from emp where sal like'____';


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES
7654 MARTIN

MANAGER
SALESMAN

7698 28-SEP-81

1250

MGR HIREDATE

SAL

30
1400

30

SQL> select * from emp where sal<>800;


EMPNO ENAME

JOB

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES
7654 MARTIN
7698 BLAKE

MANAGER
SALESMAN
MANAGER

7698 28-SEP-81

1250

7839 01-MAY-81

2850

30
1400

30
10

SQL>select * from emp where sal<>800 and sal<>1600;


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7566 JONES

MANAGER

7654 MARTIN

SALESMAN

7698 BLAKE

MANAGER

7839 02-APR-81

2975

7698 28-SEP-81

1250

7839 01-MAY-81

2850

30
1400

30
10

SQL>select * from emp where sal<>800 or sal<>1600;


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES
7654 MARTIN
7698 BLAKE

MANAGER
SALESMAN
MANAGER

7902 17-DEC-80

800

20

7698 28-SEP-81

1250

7839 01-MAY-81

2850

30
1400

30
10

6 rows selected.
SQL> select * from emp where sal not between 1000 and 2000;
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7566 JONES

MANAGER

7698 BLAKE

MANAGER

7902 17-DEC-80
7839 02-APR-81

800

20

2975

7839 01-MAY-81

30

2850

10

SQL> select * from emp where job not in('SALESMAN');


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7566 JONES

MANAGER

7698 BLAKE

MANAGER

7902 17-DEC-80
7839 02-APR-81
7839 01-MAY-81

800

20

2975
2850

SQL>select * from emp where job not in('SALESMAN','CLERK');

30
10

DEPTNO

EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7566 JONES

MANAGER

7839 02-APR-81

SQL> select * from exm;


EMPNO ENAME

LOC

---------- ---------- ---------10 sri

hyd

20 nag

sec

30 mahesh

chennai

SQL> select * from epp;


EMPNO ENAME

LOC

---------- ---------- ---------20 mohan

amerpet

40 brahmi

srnagar

60 bharat

yyguda

20 nag

sec

SQL> select * from exm union select * from epp;


EMPNO ENAME

LOC

---------- ---------- ---------10 sri

hyd

20 mohan
20 nag

amerpet
sec

30 mahesh

chennai

40 brahmi

srnagar

60 bharat
6 rows selected.

yyguda

2975

30

DEPTNO

SQL> select * from exm union all select * from epp;


EMPNO ENAME

LOC

---------- ---------- ---------10 sri

hyd

20 nag

sec

30 mahesh

chennai

20 mohan

amerpet

40 brahmi

srnagar

60 bharat

yyguda

20 nag

sec

7 rows selected.
SQL> select * from exm intersect select * from epp;
EMPNO ENAME

LOC

---------- ---------- ---------20 nag

sec

SQL> select * from exm minus select * from epp;


EMPNO ENAME

LOC

---------- ---------- ---------10 sri

hyd

30 mahesh

Chennai

SQL> select * from emp;


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

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7566 JONES

MANAGER

7654 MARTIN

7839 02-APR-81

SALESMAN

7698 BLAKE

MANAGER

2975

7698 28-SEP-81

1250

7839 01-MAY-81

2850

MGR HIREDATE

SAL

30
1400

30
10

6 rows selected.
SQL> select * from emp order by sal;
EMPNO ENAME

JOB

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7521 WARD

SALESMAN

7654 MARTIN

7902 17-DEC-80

1250

500

7698 28-SEP-81

1250

1400

SALESMAN
SALESMAN

7698 20-FEB-81

7698 BLAKE

MANAGER

7839 01-MAY-81

MANAGER

20

7698 22-FEB-81

7499 ALLEN

7566 JONES

800

1600

30

300

2850

7839 02-APR-81

30

30
10

2975

30

6 rows selected.
SQL>select * from emp order by sal desc;
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7566 JONES

MANAGER

7839 02-APR-81

2975

30

7698 BLAKE

MANAGER

7839 01-MAY-81

7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7698 28-SEP-81

1250

1400

7654 MARTIN
7369 SMITH
6 rows selected.

SALESMAN
CLERK

7902 17-DEC-80

2850

800

10

20

30

SQL>select * from emp order by ename desc;


EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7521 WARD

SALESMAN

7369 SMITH

CLERK

7654 MARTIN
7566 JONES

SALESMAN
MANAGER

7698 22-FEB-81
7902 17-DEC-80
7698 28-SEP-81
7839 02-APR-81

7698 BLAKE

MANAGER

7839 01-MAY-81

7499 ALLEN

SALESMAN

7698 20-FEB-81

6 rows selected.
SQL> select abs(-18) from dual;
ABS(-18)
---------18
SQL> select abs(18) from dual;
ABS(18)
---------18
SQL> select sqrt(100) from dual;
SQRT(100)
---------10
SQL> select sqrt(625) from dual;
SQRT(625)
---------25

1250
800

500

30

20

1250

1400

2975

30

2850
1600

30

10
300

30

SQL> select power(2,4) from dual;


POWER(2,4)
---------16
SQL> select power(2,8) from dual;
POWER(2,8)
---------256
SQL> select mod(10,3) from dual;
MOD(10,3)
---------1
SQL> select mod(16,4) from dual;
MOD(16,4)
---------0
SQL> select sign(15) from dual;
SIGN(15)
---------1
SQL> select ceil(45.1002) from dual;
CEIL(45.1002)
------------46

SQL> select floor(45.9889) from dual;


FLOOR(45.9889)
-------------45
SQL> select sign(-15) from dual;
SIGN(-15)
----------1
SQL>select sign(0) from dual;
SIGN(0)
---------0
SQL> select round(152.1856,2) from dual;
ROUND(152.1856,2)
----------------152.19
SQL> select trunc(152.1856,2) from dual;
TRUNC(152.1856,2)
------152.18
SQL> select ascii('a') from dual;
ASCII('A')
---------97
SQL> select chr(65) from dual;
C
A

SQL> select upper('tecno') from dual;


UPPER
----TECNO
SQL> select lower('TECNO') from dual;
LOWER
----tecno
SQL> select initcap('welcome to tecno soft')from dual;
INITCAP('WELCOMETOTEC
--------------------Welcome To Tecno Soft
SQL>select length('Tecnsoft') from dual;
LENGTH('TECNSOFT')
-----------------8
SQL>Select substr('Tecnosoft',6,4) from dual;
SUBS
---soft
SQL> select instr('Hello good morning','good',1,1) from dual;
INSTR('HELLOGOODMORNING','GOOD',1,1)
-----------------------------------7
SQL> select lpad('Tecno',10,5) from dual;
LPAD('TECN

--------*****Tecno
SQL>select rpad('Tecno',10,5) from dual
RPAD('TECN
---------Tecno*****
SQL> select ltrim('Oracle','O') from dual;
LTRIM
----racle
SQL>select rtrim('Oracle','e') from dual;
RTRIM
----Oracl
SQL> select trim('t' from 'tecnsoft') from dual;
TRIM('
-----ecnsof
SQL>select concat('Tecno','Soft')from dual;
CONCAT('T
--------TecnoSoft
SQL> select translate('Welcome','e','a') from dual;
TRANSLA
------Walcoma

SQL> select replace('tecnosoft','tecno','hello') from dual;


REPLACE('
--------hellosoft
SQL> create view emp_view as select * from dept;
View created.
SQL> select * from emp_view;
DEPTNO DNAME

LOC

---------- ---------- ---------10 accounting newyork


20 research dallas
30 sales

chicago

40 operations boston
50 cogs

palle

SQL> create view emp_view123 as select * from emp_view;


View created.
SQL> select * from emp_view123;
DEPTNO DNAME

LOC

---------- ---------- ---------10 accounting newyork


20 research dallas
30 sales

chicago

40 operations boston
50 cogs

palle

SQL> create table con(deptno number(10),dname varchar(10) constraint unq_dname unique,loc


varchar(10
));

Table created.
SQL> insert into con values(100,'parimi','hyd');
1 row created.
SQL> insert into con values(101,'parimi','mum');
insert into con values(101,'parimi','mum')
*
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.UNQ_DNAME) violated
SQL> insert into con values(101,'sri','hyd');
1 row created.
SQL> select * from con;
DEPTNO DNAME

LOC

---------- ---------- ---------100 parimi


101 sri

hyd
hyd

SQL> create table con(empno number(10) not null,ename varchar(10) constraint unq_ename unique,sal
number(10) constraint chk_sal check(sal>1000));
Table created.
SQL> insert into con values(10,'sri',2000);
1 row created.
SQL> insert into con values(20,'sri',8000);
insert into con values(20,'sri',8000)
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.UNQ_ENAME) violated
SQL> insert into con values(30,'parimi',500);
insert into con values(30,'parimi',500)

ERROR at line 1:
ORA-02290: check constraint (SYSTEM.CHK_SAL) violated
SQL>create table con(deptno number(10) constraint pk_deptno primary key,
dname varchar(10) constraint unq_dname unique,
loc varchar(10));
Table created.
SQL> insert into con values(10,'nag','hyd');
1 row created.
SQL> insert into con values(10,'prakash','hyd');
insert into con values(10,'prakash','hyd')
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.PK_DEPTNO) violated
SQL> insert into con values(20,'nag','mum');
insert into con values(20,'nag','mum')
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.UNQ_DNAME) violated
SQL> select * from con;
DEPTNO DNAME

LOC

---------- ---------- ---------10 nag

hyd

SQL> create table con(deptno number(10),


dname varchar(10),
loc varchar(10),
constraint pk_deptno primary key(deptno),
constraint unq_dname unique(dname));
Table created.

SQL> create sequence dept_deptno_seq


2 increment by 1
3 start with 100
4 maxvalue 9999
5 nocache
6 nocycle;
Sequence created.
SQL>alter sequence dept_deptno_seq
increment by 20
maxvalue 999999
nocache
nocycle;
Sequence altered.
SQL> drop sequence dept_deptno_seq;
Sequence dropped.
SQL> select * from emp;
EMPNO ENAME

JOB

MGR HIREDATE

SAL

COMM

DEPTNO

---------- ------------ ---------- ---------- --------- ---------- ---------- ---------7369 SMITH

CLERK

7499 ALLEN

SALESMAN

7698 20-FEB-81

1600

300

30

7521 WARD

SALESMAN

7698 22-FEB-81

1250

500

30

7839 02-APR-81

2975

7566 JONES
7654 MARTIN
7698 BLAKE
6 rows selected.

MANAGER
SALESMAN
MANAGER

7902 17-DEC-80

800

20

7698 28-SEP-81

1250

7839 01-MAY-81

2850

30
1400

30
10

SQL> select count(*) from emp;


COUNT(*)
---------6
SQL> select count(distinct job) as totjob from emp;
TOTJOB
---------3
SQL> select max(sal) from emp;
MAX(SAL)
---------2975
SQL> select max(sal) from emp group by deptno;
MAX(SAL)
---------2850
800
2975
SQL> select min(sal) from emp;
MIN(SAL)
---------800

SQL> select min(sal) from emp group by deptno;


MIN(SAL)
---------2850
800
1250
SQL> select sum(sal) from emp;
SUM(SAL)
---------10725
SQL> select avg(sal) from emp;
AVG(SAL)
---------1787.5
SQL> select sum(sal)/count(sal) from emp;
SUM(SAL)/COUNT(SAL)
------------------1787.5
SQL> select avg(sal) from emp group by deptno;
AVG(SAL)
---------2850
800
1768.75

SQL> select sum(sal)/count(sal) from emp group by deptno;


SUM(SAL)/COUNT(SAL)
------------------2850
800
1768.75
SQL> select avg(sal),count(*) from emp group by deptno;
AVG(SAL) COUNT(*)
---------- ---------2850

800

1768.75

SQL> select job,count(*) employees from emp group by job;


JOB

EMPLOYEES

---------- ---------CLERK

MANAGER

SALESMAN

CREATE WITH SELECT

We can create a table using existing table [along with data].

Syntax:
Create table <new_table_name> [col1, col2, col3 ... coln] as select * from

<old_table_name>;

Ex:
create table student1 as select * from student;

SQL>

Creating table with your own column names.


SQL>

create table student2(sno, sname, smarks) as select * from student;

Creating table with specified columns.


create table student3 as select no,name from student;

SQL>

Creating table with out table data.


SQL>

create table student2(sno, sname, smarks) as select * from student where 1 = 2;

In the above where clause give any condition which does not satisfy.

INSERT WITH SELECT

Using this we can insert existing table data to a another table in a single trip. But the table structure should
be same.

Syntax:
Insert into <table1> select * from <table2>;

Ex:
SQL> insert

into student1 select * from student;

Inserting data into specified columns


SQL> insert

into student1(no, name) select no, name from student;

You might also like