当前位置:首页 » 编程语言 » sql中课程表中课程名的类型
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql中课程表中课程名的类型

发布时间: 2023-05-07 22:26:23

A. sql查询全部学生都选修的课程的课程号和课程名问题

SELECT
course.cid,
course.cname
FROM
course JOIN study ON (course.cid = study.cid)
GROUP BY
course.cid,
course.cname
HAVING
COUNT(study.sid) = (SELECT COUNT(sid) FROM student);

逻辑:

首先,简单的把 课程表 与 选修表 关联
course JOIN study ON (course.cid = study.cid)

然后 ,按照 课程号和课程名 分组
GROUP BY
course.cid,
course.cname

最后, 要求 选修的人数 = 学生总数
HAVING
COUNT(study.sid) = (SELECT COUNT(sid) FROM student)

B. 用SQL语句列出全部学员都选修的课程的课程名和课程号

我的思路是在SC中判断每门课被选修了多少次,如果被选修次数=学生人数 则认为被所有学生选修。总觉得这个思路不太好,可是又想不出更好的逻辑关系

select CNAME,CNO from c
where cno in (
select cno from sc
group by sno
having count(sno) = (select count(1) from s)
)

C. 用SQL语句怎样在课程表中,查询出课程名中含有‘数据’的课编号及课程名

SELECT CourseId,CourseName FROM Course WHERE CourseName like '%数据%'

D. 怎么用sql语句查询课程表中的最高课时以及课程名称

select top 1 课时, 课程名称 from 课程表
order by 课时 desc

E. 用SQL语句实现:学生表、课程表、选课表三张表中的问题:

第一个
select s.sno, s.sname
from student s, sc t
where s.sno = t.sno
and t.cno = (
select c.cno
from couse c
where c.cname = '计算机原理'
);
第二个:
select c.cname
from student s, couse c, sc t
where c.cno = t.cno and t.sno = s.sno and s.sname = '周星驰';
第三个:
select s.sno, s.sname
from student s
where s.sno in (
select t.sno
from sc t
group by t.sno
having count(t.cno) = 5
);
我已经在本地数据库建表测试过了,如果有什么问题,可以再联系我。

F. SQL命令 “学生”数据库中有 “学生表”、“课程表”和 “成绩表”。 “学生表”中包含学号、姓名

1、首先在电脑上打开数据库软件。然后附加有学生表和成绩表的数据库。

G. 用SQL语句完成以下操作

1
select * from 学生表 a,班级表 b where a.班级编号=b.班级编号
2
select top 10 * from 班级表
3
select a.姓名,b.课程名称,c.成绩
from 学生表 a,课程表 b,成绩表 c where a.学号=c.学号 and b.课程编号=c.课程编号 and a.学号='20050101'
4
select top 10 a.姓名,b.课程名称,c.成绩
from 学生表 a,课程表 b,成绩表 c where a.学号=c.学号 and b.课程编号=c.课程编号 and a.学号='20050101'
order by c.成绩 desc
5
select top 5 * into 科技学生信息表 from 学生表
6
select a.姓名,b.课程名称,c.成绩
from 学生表 a,课程表 b,成绩表 c where a.学号=c.学号 and b.课程编号=c.课程编号
and a.学号='201001002'
and c.成绩 between 80 and 90
7
select * from 课程表 where 课程名称 like '大学%'
8
select a.姓名,a.学号,avg(b.成绩) as 平均成绩
from 学生表 a,成绩表 b where a.学号=b.学号 group by a.姓名,a.学号
9
select a.姓名,a.学号,sum(b.成绩) as 总分,count(*) as 课程门数,avg(b.成绩) as 平均分
from 学生表 a,成绩表 b where a.学号=b.学号 group by a.姓名,a.学号
10
select a.学号,a.姓名,b.成绩,b.课程编号
from 学生表 a,成绩表 b where a.学号=b.学号

希望你能通过以上的答案,自己弄懂都是什么意思,over