sql学生表课程表成绩表
Ⅰ SQL中我建立四个表:院系表,学生表,课程表,成绩表。要求有以下查询:查询平均年龄最大与最小的院系。
我是SQL新手,大家一起交流,对于平均年龄最大的院系
select outer_a.id from (select d1.id as id,(select avg(s1.age) from student s1 where s1.dept_id = d1.id) as avg from dept d1) as outer_a where outer_a.avg = (
select max(avg) from (select d.id,(select avg(s.age) from student s where s.dept_id = d.id) as avg from dept d) as avg_list);
Ⅱ 用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创建一个学生表,课程表,学生成绩表
第一个表是学生表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语句,谢谢
查询所有学生的成绩信息(无成绩的学生也需显示)
SELECT ST.SNO, ST.SNAME, AVG(GRD.GRADE) AS AVG_GRADE FROM STUDENT ST LEFT JOIN GRADE GRD
ON (ST.SNO = GRD.SNO) GROUP BY ST.SNO, ST.NAME
查询8002课程的平均分、最高分以及课程名称,且平均分保留2位小数
SELECT C.CNAME, ROUND(AVG(GRD.GRADE),2) AS AVERAGE_GRADE, ROUND(MAX(GRD.GRADE),2) AS MAX_GRADE FROM COURSE C INNER JOIN GRADE GRD ON (C.CNO = GRD.CNO)
WHERE C.CNO = 8002
Ⅳ 将学生表、成绩表、课程表三张表中的数据作为基础数据,写出相关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'
Ⅵ 已知三个关系模式(学生表,课程表,成绩表)用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 数据库 学生表 成绩表
你答案表的结构有很多问题
Hi我我给你从新写一个吧
Ⅷ SQL命令 “学生”数据库中有 “学生表”、“课程表”和 “成绩表”。 “学生表”中包含学号、姓名
1、首先在电脑上打开数据库软件。然后附加有学生表和成绩表的数据库。
Ⅸ SQL查询,学生表,课程表,成绩表的一个查询要求如下怎么写呢
selects.sid,s.sname,sc.scorefromstudent,course,scwherestudent.sid=sc.sidandcourse.cid=sc.cidandcourse.cname='影视设计';
注意一下,你自己写的sid和sname中间没有逗号,到时候一定执行报错
Ⅹ 数据库多表查询,学生表,课程表,成绩表
直接将三表关联查询就可以了
select b.姓名,c.课程,a.成绩
from 成绩表 a,学生表 b,课程表 c
where a.学生学号 = b.学号 and a.课程编号 = c.编号 and a.成绩 < 60