以下给出四个基本表:Student(学生表)的字段按顺序为Sno(学号)、Sname(姓名)、Ssex(性别)、Sage(年龄)、Sdept(所属院系); Course(课程表)的字段按顺序为Cno(课程号)、Cname(课程名)、Cpno(先行课程)、Ccredit(学分);Sc(选课表)的字段按顺序为Sno、Cno、Grade。试用SQL语句表示下列操作。 1.创建视图,通过视图智能查看信息系(IS)男学生的信息(信息包含student表全部字段) 2.查询各个课程号及相应的选课人数。 3.查询每个学生及其选修的课程名和成绩。 4.插入一条记录(99001,张强,男,22,经管系)到学生表中。 5.编写存储过程将学生表中计算机系(CS)学生的年龄都增加1岁。
时间: 2024-03-07 22:47:10 浏览: 97
1. 创建视图:
```sql
CREATE VIEW IS_MALE_STUDENT AS
SELECT *
FROM student
WHERE Sdept = 'IS' AND Ssex = '男';
```
2. 查询各个课程号及相应的选课人数:
```sql
SELECT Cno, COUNT(*) AS num_of_students
FROM sc
GROUP BY Cno;
```
3. 查询每个学生及其选修的课程名和成绩:
```sql
SELECT student.Sno, student.Sname, course.Cname, sc.Grade
FROM student
INNER JOIN sc ON student.Sno = sc.Sno
INNER JOIN course ON sc.Cno = course.Cno;
```
4. 插入一条记录(99001,张强,男,22,经管系)到学生表中:
```sql
INSERT INTO student (Sno, Sname, Ssex, Sage, Sdept)
VALUES ('99001', '张强', '男', '22', '经管系');
```
5. 编写存储过程将学生表中计算机系(CS)学生的年龄都增加1岁:
```sql
CREATE PROCEDURE increase_age_cs_students()
BEGIN
UPDATE student
SET Sage = Sage + 1
WHERE Sdept = 'CS';
END;
```
注意:以上 SQL 语句仅供参考,具体实现可能因数据库类型和版本而异。
阅读全文
相关推荐


















