一、实验目的
1.掌握各种查询的使用方法。
2.掌握数据操纵的使用方法。
二、实验设备
操作系统:Win11
开发软件:SQL Server
三、实验内容
根据第一部分实验中创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下操作。
1.使用查询语句完成以下任务(每一个查询都要给出SQL语句,并且列出查询结果)。
(1)查询与“张志国”同一班级的学生信息(使用连接查询和子查询方式)。
(2)查询比“计算机应用基础”学时多的课程信息(使用连接查询和子查询方式)。
(3)查询选修课程号为K002的学生的学号、姓名(使用连接查询、普通子查询、相关子查询、使用exists关键字的相关子查询)。
(4)查询没有选修K001和M001课程的学号、课程号和三次成绩(使用子查询)。
2.使用数据操纵完成以下任务(每一个任务都要给出SQL语句,并且列出查询结果)。
(1)在学生表中添加一条学生记录,其中,学号为0593,姓名为张乐,性别为男,专业班级为电子05。
(2)将所有课程的学分数变为原来的两倍。
(3)删除张乐的信息。
SQL语句
- use StudentAssignmentDB;
- select *from Students as s join
- (
- select s.MajorClass from Students as s where s.Name='张志国'
- )as s1 on s1.MajorClass=s.MajorClass;
- select *from Courses as c join
- (
- select Credit from Courses where CourseName='计算机应用基础'
- )as c1 on c.Credit>c1.Credit;
- select s.StudentID,s.Name from Students as s join StudentAssignments as sc on s.StudentID=sc.StudentID
- where sc.CourseID='K002';
- select sa.StudentID,sa.CourseID,sa.Assignment1Grade,sa.Assignment2Grade,sa.Assignment3Grade from StudentAssignments as sa where sa.StudentID not in
- (
- select sa2.StudentID from StudentAssignments as sa2
- where sa2.CourseID in('K001','M001')
- );
- --insert into Students (StudentID,Name,Gender,MajorClass)values('0593','张乐','男','电子05');
- --update Courses set Credit=2*Credit;
- --delete from Students where Name='张乐';