直接将三表关联查询就可以了
select b姓名,c课程,a成绩
from 成绩表 a,学生表 b,课程表 c
where a学生学号 = b学号 and a课程编号 = c编号 and a成绩 < 60
select aSno as 学号,Sname as 姓名,avg(Score) as 平均分
from 学生表 a inner join 选课表 b on aSno=bSno
inner join 课程表 c on bCno=cCno
group by aSno,Sname
having avg(Score) > 70 and count(cCno) > 2
order by 平均分
create table student(S_no char(9), S_name char(20), S_sex char(2), S_age int, S_department char(20))
create table course (C_no char(10), C_name char(20), C_teacher char(20) )
create table choice(S_no char(9), C_no char(10), S_score int)
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('001', '李志强', '男', 20, '计算机系' )
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('002', '张 亮', '男', 21 '建筑工程系' )
insert into student(S_no, S_name, S_sex, S_age, S_department)
values('003', '李 平', '女', 19 '计算机系' )
insert into course(C_no, C_name, C_teacher )
values('C001', 'C语言', '王雅新' )
insert into course(C_no, C_name, C_teacher )
values('C002', '数据结构', '和海莲' )
insert into course(C_no, C_name, C_teacher )
values('C003', 'SQL Server2000', '陈 红' )
insert into choice(S_no, C_no, S_score)
values('001', 'C001', 83)
insert into choice(S_no, C_no, S_score)
values('001', 'C002', 80 )
insert into choice(S_no, C_no, S_score)
values('002', 'C001', 75)
insert into choice(S_no, C_no, S_score)
values('002', 'C004', 85)
insert into choice(S_no, C_no, S_score)
values('003', 'C002', 88)
insert into choice(S_no, C_no, S_score)
values('003', 'C003', 86)
1、首先在电脑上打开数据库软件。然后附加有学生表和成绩表的数据库。
2、然后选中数据库,右键选择新建查询。在右边的空白框,输入命令select 学生表学号,avg(成绩) as 平均分。
3、将学生表和成绩表关联起来。命令为from 学生表 join 成绩表 on 学生表学号=成绩表学号。
4、用group by 命令对学生表中的学号进行分组。命令为group by 学生表学号。
5、用having命令。输出平均分大于80分的条件。
6、然后在表中没有平均分一项。所以要用as命令进行附加。
第三个表学生成绩表Score,三个字段课程id(les_id),学生id(stu_id)和课程得分(les_score)Create Table [dbo]Score(les_
您好,您这样:
--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 ))
1IF EXISTS (SELECT FROM sysobjects WHERE
name = 'view_stuInfo')
DROP VIEW view_stuInfo
GO
CREATE VIEW view_stuInfo
AS
SELECT a学号,a姓名,b课程号,c成绩 from 学生表 a,课程表 b,学生成绩表 c
where a学号=c学号 and b课程号=c课程号
GO
2insert into 学生表 values(21,‘王玲’,女,20,‘计算机’)
3select count() from 学生表
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
课程
以上就是关于数据库多表查询,学生表,课程表,成绩表全部的内容,包括:数据库多表查询,学生表,课程表,成绩表、数据库中有如下三个表:学生表(Sno、SName……),选课表(Sno、Cno、Score、……),课程表(Cno、、1.在学生数据库中有三张数据表,即学生表、课程表和选课表,三张表的表数据如下,写出创建学生表、课程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)