1.计算机专业计算机基础课程成绩降序
USE XSCJ
SELECT 姓名,课程名,成绩
FROM XS,KC,XS_KC
WHERE XS.学号 = XS_KC.学号 AND XS_KC.课程号 = KC.课程号
AND 课程名 = '计算机基础' AND 专业名= '计算机'
ORDER BY 成绩 DESC
2.两门成绩在80分以上的学生的学号
USE XSCJ
SELECT 学号
FROM XS_KC
WHERE 成绩>= 80
GROUP BY 学号
HAVING COUNT(*) > 2
3.选修课程的平均成绩和选修人数
USE XSCJ
SELECT 课程号, AVG(成绩) AS '平均成绩' ,COUNT(学号) AS '选修人数'
FROM XS_KC
GROUP BY 课程号
4.各专业的学生数
USE XSCJ
SELECT 专业名,COUNT(*) AS '学生数'
FROM XS
GROUP BY 专业名
5.离散数学80分以上的人数
USE XSCJ
SELECT COUNT(成绩) AS '离散数学80分以上的人数'
FROM XS_KC
WHERE 成绩>= 85 AND 课程号IN
( SELECT 课程号
FROM KC
WHERE 课程名= '离散数学'
6.学生选课表中参与选课的学生总数
USE XSCJ
SELECT COUNT(DISTINCT 学号)
FROM XS_KC
7.选课计算机基础成绩在80以上包含80分的学号, 姓名, 课程名, 成绩
USE XSCJ
SELECT XS.学号, 姓名, 课程名, 成绩
FROM XS JOIN XS_KC ON XS.学号= XS_KC.学号
JOIN KC ON XS_KC.课程号= KC.课程号
WHERE 课程名= '计算机基础' AND 成绩>=80
8.课程号是206成绩大于等于80分的学生姓名成绩
USE XSCJ
SELECT 姓名, 成绩
FROM XS JOIN XS_KC ON XS.学号= XS_KC.学号
WHERE 课程号= '206' AND 成绩>=80
9.选修课中成绩,学号相同,课程号不同的
USE XSCJ
SELECT a.学号,a.课程号,b.课程号,a.成绩
FROM XS_KC a JOIN XS_KC b
ON a.成绩=b.成绩 AND a.学号=b.学号 AND a.课程号!=b.课程号
10.有链接的用法
USE XSCJ
SELECT XS_KC.* , 课程名
FROM XS_KC RIGHT JOIN KC ON XS_KC.课程号= KC.课程号
11.创建表
USE XSCJ
create table XS_KC
(
学号char(6) not null,
课程号char(3) not null,
primary key(学号,课程号),
成绩tinyint,
学分tinyint
)
go
)