学生表、课程表、成绩表的SQL命令是什么?
发布网友
发布时间:2024-01-02 08:13
我来回答
共1个回答
热心网友
时间:2024-06-23 15:28
--SQL命令
--“学生”数据库中有 “学生表”、“课程表”和 “成绩表”。
--“学生表”中包含学号、姓名、性别、专业和班级五个字段。
--“课程表”中包含有课程编号、课程名和任课教师三个字段,“成绩表”中包含有学号、课程编号和成绩三个字段。
CREATE TABLE 学生表
(学号 CHAR(8) PRIMARY KEY,
姓名 CHAR(10),
性别 CHAR(2),
专业 CHAR(20),
班级 CHAR(10))
GO
CREATE TABLE 课程表
(课程编号 CHAR(3) PRIMARY KEY,
课程名 CHAR(20),
任课教师 CHAR(10))
GO
CREATE TABLE 成绩表
(学号 CHAR(8) REFERENCES 学生表,
课程编号 CHAR(3) REFERENCES 课程表,
成绩 INT,
PRIMARY KEY(学号,课程编号))
GO
--查询学生表中所有姓刘的学生的信息
SELECT * FROM 学生表 WHERE 姓名 LIKE '刘%'
--7. 修改学生表的结构,添加一字段:年龄,整型
ALTER TABLE 学生表 ADD 年龄 INT
--查询年龄在18—23岁的全部学生信息
SELECT * FROM 学生表 WHERE 年龄 BETWEEN 18 AND 23
--注:题出的有问题,学生表中无年龄字段,却让查询年龄在18—23岁的全部学生信息,无法做,所以将后面第7题放在了此题全面做。
--修改成绩表的数据,将成绩不及格的学生的成绩改为60
UPDATE 成绩表 SET 成绩=60 WHERE 成绩<60
--向学生表添加如下一条记录:
--学号 姓名 专业 班级
-- 20070506 徐华 电子商务 091
INSERT INTO 学生表(学号,姓名,专业,班级) VALUES('20070506','徐华','电子商务','091')
--6. 查询出所有选修2号课程的学生的姓名,性别和年龄
SELECT 姓名,性别,年龄
FROM 学生表
WHERE 学号 IN(SELECT 学号 FROM 成绩表 WHERE 课程编号='2')
--8. 删除学生表中的专业为计算机应用的学生数据
DELETE FROM 学生表 WHERE 专业='计算机应用'
--9. 查询成绩不为空的学生信息
SELECT *
FROM 学生表
WHERE 学号 IN(SELECT 学号 FROM 成绩表 WHERE 成绩 IS NOT NULL)
--10.显示前五条学生信息的记录
SELECT TOP 5 * FROM 学生表