SQL查询选修了两门以上(包括两门)课程的学生信息

2025-01-02 06:34:15
推荐回答(5个)
回答1:

1:select sno(学生的学号)  from sc(学生选课表)
group by sno having  count(*)>1

2:select s.sno,s.name from student s
where s.sno in(select sno  from score sc
group by sc.cno having sum(sc.sno)>2 )

3:应为三张表;学生表A 课程表B 选修表C(cid aid bid)--没有选修任何课程的学生的学号 

结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。

回答2:

昨天面试才看到这道题

select distinct s.id , s.name 
from close_class  c
left join student s
on s.s_id = c.s_id
where count(c.id)>1

回答3:

select a.*,count(*) as 选修数 from 学生表 a
inner join 选修课程关系表 b on a.学生id=b.学生id
group by a.学生id having 选修数>1

回答4:

没有表结构啊?????

回答5:

SELECT * FROM STUDENT WHERE SID IN(SELECT SID FROM SC GROUP BY SID HAVING COUNT(*)>=2)