Oracle基礎練習③

SQL92/99標準的四大類
(1)DML(數據操縱語言):select,insert,update,delete
(2)DDL(數據定義語言):create table,alter table,drop table,truncate table
(3)DCL(數據控制語言):grant select any table to scott/revoke select any table from scott
(4)TCL(事務控制語言):commit,rollback,savepoint to 回滾點
向emp表中插入一條記錄(方式一:按表默認結構順序)insert into 表名 values …語法
insert into emp values(1111,’JACK’,’IT’,7788,sysdate,1000,100,40);

向emp表中插入一條記錄(方式二:按自定義順序)insert into 表名(列名) values …語法
insert into emp(ENAME,EMPNO,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO)
values(‘MARRY’,2222,’IT’,7788,sysdate,1000,100,40);

向emp表中插入NULL值(方式一:採用顯示插入NULL值)
insert into emp values(3333,’SISI’,’IT’,7788,sysdate,1000,NULL,40);

向emp表中插入NULL值 (方式二:採用隱式插入NULL值),前提是所插入的字段允許插入NULL值
insert into emp(ENAME,EMPNO,JOB,MGR,HIREDATE,SAL,DEPTNO)
values(‘SOSO’,4444,’IT’,7788,sysdate,1000,40);

使用&佔位符,動態輸入值,&可以運用在任何一個DML語句中,在values子句中使用,例如:’&ename’和&sal
insert into emp values(&empno,’&ename’,’&job’,&mgr,&hiredate,&sal,&comm,&xxxxxxxx);
注意:&是sqlplus工具提供的佔位符,如果是字符串或日期型要加”符,數值型無需加”符

使用&佔位符,動態輸入值,&可以運用在任何一個DML語句中,在from子句中使用
select * from &table;

使用&佔位符,動態輸入值,&可以運用在任何一個DML語句中,在select子句中使用
select empno,ename,&colname from emp;

使用&佔位符,動態輸入值,&可以運用在任何一個DML語句中,在where子句中使用
select * from emp where sal > &money;

使用&佔位符,動態輸入值,&可以運用在任何一個DML語句中,在group by 和 having子句中使用
select deptno,avg(sal)
from emp
group by &deptno
having avg(sal) > &money;

刪除emp表中的所有記錄
delete from emp;

將xxx_emp表中所有20號部門的員工,複製到emp表中,批量插入,insert into 表名 select …語法
insert into emp
select *
from xxx_emp
where deptno=20;

將’SMITH’的工資增加20%
update emp set sal=sal*1.2 where ename = upper(‘smith’);

將’SMITH’的工資設置爲20號部門的平均工資,這是一個條件未知的事物,優先考慮子查詢
第一:20號部門的平均工資
select avg(sal) from emp where deptno=20;
第二:將’SMITH’的工資設置爲2207
update emp set sal=2207 where ename = ‘SMITH’;
子查詢:
update emp
set sal = (
select avg(sal)
from emp
where deptno=20
)
where ename = ‘SMITH’;

刪除工資比所有部門平均工資都低的員工,這是一個條件未知的事物,優先考慮子查詢
第一:查詢所有部門的平均工資
select avg(sal) from emp group by deptno;
第二:刪除工資比(,,*)都低的員工
delete from emp where sal

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章