当前位置:首页 » 考试成绩 » 学生表课程表成绩表三表

学生表课程表成绩表三表

发布时间: 2021-02-24 07:37:33

① 某学校教学管理数据库jxgl.dbc中有三个表:学生表,课程表和成绩表,内容如下: 学生表:

(1)创建学生表、课程表和成绩表。具体要求:学生表中学号为主索引,出生日期默认值为1988-09-01;课程表中课程号为主索引,学分不能为空;成绩表中学号是外索引与学生表建立关系,课程号是外索引与课程表建立关系,成绩的要求是在0-100之间。

createtable 学生表
(学号intnotnullprimarykey,
姓名varchar(30)notnull,
性别varchar(4)notnull,
出生日期datetimenotnulldefault 1988-09-01
)
go
createtable 课程表
(课程号char(6)notnullprimarykey,
课程名varchar(30)notnull,
学分char(10)notnull
)
go
createtable 成绩表
(学号 学生表(学号),
课程号char(6) 课程表(课程号),
成绩 tinyintconstraint 成绩_ckcheck (成绩>=0 and 成绩<=100 )
)
(2)通过insert into命令向各表中输入记录(按照所给表的内容)

insert into 学生表values (10001,'张娟娟','女','1987-09-01')
insert into 学生表values (10002,'李斌','男','1988-03-01')
insert into 学生表values (10003,'王亮晶','女','1986-05-04')
insert into 学生表values (10004,'成果果','女')
insert into 课程表values ('K01','VFP程序设计','3.5')
insert into 课程表values ('K02','计算机文化基础','2')
insert into 成绩表values (10001,'K01 ','85')
insert into 成绩表values (10001,'K02 ','90')
insert into 成绩表values (10002,'K01 ','88')
insert into 成绩表values (10002,'K02 ','92')
insert into 成绩表values (10003,'K01 ','90')
insert into 成绩表values (10003,'K02 ','91')
insert into 成绩表values (10004,'K01 ','76')
insert into 成绩表values (10004,'K02 ','87')
(3)查询“VFP程序设计”课程的学号和成绩并按降序输出。
select 课程表.课程名,成绩表.学号,成绩表.成绩from 成绩表
join 课程表on 成绩表.课程号=课程表.课程号
where 课程表.课程名='VFP程序设计'
orderby 成绩表.成绩desc
(4)查询“成果果”的学号和成绩。
select 学生表.姓名,成绩表.学号,成绩表.成绩from 成绩表
join 学生表on 成绩表.学号=学生表.学号
where 学生表.姓名='成果果'
(5)查询“张娟娟”的学号和出生日期。
select 学号,姓名,出生日期from 学生表where 姓名='张娟娟'
(6)查询课程号为“K01”的成绩。
select 课程号,成绩from 成绩表where 课程号='K01'
(7)查询“王亮晶”的“计算机文化基础”成绩。
select 学生表.姓名,课程表.课程名,成绩表.成绩from 成绩表
join 课程表on 成绩表.课程号=课程表.课程号
join 学生表on 学生表.学号=成绩表.学号
where 课程表.课程名='计算机文化基础'and 学生表.姓名='王亮晶'

