4数据库的查询和视图.doc
文本预览下载声明
4 数据库的查询和视图
在数据库应用中,最常用的操作是查询,它是数据库的其它操作(如统计、插入、删除及修改)的基础。在SQL Server 2000中,对数据库的查询使用SELECT语句。SELECT语句功能非常强大,使用灵活。本章重点讨论利用该语句对数据库进行各种查询的方法。
视图是由一个或多个基本表导出的数据信息,可以根据用户的需要创建视图。视图对于数据库的用户来说很重要,本章将讨论视图概念以及视图的创建与使用方法。游标在数据库与应用程序之间提供了数据处理单位的变换机制,本章还将讨论游标的概念和使用方法。
4.1 连接、选择和投影
SQL Server是一个关系数据库管理系统,关系数据库建立在关系模型基础之上,具有严格的数学理论基础。关系数据库对数据的操作除了包括集合代数的并、差等运算之外,更定义了一组专门的关系运算:连接、选择和投影,关系运算的特点是运算的对象和结果都是表。
4.1.1 选择(Selection)
选择是单目运算,其运算对象是一个表。该运算按给定的条件,从表中选出满足条件的行形成一个新表作为运算结果。
选择运算的记号为 σF(R)。
其中σ是选择运算符,下标F是一个条件表达式,R是被操作的表。
【例】学生情况表如表4.1所示。
表4.1 学生表
学 号 姓 名 性 别 平均成绩 970101 王 敏 男 74 970105 李小琳 女 82 970120 胡小平 男 88
若要在学生情况表中找出学生表中性别为女且平均成绩在80分以上的行形成一个新表,则运算式为:
σF(学生)
上式中F:性别=“女”^ 平均成绩≥80
该选择运算的结果如表4.2所示。
表4.2 σF(学生)
学 号 姓 名 性 别 平均成绩 970105 李小琳 女 82 4.1.2 投影(Projection)
投影也是单目运算,该运算从表中选出指定的属性值组成一个新表,记为:ΠA(R)。
其中A是属性名(即列名)表,R是表名。
【例】若在表4.1中对“姓名”和“平均成绩”投影,运算式为:
Π姓名,平均成绩(学生)
该运算得到如表4.3所示的新表。
表4.3 Π姓名,平均成绩(学生)
姓名 平均成绩 王 敏 74 李小琳 82 胡小平 88
表的选择和投影运算分别从行和列两个方向上分割表,而下面要讨论的连接运算则是对两个表的操作。
4.1.3 连接(JOIN)
连接是把两个表中的行按照给定的条件进行拼接而形成新表,记为:R S 。
F
其中,R、S是被操作的表,F是条件。
【例】若表A和B分别如表4.4和表4.5所示,则A B如表4.6所示,其中
F
F为:T1=T3。
表4.4 A表
T1 T2 1 A 6 F 2 B 表4.5 B表
T3 T4 T5 1 3 M 2 0 N
表4.6 A B
F
T1 T2 T3 T4 T5 1 A 1 3 M 2 B 2 0 N
两个表连接最常用的条件是两个表的某些列值相等,这样的连接称为等值连接,上面的例子就是等值连接。
数据库应用中最常用的是“自然连接”。进行自然连接运算要求两个表有共同属性(列),自然连接运算的结果表是在参与操作两个表的共同属性上进行等值连接后再去除重复的属性后所得的新表。自然连接运算记为:R S ,其中R和S是参与运算的两个表。
【例】若表A和B分别如表4.7和表4.8所示,则A B如表4.9所示。
表4.7 A表
T1 T2 T3 10 A1 B1 5 A1 C2 20 D2 C2 表4.8 B表
T1 T4 T5 T6 1 100 A1 D1 100 2 B2 C1 20 0 A2 D1 5 10 A2 C2 表4.9 A B
T1 T2 T3 T4 T5 T6 5 A1 C2 10 A2 C2 20 D2 C2 0 A2 D1
在实际的数据库管理系统中,对表的连接大多是自然连接,所以自然连接也简称为连接。本书中若不特别指明,名词“连接”均指自然连接,而普通的连接运算则是按条件连接。
4.2 数据库的查询
使用数据库和表的主要目的是存储数据以便在需要时进行检索、统计或组织输出,通过T-SQL的查询可以从表
显示全部