A. sql数据库中查询选修了所有课程的学生的学号和姓名及选修门数
所有离开了数据结构(表结构)的SQL语句都是白搭!
先假设数据结构为
学生表(学号主键或设有唯一索引,姓名,性别)
课程表(课程号主键或设有唯一索引,课程名)
选课表(课程号,学号)--字段“课程号”和“学号"设有双字段唯一索引
查询出选修了所有课程的学生的学号、姓名和选修门数:
selecta.学号,b.姓名,a.cntas选修门数from
(select学号,count(1)asascntfrom选课表groupby学号
havingcount(1)=(selectcount(1)from课程表))a,
学生表bwherea.学号=b.学号;
B. SQL如何实现计算各个学生选修的课程门数
select 学号,count(课程号) from table group by 学号
C. 数据库问题 列出选修了一门以上课程的学生学号,及其选修门数 用sql语句查询
SELECT Sno AS 学生号, COUNT(*) AS 选修课大于1的人数 FROM SG
GROUP BY Sno //按照学生的学号分组 (如果不分组会提示错误 )
// 如果包括一门就把having count(*)>1去掉 但是一门以上的意思就是不包括一门 所以不用加
二楼回答的很好,记得给他好评啊,我也是挺辛苦的....
D. sql语句求:学生表和选课表,查出学生选择的课程数
你用学号作为学生表和选课表的关联字段,进行全连接,就能得出姓名和课程数。
E. 怎样用sql语句查询选修了3门及以上课程的学生学号,姓名,选修的课程数
SELECT学号FROM选课表GROUPBY学号HAVINGCOUNT(*)>=3
F. 请写出SQL查询统计每门课程的选修人数显示课程编号学生人数。
SQL查询语句:Select 课程编号,count(*) 学生人数From 课程 group by 选修人数;
PS:SQL用于统计和分组的函数是:
统计函数:count(*)。
分组函数:Group By 分组表达式。
G. 使用SQL查询,统计每门课程的学生选修人数
ORDER BY 2,是你在用SELECT作查询时,用第二个字段进行排序,
例如 select name,age from 表 order by 2,(指按age字段排序)
select name,age,score from 表 order by 3(指按score字段排序)