SQL笔试:Student学生表,Course 课程表,Sc选课表

文章详细讲解了如何使用SQL语句进行学生信息查询,包括查询选修计算机原理的学生、特定学生选修的课程、选修5门课程的学生、成绩比较、平均成绩统计、学生成绩汇总以及教师和课程的相关查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tudent学生表(学号,姓名、性别、年龄、组织部门),Course 课程表(编号,课程名称),Sc选课表(学号,课程编号,成绩)

写一个SQL语句,查询选修了计算机原理的学生学号和姓名

select 学号,姓名 from Student where 学号 in

(select 学号 from Sc where 课程编号 in

(Select 课程编号 from Course where 课程名称 = ‘计算机原理’))

写一个SQL语句,查询“周星驰”同学选修了的课程名字

select 课程名称 from Course where 编号 in (

select Sc.课程编号 from Student,Sc where Student.姓名=’周星驰’ and Student.学号 = Sc.学号)

写一个SQL语句,查询选修了5门课程的学生学号和姓名

Select 学号,姓名 from Student where 学号 in (

Select 学号,count(课程编号) from Sc group by 学号 having count(课程编号)>=5)

Student(S#,Sname,Sage,Ssex)学生表

S#:学号

Sname:学生姓名

Sage:学生年龄

Ssex: 学生性别

Course(C#,Cname,T#)课程表

C#,课程编号;

Cname:课程名字;

T#:教师编号;

SC(S#,C#,score)成绩表

S#:学号;

C#,课程编号;

Score:成绩;

Teacher(T#,Tname)教师表

T#:教师编号;

Tname:教师名字

查询“001”课程比“002”课程成绩高的所有学生学号

select SC1.S#

from SC SC1 JOIN SC SC2 ON SC1.S#=SC2.S#

WHERE SC1.C#=‘001’ AND SC2.C#=‘002’ AND SC1.score>SC2.score

查询平均成绩大于60分的同学的学号和平均成绩

select S#,AVG(score) 平均成绩

from SC

group by S#

having AVG(score)>60

查询所有同学的学号、姓名、选课数、总成绩

select Student.S#,Sname,COUNT(*) 选课数,SUM(score) 总成绩

from Student JOIN SC on Student.S#=SC.S#

group by Student.S#,Sname

查询姓“李”的老师的个数

Select count(*) from Teacher where Tname like ‘李%’;

查询没学过“叶平”老师课的同学的学号、姓名

SELECT stu2.s#,stu2.stuname FROM Student stu2 WHERE stu2.s# NOT IN

(SELECT DISTINCT stu.s# FROM student stu, course c,teacher tea,score score

WHERE stu.s#= score.s# AND course.c#= score.c#

AND tea.t#= course.t#AND tea.tname= ‘叶平’ )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值