Вы находитесь на странице: 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;

Вам также может понравиться