SQL查询深入:嵌套查询与数据库操作实践

需积分: 1 0 下载量 40 浏览量 更新于2024-08-15 收藏 1.49MB PPT 举报
"嵌套查询续-数据库教程" 在数据库查询中,嵌套查询是一种强大的技术,它允许在一个查询内部嵌入另一个查询。这在处理复杂的数据筛选和联接操作时非常有用。本文将继续探讨嵌套查询的应用,特别是与学生(student)和选课(sc)表相关的例子。 首先,让我们看第一个查询: ```sql select * from sc where cno = '1' ``` 这个查询的目标是从选课表(sc)中选择课程编号(cno)为1的所有记录。这被称为内部查询或子查询,因为它被包含在外部查询的上下文中。查询的结果关系可以命名为tmpT,以便后续使用。 接下来,我们有第二个查询: ```sql select sname from student, tmpT where student.sno = tmpT.sno ``` 这个查询是将学生表(student)与之前命名的结果关系tmpT进行自然连接,然后只选择学生姓名(sname)。自然连接会基于共享的键(这里是sno)将两个表中的对应行合并。因此,结果将包含所有选修课程编号为1的学生姓名。 最后,考虑第三个查询: ```sql select sname, tmpT.grade from student, (select * from sc where cno = '1') tmpT where student.sno = tmpT.sno ``` 这个查询扩展了之前的查询,不仅选择了学生姓名,还选择了他们在课程1中的成绩(grade)。同样地,外部查询将学生表与tmpT(表示选课表中cno为1的行)联接,然后返回匹配的sno的sname和grade。根据给定的结果,可以看出这个查询返回了学生姓名及其在课程1的成绩。 SQL(Structured Query Language)是用于管理和操作关系数据库的标准语言。在SQL Server 2005环境中,安装、启动和身份验证是基础操作。SQL Server服务可以通过“开始”菜单的相应路径启动,而SQL Server Management Studio则用于管理数据库。SQL Server提供了多种系统数据库,如master(存储系统信息)、tmpdb(用于临时对象)、model(作为创建新用户数据库的模板)和msdb(用于SQL Server代理的作业和警报调度)。 创建数据库时,可以使用`CREATE DATABASE`命令,指定数据文件(.mdf)和日志文件(.ldf)的位置和大小。例如: ```sql CREATE DATABASE test ON (NAME = testData, FILENAME = 'e:\lxd\td.mdf') LOG ON (NAME = testLog, FILENAME = 'e:\lxd\tdlog.ldf') ``` 使用数据库则通过`USE`命令: ```sql USE new_db ``` 数据库的维护包括修改数据文件大小,如改变新的初始大小: ```sql ALTER DATABASE new_db MODIFY FILE (NAME = new_db, SIZE = 15MB) ``` 或者更改数据库名称: ```sql EXEC sp_rename 'new_db', 'old_db' ``` 以上就是关于嵌套查询的进一步讨论以及SQL Server数据库管理的一些基础知识。在实际操作中,理解并熟练运用这些概念对于高效地管理和查询数据库至关重要。