• 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;

  • 相关阅读:
    Docker Get Started VI
    Docker Get Started V
    Docker Get Started III
    Docker Get Started IV
    Docker Get Started II
    Docker Get Started I
    贝叶斯公式
    LRU缓存
    二进制中1的个数
    2.准备工作之Gradle
  • 原文地址:https://www.cnblogs.com/kydnn/p/5034774.html
Copyright © 2020-2023  润新知