`
Tristan_S
  • 浏览: 378578 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle sql 学生表 选课表

 
阅读更多
查询语句
select * from student;
select * from course;
select * from sc;

--查询列表
select t1.sno, t1.sname, t2.cno, t2.cname, t3.grade 
from student t1, course t2, sc t3
where t1.sno=t3.sno and t2.cno=t3.cno 
order by t1.sno 

--查询同时选了“C09”,“C27”的学生;
select t1.sno, t1.sname
from student t1, course t2, sc t3
where t1.sno=t3.sno and t2.cno=t3.cno 
 and t2.cno in ('C09','C27') 
 group by t1.sname, t1.sno
 having count (t1.sname)=2


--查询“C09”课程比“C27”课程成绩高的学生; [b] 多层嵌套[/b]
select t1.sname
from student t1
where t1.sno in 
  (
    select a.sno
    from (select sc.sno,sc.grade from sc where sc.cno='C09') a, (select sc.sno,sc.grade from sc where sc.cno='C27') b
    where  a.sno=b.sno and a.grade > b.grade
  )

--选出哪门课程学的人最多(
select count(sc.cno) count, cno
from sc 
group by sc.cno
order by count desc

--每门课程的最高分,最低分,平均分, 学选修的人数
select t2.cno, t2.cname, max(t3.grade), avg(t3.grade), min(t3.grade), count(t2.cno)
from   course t2, sc t3
where  t2.cno=t3.cno 
group by t2.cno, t2.cname
order by  max(t3.grade) desc

--查询平均成绩大于75分的同学的学号和平均成绩; 
select t1.sno, t1.sname
from student t1, course t2, sc t3
where t1.sno=t3.sno and t2.cno=t3.cno 
group by t1.sno, t1.sname
having avg(t3.grade)>80

--查询所有同学的学号、姓名、选课数、总成绩; [b]外连接[/b] 包括没有分数的新人
select t1.sno, t1.sname, count(t3.sno), sum(t3.grade) 
from student t1 ,course t2, sc t3
where t1.sno=t3.sno(+) --and t2.cno = t3.cno
group by t1.sno, t1.sname 
order by t1.sno 




准备数据

--Oracle创建表结构
declare
  vcnt number;
begin
  select count(*) into vcnt from user_tables where table_name='SC';
  If vcnt = 1 Then
    Execute immediate 'drop table sc';
  end if;
  select count(*) into vcnt from user_tables where table_name='STUDENT';
  If vcnt = 1 Then
    Execute immediate 'drop table student';
  end if;
  select count(*) into vcnt from user_tables where table_name='COURSE';
  If vcnt = 1 Then
    Execute immediate 'drop table course';
  end if;
end;
/

Create table student
(sno char(10) primary key,
 sname varchar(20) not null,
 sage smallint,
 ssex char(2),
 sdept varchar(20));

Create table course
(cno char(10) primary key,
 cname varchar(50) not null,
 credit smallint);

Create table sc
(sno char(10),
 cno char(10),
 grade smallint,
 primary key(sno,cno));

--向表中插入数据
insert into student values('001','林波','24','m','CS');
insert into student values('002','辛林宇','21','f','E');
insert into student values('003','孙维丽','18','m','MA');
insert into student values('004','符志阶','16','m','CS');
insert into student values('005','汤静','24','f','C');
insert into student values('006','袁菲相','25','f','CS');
insert into student values('007','严维平','21','f','MA');
insert into student values('008','车显','25','f','CS');
insert into student values('009','虞金华','25','m','E');
insert into student values('010','谭平','18','f','C');
insert into student values('011','华黎毕','19','f','C');
insert into student values('012','赖骐','17','m','MA');
insert into student values('013','孔建福','16','m','CS');
insert into student values('014','薛宝','22','m','E');
insert into student values('015','华霞华','20','m','CS');
insert into student values('016','童友源','22','f','C');
insert into student values('017','翁权','20','m','E');
insert into student values('018','梅官睿','19','m','C');
insert into student values('019','汤睿黎','25','m','C');
insert into student values('020','邬军','16','m','E');
insert into student values('021','新人报道','18','m','E');

insert into course values('C01','C语言','2');
insert into course values('C02','数学','5');
insert into course values('C03','英语','4');
insert into course values('C04','计算机','2');
insert into course values('C05','数字电路','3');
insert into course values('C06','数据库','4');
insert into course values('C07','操作系统','4');
insert into course values('C08','信息安全','2');
insert into course values('C09','数据结构','5');
insert into course values('C10','可视化编程','4');
insert into course values('C11','VB程序设计','4');
insert into course values('C12','软件工程','4');
insert into course values('C13','物联网导论','5');
insert into course values('C14','射频自动识别与EPC编码技术','5');
insert into course values('C15','无线传感器网络技术','2');
insert into course values('C16','无线局域网','3');
insert into course values('C17','通信原理','5');
insert into course values('C18','安全交换协议基础','5');
insert into course values('C19','网络数据库技术','2');
insert into course values('C20','XML技术','3');
insert into course values('C21','分布式计算','3');
insert into course values('C22','数据存储与恢复技术','5');
insert into course values('C23','传感器技术','4');
insert into course values('C24','ARM体系结构与接口技术','4');
insert into course values('C25','电子支付与网上银行','4');
insert into course values('C26','移动终端编程','2');
insert into course values('C27','人工智能与机器人','5');
insert into course values('C28','模式识别','5');
insert into course values('C29','3G技术','5');
insert into course values('C30','Wince嵌入式应用','4');
insert into course values('C31','供应链与物流管理','2');
insert into course values('C32','物联网应用专题见习','4');
insert into course values('C33','传感器技术及应用专题见习','3');

--001号学生选修了5门课程
insert into sc values('001','C24','53');
insert into sc values('001','C02','85');
insert into sc values('001','C01','95');
insert into sc values('001','C05','94');
insert into sc values('001','C26','56');
--002号学生选修了5门课程
insert into sc values('002','C06','52');
insert into sc values('002','C14','97');
insert into sc values('002','C05','74');
insert into sc values('002','C33','68');
insert into sc values('002','C01','89');
--003号学生选修了8门课程
insert into sc values('003','C32','70');
insert into sc values('003','C27','80');
insert into sc values('003','C15','91');
insert into sc values('003','C13','60');
insert into sc values('003','C30','66');
insert into sc values('003','C33','82');
insert into sc values('003','C20','56');
insert into sc values('003','C29','97');
--004号学生选修了6门课程
insert into sc values('004','C20','41');
insert into sc values('004','C15','50');
insert into sc values('004','C19','66');
insert into sc values('004','C30','47');
insert into sc values('004','C26','78');
insert into sc values('004','C02','64');
--005号学生选修了9门课程
insert into sc values('005','C18','45');
insert into sc values('005','C19','81');
insert into sc values('005','C33','76');
insert into sc values('005','C27','100');
insert into sc values('005','C09','54');
insert into sc values('005','C22','60');
insert into sc values('005','C23','40');
insert into sc values('005','C24','62');
insert into sc values('005','C17','81');
--006号学生选修了4门课程
insert into sc values('006','C24','70');
insert into sc values('006','C32','44');
insert into sc values('006','C15','74');
insert into sc values('006','C07','51');
--007号学生选修了9门课程
insert into sc values('007','C09','64');
insert into sc values('007','C29','41');
insert into sc values('007','C10','44');
insert into sc values('007','C01','65');
insert into sc values('007','C33','78');
insert into sc values('007','C21','41');
insert into sc values('007','C07','49');
insert into sc values('007','C25','81');
insert into sc values('007','C08','60');
--008号学生选修了8门课程
insert into sc values('008','C22','45');
insert into sc values('008','C11','67');
insert into sc values('008','C02','91');
insert into sc values('008','C31','65');
insert into sc values('008','C21','95');
insert into sc values('008','C20','69');
insert into sc values('008','C18','48');
insert into sc values('008','C29','75');
--009号学生选修了7门课程
insert into sc values('009','C13','100');
insert into sc values('009','C27','68');
insert into sc values('009','C10','89');
insert into sc values('009','C30','84');
insert into sc values('009','C09','98');
insert into sc values('009','C22','53');
insert into sc values('009','C25','91');
--010号学生选修了5门课程
insert into sc values('010','C18','44');
insert into sc values('010','C09','41');
insert into sc values('010','C20','72');
insert into sc values('010','C07','70');
insert into sc values('010','C19','82');
--011号学生选修了8门课程
insert into sc values('011','C33','100');
insert into sc values('011','C01','65');
insert into sc values('011','C17','50');
insert into sc values('011','C19','80');
insert into sc values('011','C08','91');
insert into sc values('011','C09','79');
insert into sc values('011','C02','45');
insert into sc values('011','C18','53');
--012号学生选修了8门课程
insert into sc values('012','C10','45');
insert into sc values('012','C23','52');
insert into sc values('012','C06','64');
insert into sc values('012','C08','63');
insert into sc values('012','C16','53');
insert into sc values('012','C33','93');
insert into sc values('012','C03','64');
insert into sc values('012','C19','88');
--013号学生选修了6门课程
insert into sc values('013','C08','74');
insert into sc values('013','C20','42');
insert into sc values('013','C27','41');
insert into sc values('013','C02','53');
insert into sc values('013','C23','68');
insert into sc values('013','C04','97');
--014号学生选修了10门课程
insert into sc values('014','C21','40');
insert into sc values('014','C13','71');
insert into sc values('014','C18','88');
insert into sc values('014','C30','88');
insert into sc values('014','C22','84');
insert into sc values('014','C06','93');
insert into sc values('014','C26','70');
insert into sc values('014','C23','68');
insert into sc values('014','C07','72');
insert into sc values('014','C04','49');
--015号学生选修了6门课程
insert into sc values('015','C10','91');
insert into sc values('015','C02','72');
insert into sc values('015','C27','42');
insert into sc values('015','C20','86');
insert into sc values('015','C24','83');
insert into sc values('015','C17','77');
--016号学生选修了9门课程
insert into sc values('016','C22','49');
insert into sc values('016','C13','75');
insert into sc values('016','C17','71');
insert into sc values('016','C27','44');
insert into sc values('016','C02','43');
insert into sc values('016','C01','50');
insert into sc values('016','C26','42');
insert into sc values('016','C29','88');
insert into sc values('016','C31','88');
--017号学生选修了8门课程
insert into sc values('017','C09','89');
insert into sc values('017','C17','84');
insert into sc values('017','C29','89');
insert into sc values('017','C05','57');
insert into sc values('017','C06','63');
insert into sc values('017','C10','57');
insert into sc values('017','C26','93');
insert into sc values('017','C04','62');
--018号学生选修了6门课程
insert into sc values('018','C12','61');
insert into sc values('018','C26','100');
insert into sc values('018','C10','81');
insert into sc values('018','C14','61');
insert into sc values('018','C23','67');
insert into sc values('018','C07','42');
--019号学生选修了8门课程
insert into sc values('019','C08','58');
insert into sc values('019','C27','73');
insert into sc values('019','C16','40');
insert into sc values('019','C30','68');
insert into sc values('019','C33','45');
insert into sc values('019','C09','40');
insert into sc values('019','C32','73');
insert into sc values('019','C28','76');
--020号学生选修了6门课程
insert into sc values('020','C12','81');
insert into sc values('020','C22','76');
insert into sc values('020','C11','96');
insert into sc values('020','C16','85');
insert into sc values('020','C09','51');
insert into sc values('020','C23','65');

alter table course add snumber smallint;
update course set snumber=dbms_random.value(4,10);

commit;


分享到:
评论

相关推荐

    Sql,oracle数据表行转列问题

    我们想将该表转换为一个新的表格,其中每一行对应一个学生,列对应不同的课程,而单元格中的值对应该学生在该课程中的分数。 SQL SERVER 2000 静态 SQL 在SQL Server 2000中,我们可以使用CASE WHEN语句和MAX聚合...

    ORACLE 多表查询与数据修改

    - **解释**:此查询使用了三个表(stu、sel、course)进行联合查询,通过WHERE子句指定了条件“学生姓名为Mike”,同时连接了学生表和选课表、课程表,从而获取Mike选修的所有课程的名称和成绩。 2. **查询每个...

    ORACLE数据库及SQL语言考试题一含答案.pdf

    背景:创建学生表student(学号、姓名、年龄、出生日期、身份证编号、院系名称、性别)、课程表course(课程号、课程名、先行课、学分)和学生选课表student_course(学号、课程号、成绩)。 createtablestudent ...

    oracle,sql面试题

    4. 三张表,学生表 S,课程表 C,学生课程表 SC: 可以使用以下 SQL 语句实现: 建表语句: ```sql CREATE TABLE S (id NUMBER, name VARCHAR2(20)); CREATE TABLE C (id NUMBER, name VARCHAR2(20)); CREATE ...

    Oracle和SQL_Server的语法区别

    例如,找出学生已选的所有课程代码和名称,可以使用 `EXISTS` 替代 `INTERSECT`;查找无学生选修的课程,可以使用 `NOT EXISTS` 替代 `MINUS`。 在实际操作中,确保充分了解 Oracle 和 SQL Server 之间的这些差异至...

    oracle pl/sql实例精讲student数据库模式数据和表脚本

    "student"数据库模式可能包含了与学生相关的各种实体,如学生信息表(students)、课程表(courses)、成绩表(grades)等。这些表通常会包含一些关键字段,如学生ID、姓名、年龄、课程ID、课程名称、分数等,用于...

    数据库课程设计 oracle SQL

    以上实验通过创建院系信息表、学生信息表以及课程信息表,展示了如何在Oracle环境下进行数据库设计与实现的过程。这些实践不仅有助于理解和掌握SQL语言的基础语法,还能够让学生深入学习数据库管理系统的结构与功能...

    oracle学生管理系统课程设计

    Oracle学生管理系统课程设计是一个典型的数据库应用案例,主要目的是让学生掌握Oracle数据库管理和开发的基本技能。在这个项目中,学生将学习如何设计、实现并优化一个能够存储、检索和管理学生信息的数据库系统。...

    Oracle PL/SQL实例精解 数据库建立代码

    在"Oracle PL/SQL实例精解 数据库建立代码"中,我们将深入探讨如何在Oracle数据库中使用PL/SQL来构建一个名为"student"的模式,这包括创建数据库对象如表、索引,以及填充样本数据。 首先,"student"模式可能包含一...

    ORACLE_SQL的应用程序.rar_oracle

    9. 课程设计应用:在课程设计中,Oracle SQL可以帮助学生理解数据库设计原则,如何使用SQL进行数据操作,以及如何在实际项目中应用这些知识。 压缩包内的“ORACLE.txt”可能是关于Oracle SQL语法和使用示例的文档,...

    JSP+Oracle 学生课程信息管理系统(完整源码+数据库)

    - **选课表(Enrollment)**:连接学生表和课程表,记录每个学生所选的课程。 5. **功能模块**: - **学生管理**:包括添加、删除、修改和查询学生信息。 - **课程管理**:可以新增、修改和删除课程,同时可能...

    Oracle高级的常用sql

    select * from tblstudent --学生表 select * from tblCourse --课程表 select * from tblScore --成绩表 select * from tblTeacher --教师表 ------------------------------------表结构---------------------...

    oracle课程设计—基于java的学生成绩管理系统

    例如,创建学生表、课程表和成绩表,设置主键和外键以维护数据的一致性和完整性。 2. **Java编程**:Java是一种跨平台的面向对象的编程语言,适合开发Web应用程序。在学生成绩管理系统中,Java用于实现业务逻辑、...

    学生成绩管理系统,配有pl/sql developer软件,oracle数据库所有表!详细步骤!myeclipse下直接运行!

    使用MVC构建的,代码全有注释,配有所有oracle数据库表,pl/sql developer软件。详细使用步骤如下: 1.打开oracle服务。 2.打开pl/sql developer,将“数据库设计用的所有表和数据.dmp”这个文件导入。 3.打开...

    ORACLE SQL练习题(带答案)

    根据给定的文件信息,我们将逐一解析每个练习题目并详细阐述相关的Oracle SQL知识点。 ### 1. 查询“c001”课程比“c002”课程成绩高的所有学生的学号 - **知识点**: 子查询、连接查询 - **解析**: - 使用子查询...

    药店管理系统数据库设计(SQL以及oracle实现)课程论文

    课程论文部分可能会详细阐述药店管理系统的设计思路、数据库模型、SQL和Oracle的具体实现、性能优化策略以及系统测试结果。它可能会包含以下几个部分:系统需求分析、数据库概念设计、逻辑设计、物理设计、系统实现...

    学生成绩管理系统 jsp设计 oracle

    这可能包括学生表、课程表、成绩表等。我们使用SQL语句进行数据的插入、查询、更新和删除操作。例如,通过`SELECT`语句获取特定学生的所有成绩,`INSERT`语句添加新的成绩记录,`UPDATE`语句修改已有的成绩,而`...

Global site tag (gtag.js) - Google Analytics