② 根据学生表,课程表和成绩表,查询学生的学号,姓名,课程号,课程名和分数。(多表查询

直接将三表关联查询就可以了 select b.姓名,c.课程,a.成绩 from 成绩专表 a,学生表属 b,课程表 c where a.学生学号 = b.学号 and a.课程编号 = c.编号 and a.成绩 < 60

③ 数据库多表查询,学生表,课程表,成绩表

直接将三表关联查询就可以了
select b.姓名,c.课程,a.成绩
from 成绩表 a,学生表 b,课程表 c
where a.学生学号 = b.学号 and a.课程编号 = c.编号 and a.成绩 < 60

④ 已知三个关系模式(学生表,课程表,成绩表)用SQL语句实现以下内容

CREATE TABLE 选课表

(学号 CHAR(8) REFERENCES 学生表(学号),
课程编号 CHAR(6) REFERENCES 课程表(课程编号),
成绩 smallint)
GO
INSERT INTO 学生表 VALUES('20100101','李丹','女','1993-6-6','管理系')

GO
SELECT 学号,姓名,所在系

FROM 学生表
GO
SELECT 学生表.学号,姓名
FROM 学生表 JOIN 选课表 ON 学生表.学号=选课表.学号
WHERE 课程编号='A01-02'
GO
SELECT *
FROM 学生表
WHERE 姓名 LIKE '[赵李张]%'
GO
SELECT 课程名称,COUNT(*) AS 选修总人数

INTO 修课统计
FROM 课程表 JOIN 选课表 ON 课程表.课程编号=选课表.课程编号
GROUP BY 课程名称

⑤ 用SQL对学生表、课程表、成绩表进行多表查询。

CREATE TABLE 选课表

(学号 CHAR(8) REFERENCES 学生表内(学号),
课程编号 CHAR(6) REFERENCES 课程表(课程编号),
成绩 smallint)
GO
INSERT INTO 学生表 VALUES('20100101','李丹','女','1993-6-6','管理系容')

GO
SELECT 学号,姓名,所在系

FROM 学生表
GO
SELECT 学生表.学号,姓名
FROM 学生表 JOIN 选课表 ON 学生表.学号=选课表.学号
WHERE 课程编号='A01-02'
GO
SELECT *
FROM 学生表
WHERE 姓名 LIKE '[赵李张]%'
GO
SELECT 课程名称,COUNT(*) AS 选修总人数

INTO 修课统计
FROM 课程表 JOIN 选课表 ON 课程表.课程编号=选课表.课程编号
GROUP BY 课程名称

⑥ 新建数据库,三张表 学生表 ,成绩表,课程表(有以下课程:语文,数学,英语),目前有100个学生

最后那一段帮你小改了下,直接执行

ifOBJECT_ID('up_init','p')isnotnull
dropprocup_init
go
createprocup_init
as
begin
--*********************************
--遍历每一个学生
declaremy_ccursorscroll
forselectstuidfromstudent
--2.
openmy_c
--3.
declare@nint,@stuidint,@scorefloat
set@n=1
select@score=scorefromGrade
--begin
while(@n<=@@CURSOR_ROWS)
begin
fetchnextfrommy_cinto@stuid
insertintoGradevalues('语文',RAND()*100,@stuid)
insertintoGradevalues('数学',RAND()*100,@stuid)
insertintoGradevalues('英语',RAND()*100,@stuid)
set@n=@n+1
end
--4.
closemy_c
--5.
deallocatemy_c
end
-----------------------------------
go
execup_init
select*fromGrade

⑦ 学生—课程”数据库中包含学生表、课程表、学生选课表3个表

看一下。等下写写。内
1.
select sno, ssex from student where
sname like '王%'

2.
select sname from student where
sname not like '刘容%'

3.
select sname from student where
sage <20

4.
select sage from student order by sage asc

5. select count(*) from student where sno in (
select sno from sc)

⑧ 将学生表、成绩表、课程表三张表中的数据作为基础数据,写出相关SQL语句,谢谢

--查询所有学生的成绩信息(无成绩的学生也需显示)
SELECTSname,Cname,Grade
.Sno=SC.Sno
LEFTJOINCourseONCourse.Cno=SC.Cno
--查询8002课程的平均分、最高分以及课程名称,且平均分保留2位小数
SELECTCAST(AVG(Grade)ASNUMERIC(5,2))平均分,MAX(Grade)最高分,Cname课程名称
FROMCoruseJOINSCONCourse.Cno=SC.Cno
WHERECourse.Cno='8002'

⑨ 学生—课程"数据库中包含学生表,课程表,学生选课表3个表,分别是:

您好,您这样:
--1
select Sname,Sage from Student where Sage<(select Sage from Student where Sno='某一学生') and Sdept='数学系'
--2
select Sname from Student where Sno in (select Sno from SC)
--3
select Sname from Student where Sno in (select Sno from SC group by Sno having count(*)=(select count(*) from Course ))

⑩ 数据库中包含学生表、课程表、学生选课表3个表,分别是什么

1、SELECT 课程号, 课程名, 课程学分

FROM 课程 WHERE 课程号 IN(SELECT 课程号

FROM 选课

GROUP BY 课程号

HAVING COUNT(学生号) BETWEEN 2 AND 4 )

2、SELECT MAX(成绩) - MIN(成绩) AS 分数之差

FROM 选课

倘若要每门课程相差

SELECT 课程, MAX(成绩) - MIN(成绩) AS 分数之差

FROM 选课

GROUP BY 课程

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919