oracle学习(简单查询)

    (1查询C01课程成绩不为Null的学生的姓名和成绩。

         分析:因为涉及到课程成绩和学生姓名,需要对student表和sc表进行连接。

代码:

select sname,grade from student,sc where student.sno=sc.sno and cno='C01' and grade is not null;

结果:

 

          SNAME                                               GRADE
       -------------------- ---------------------------------------
         葛灵                                                     68
         岳林月                                                 60
         姬胜俊                                                 54
         马源                                                     40
         翁印                                                     98

 

2 查询平均分高于70分的女同学的学号,姓名,平均成绩。

 select student.sno ,sname,avg(grade)  from sc ,student
 where student.sno=sc.sno and ssex='f'

 group by student.sno,sname having avg(grade)>70;


 SNO        SNAME                AVG(GRADE)
 ---------- -------------------- ----------
 001        葛灵                       73.2

 

       (3查询ma系学生“英语”课程的最高分,列出姓名和最高分。

    select * from
  (select sname,grade from sc,course,student where
  sc.sno=student.sno and course.cno=sc.cno and sdept='MA' and cname='英语'
  and grade is not null
  order by grade desc)
  where rownum=1;
 
  SNAME                                                  GRADE
  -------------------- ---------------------------------------
   葛灵                                                      86

 

    (4)查询总学分在8分以上的学生的平均成绩,列出学号,平均成绩

     select sc.sno,sum(credit),avg(grade) from course,sc
   where course.cno=sc.cno group by sc.sno having sum(credit)>8;
 
   SNO        SUM(CREDIT) AVG(GRADE)
   ---------- ----------- ----------
   001                 18       73.2
   002                 15         68
   003                 18         70
   004                 10 65.3333333
   005                  9         67

 

    (5)查询所有18岁以上学生的选课门数,列出学号,姓名,年龄,选课门数。

 

   select sc.sno,sname,sage,count(cno) from sc,student
   where student.sno=sc.sno and sage>18
   group by sc.sno,sname,sage;
 
   SNO        SNAME                                                SAGE    COUNT(CNO)
  ---------- -------------------- --------------------------------------- ----------
   001        葛灵                                                      19         5
   002        岳林月                                                    25         4
   004        马源                                                      20          3
   005        翁印                                                      23          3

 

  (6删除所有MA系不及格的选课信息。

   delete sc where sc.sno in

   (select sc.sno from student,sc where student.sno=sc.sno and sdept='MA' and grade<60)
    and sc.cno in

   (select sc.cno from student,sc where student.sno=sc.sno and sdept='MA' and grade<60);
 
   9 rows deleted

 

    (7)将平均分不及格的学生成绩修改为空。(以70分为例)

    update sc set grade=null where sno in
   (select sno from (select sno ,avg(grade)g  from sc group by sno) where g<70);
 
   10 rows updated
 
   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
很高兴你对学习Oracle数据库感兴趣!Oracle数据库是一种关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序中。学习Oracle数据库可以帮助你掌握数据库设计、查询语言、数据管理和性能优化等技能。 以下是一些建议,帮助你开始学习Oracle数据库: 1. 学习SQL:SQL是用于与数据库进行交互的标准查询语言。了解SQL的基本语法和常见操作,如数据查询、插入、更新和删除等操作。 2. 掌握数据库设计:学习如何设计和规划数据库架构,包括表的创建、关系建立和数据模型设计等方面。 3. 学习PL/SQL:PL/SQL是Oracle数据库的编程语言,可以编写存储过程、触发器和函数等。掌握PL/SQL可以提高数据处理和业务逻辑处理的能力。 4. 熟悉Oracle工具:熟悉常用的Oracle工具,如SQL Developer和SQL*Plus等,这些工具可以帮助你进行SQL开发和管理数据库。 5. 实践项目:通过实践项目来应用所学知识,例如创建一个简单的数据库应用程序或解决实际的数据管理问题。 6. 学习Oracle文档和教程:Oracle官方文档提供了丰富的学习资源,包括教程、手册和示例等。阅读官方文档可以加深对Oracle数据库的理解。 7. 参加培训课程或考取认证:参加官方认可的培训课程或考取Oracle认证可以加强你的专业知识,并增加在就业市场上的竞争力。 希望以上建议对你开始学习Oracle数据库有所帮助!如果有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值