学生表课程表成绩表er图
❶ 根据学生表,课程表和成绩表,查询学生的学号,姓名,课程号,课程名和分数。(多表查询
直接将三表关联查询就可以了 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环境下完成。
--1.
createtablescs
(snointnotnull,
cnointnotnull,
scoreint)
--2.
altertablescsadddtdatetime;
--3
altertablescsaddconstraintpk-scprimarykey(sno,cno);
❹ 用SQL创建一个学生表,课程表,学生成绩表
第一个表是学生表Student,包含三个字段,学生id(_id) 和 学生姓名(stu_name)和课程id(les_id)
Create Table [dbo].Student(
stu_id [uniqueidentifier] NOT NULL,
stu_name [nvarchar](425) NOT NULL,
les_id [uniqueidentifier] NOT NULL
)
第二个表课程表Lesson,两个字段,课程id(les_id)和课程名称(les_name)
Create Table [dbo].Lesson(
les_id [uniqueidentifier] NOT NULL,
les_name [nvarchar](425) NOT NULL
)
第三个表学生成绩表Score,三个字段课程id(les_id),学生id(stu_id)和课程得分(les_score)
Create Table [dbo].Score(
les_id [uniqueidentifier] NOT NULL,
stu_id [uniqueidentifier] NOT NULL,
les_score [int] NOT NULL
)
❺ 用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查询,学生表,课程表,成绩表的一个查询要求如下怎么写呢
selects.sid,s.sname,sc.scorefromstudent,course,scwherestudent.sid=sc.sidandcourse.cid=sc.cidandcourse.cname='影视设计';
注意一下,你自己写的sid和sname中间没有逗号,到时候一定执行报错
❼ 某学校教学管理数据库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 学生表.姓名='王亮晶'
❽ 将学生表、成绩表、课程表三张表中的数据作为基础数据,写出相关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'
❾ 使用SQI语句创建三张表(学生表,课程表和成绩表)字段分别是(学号,姓名,年龄,性别,系部,课程号
1、select 姓名 from 学生表 where 系别 = '计算机系'; 2、select 学号 from 学生选课专表 where 成绩 < 60 ; 3、select 学号,成绩 from 学生选课表 where 课程属号=1; 4、select 学生表.姓名,学生选课表.课程号,学生选课表.成绩 from 学生表,学生选课表 where 学生表.学号 = 学生选课表.学号; 5、select 姓名,年龄,性别 from 学生表 where 年龄 > (select 年龄 from 学生表 where name = '李明');
❿ 有学生表,学科表,成绩表三张表,查询每个学生的所有学科加起来的总成绩
我觉得这种情况下你可以用那个统计表进行计算。