DML(Oralce)

创建视图简化上面              视图就是一张表    一个子查询  虚表

视图通常以v$开头

grant create table,create view to scott;         授权

创建视图:create view v$_dept_avg_sal_info as ...

DML 语句     数据操作语言

每个用户有一个表空间 操作自己空间的表     所以是多用户的

-----表的备份 

create table dept2 as select * fromdept;

子查询插入 (表的结构同)

insert into dept2 select * from dept;

insert into dept2 (deptno,dname) values(60,'game2');

insert into dept2 values(50,'game','bj');

•  -----------事务回退语句--------

•      rollback;                      所有语句都回退

•  -----------事务确认语句--------

•      commit;//此时再执行rollback无效

(使用虚字段rownum 只能使用 < 或 = 要使用 > 必须使用子查询)

试题:

•  有3个表S,C,SC

•      S(SNO,SNAME)代表(学号,姓名)

•      C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)

•      SC(SNO,CNO,SCGRADE)代表(学号,课号成绩)

•      问题:

•      1,找出没选过“黎明”老师的所有学生姓名。

•      2,列出2门以上(含2门)不及格学生姓名及平均成绩。

•      3,即学过1号课程有学过2号课所有学生的姓名。

答案:

1、

select sname from s join sc on(s.sno =sc.sno) join c on (sc.cno = c.cno) where cteacher <> '黎明';

2、

select sname where sno in (select sno fromsc where scgrade < 60 group by sno having count(*) >=2);

3、

select sname from s where sno in (selectsno, from sc where cno=1 and sno in

(select distinct sno from sc where cno =2);

update emp2 set sal = sal*2 ,ename=ename||'-' where deptno = 10;

delete from emp2 where deptno<25;

上一篇:python作业day3修改配置文件


下一篇:浏览器差异性hack