Student 学生表
学号 | 姓名 | 性别 | 年龄 | 系别 |
---|---|---|---|---|
1 | 王五 | 男 | 18 | 计算机系 |
2 | 南方 | 女 | 20 | 美术系 |
3 | 特殊 | 女 | 19 | 金融系 |
Course 课程表
课程号 | 课程名 | 学分 |
---|---|---|
1 | SQL Server | 4 |
2 | 专业英语 | 3 |
3 | 美术 | 2 |
Sc 选课表
学号 | 课程名 | 成绩 |
---|---|---|
1 | 1 | 89 |
2 | 1 | 90 |
2 | 2 | 75 |
3 | 3 | 79 |
因为我的SQL数据库没有这三张表,所以我要创建这三张表出来。
我是用新建查询来新建表,没有在表格里创建。
在这里我没有设置主键,也没有给什么约束它,但是我们新建表时一定要设置主键和约束才能算是一个基本表格。这里我就不设置它的主键和约束。
新建好表后插入数据
插入数据后我们查询表,就会有数据了
把剩下的数据也插入进去。插入方法有多种,不一定是我这一种。
1 把course表中课程号为3的课程的学分修改为3
UPDATE dbo.Course set 学分 = ‘3’ where 课程号 = ‘3’
2 在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。
SELECT * FROM dbo.Student WHERE 年龄>18 ORDER BY 学号 DESC;
3 在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名、和性别。
SELECT 学号,姓名, 性别 FROM dbo.Student
WHERE 学号 IN(SELECT 学号 FROM dbo.Sc
WHERE 成绩>80 AND 课程号 IN
(SELECT 课程号 FROM dbo.Course WHERE 学分=3))
第三题说一下我的思路。首先我会查询出成绩大于80且学分为3的学号。
SELECT 学号 FROM dbo.Sc WHERE 成绩>80 AND 课程号 IN (SELECT 课程号 FROM dbo.Course WHERE 学分=3)
然后查询student表以学号为查询条件进行查询,就可以了。
第三题的重点是表与表之间的联系。