




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【精品】数据库总结 数据库的理论知识1数据库能够做什么存储大量数据,方便检索和访问保持数据信息的一致、完整共享和安全通过组合分析,产生新的有用信息2数据模型由数据结构、数据操作、数据约束条件三部分组成。 3构成E-R图的基本要素是实体型、属性和联系,其表示方法为实体型(Entity)用矩形表示,矩形框内写明实体名属性(Attribute)用椭圆形表示,并用无向边将其与相应的实体连接起来联系(Relationship)用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。 4数据库就是“数据”的“仓库”,由表、关系以及操作对象组成,数据存放在表中。 5选择安全形式(进入sql server系统)Windows验证方式Windows和SQL Server混合验证方式6选择安全角色(使用数据库及其对象)服务器角色(操作服务器权限)数据库角色(对数据库对象进行操作)7系统管理员给适当的用户分配相应的角色就是SQL Server服务器和数据库安全的关键之一8数据库常见操作创建数据库、修改数据库9概念模型:把现实世界转换为信息世界的模型,E-R模型数据模型:把信息世界转化为数据世界使用的模型,关系模型10E-R图通常都应经过以下两个阶段 (1)针对每一用户画出该用户信息的局部ER图,确定该用户视图的实体、属性和联系。 需注意的是能作为属性的就不要作为实体,这有利于ER图的简化。 (2)综合局部ER图,生成总体ER图。 在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。 一般来说,从总体ER图必须能导出原来的所有局部视图,包括实体、属性和联系。 11两实体集间的1:1的联系假设A实体集与B实体集是1:1的联系,联系的转换有三种方法把A实体集的主关键字加入到B实体集对应的关系中,如果联系有属性也一并加入;把B实体集的主关键字加入到A实体集对应的关系中,如果联系有属性也一并加入;建立第三个关系,关系中包含两个实体集的主关键字,如果联系有属性也一并加入。 12两实体集间1:n联系两实体集间1:n联系,可将“一方”实体的主关键字纳入“n方”实体集对应的关系中作为“外部关键字”,同时把联系的属性也一并纳入“n方”对应的关系中。 13两实体集间m:n联系对于两实体集间m:n联系,必须对“联系”单独建立一个关系,用来联系双方实体集。 该关系的属性中至少要包括被它所联系的双方实体集的“主关键字”,并且如果联系有属性,也要归入这个关系中。 14数据类型1字符类型Char(size)固定长度的字符串型;Varchar(size)变长度的字符串型;Nchar(size)char类型的拓展,支持多字节和unicode字符;NVarchar(size)varchar类型的拓展,支持多字节和unicode字符2数字类型Bit单比特数据,只能取“1”和“0”;Int4比特整数;Real4比特的浮点数,可以指定精度,但没有范围;Float可以精确到15位小数,每个float类型的数据占8个字节;Number可存放实型和整型3货币数据类型Money8字节;Smallmoney4字节4日期数据类型Datetime:存储日期和时间的结合体。 从公元1753年1月1日0时-9999年12月31日23时59分59秒,精确度可达到三百分之一秒;Smalldatetime和datetime相似,但其日期时间范围较小,1900年1月1日-2079年6月6日,精度较低,只能精确到分钟。 5文本和图形数据类型TEXT存储大量文本数据,约2G;NTEXT采用unicode标准字符集;IMAGE主要用来存储图形。 15完整性约束简称约束,是关系数据库中的对象,用以存放插入到一个表某一列数据的规则。 约束是用来确保数据的准确性和一致性。 数据的完整性就是对数据的准确性和可靠性的一种保证。 数据完整性是指数据的精确和可靠性。 16数据完整性分为四类实体完整性规定表的每一行在表中是唯一的实体;域完整性是指表中的列必须满足某种特定的数据类型和约束,其中约束又包括取值范围、精度等规定;参照完整性只两个表的主关键字和外关键字应一致,保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散;用户定义的完整性17列约束与表约束的创建语法格式CONSTRAINT constraint_nameconstraint_type(column1,column2,)Constraint_name为约束名,不指定名称时,系统会给定一个名称。 Constraint_type为约束类型,可以是unique,primary key,foreign key,check等18primary key约束用来定义基本表的主键,起惟一标识作用,其值不能为NULL,也不能重复,以此来保证实体完整性。 primary key与unique约束类似,通过建立惟一索引来保证基本表在主键列取值的唯一性,但它们之间存在很大区别1.在一个表中,只能定义一个primary key约束,但可定义多个unique约束。 2.对于指定为primary key的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于unique所约束的惟一键,则允许null,只是null值最多一个。 3.不能为同一个列或一组列即定义unique约束,又定义primary key约束19.foreign key约束定义了一个表中的数据与另一个表中数据的联系。 foreign key约束指定了某一个列或一组列作为外部键,其中,包含外部键的表称为子表,包含外部键所应用的主键的表称为父表。 foreign key约束既可以用于列约束,也可用于表约束。 系统规定表在外部键上的取值要么是父表中的某一个主键,要么取空值。 以此保证两个表之间的连接,确保了实体的参照完整性。 20check约束用来检查字段值所允许的范围。 check约束可以被定义为表约束、列约束、域约束或者被定义在断言中。 21域是列中合法数据值的集合。 它是一种用户定义的对象,在定义列时,可以指定它代替数据类型。 域基于SQL数据类型,但它可以包括默认值和约束,通过约束进一步限制可以存储在列中的值。 此外,除了约束能实现完整性约束外,还提供了一些工具,来实现数据完整性,最主要的是规则(Rule)、缺省值(Default)和触发器(Trigger).22规则(rule)就是对存储在表的列或自定义数据类型中的值的规定和限制。 规则是单独存储的、独立的数据库对象,规则与其作用的表或用户自定义数据类型是相互独立的,即表或用户自定义对象的删除修改不会对规则产生影响。 23缺省值(default)对象是指当用户没有指定具体数据时,向相应的列中自动插入的数据。 缺省值对象可以用于多个列或用户自定义数据类型,与规则有许多相似之处。 表的一列或一个用户自定义数据类型也只能与一个缺省值绑定。 24可更新视图的约束1Select子句中的目标列不能包含聚集函数;2Select子句中不能使用distinct关键字;3不能包含group by子句;4不能包含经算术表达式计算出来的列;5视图必须是基于单表使用选择、投影操作导出,并且要包含了基本表的主码。 25簇索引簇索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即簇索引与数据是混为一体的,它的叶节点存储的是实际的数据。 非簇索引非簇索引具有与表的数据完全分离的结构,使用非簇索引不必将物理数据页中的数据按列排序。 非簇索引的叶节点存储了关键字的值和行定位器。 一个表最多建立一个簇索引和249个非簇索引。 与非簇索引不同,簇索引改变了数据存放的物理位置。 簇索引中,行是以索引顺序存放的。 即簇索引不仅对索引中的键字值进行排序,而且对表中的行排序,以便与索引的排序相匹配。 注意事项SQL SERVER具有使用多个索引的能力,当在创建一个或多个索引后,SQL SERVER的查询优化器会自动决定在查询执行期间使用哪个索引。 为了在SQL SERVER中使用索引,WHERE子句中的列之一必须是索引所在列。 当然也可以不让SQL SERVER的查询优化器自动决定索引,而是强制使用某索引,格式如下select列名1,列名2.from表名with(index(索引名)where条件26视图是从一个或者多个表中查询数据的另外一种方式。 利用视图,用户可以集中、简化、定制数据库,同时还可以提供安全保证。 视图是从一个或多个表中导出的表,其结构和数据是建立在对表的查询的基础上。 和表一样,视图也是包含几个被定义的数据列和多个数据行,这些数据列和数据行均所引用的表。 所以视图不是真实存在的表,而是一张虚表。 通过视图看到的数据只是存放在基本表中的数据。 对视图的操作与对表的操作一样,可以对其进行查询、修改和删除。 当对视图中的数据进行修改时,相应的基本表的数据也要发生变化;同时,若基本表的数据发生变化,则这种变化也可以自动反映在视图中。 27视图的优缺点优点1.简化操作。 2.定制数据。 视图能够让不同的用户,以不同的方式看到不同或相同的数据集。 3.合并分隔数据4.安全性缺点1.性能;2.更新限制不是所有的视图都是可更新的。 目前,sql将可更新的视图限制为基于对单个表的,并且没有group by或者having子句的查询。 除此之外,为了使视图是可更新的,视图不能使用聚合函数、计算的列或select distinct子句。 28查询语句的执行步骤1.执行from子句,根据from子句中的一个或者多个表创建工作表。 如果在from子句中有两个或多个表,DBMS将对表进行交叉连接,作为工作表。 2.如果有where子句,DBMS将WHERE子句列出的搜索条件作用于步骤 (1)生成的工作表。 DBMS将保留那些满足搜索条件的行,删除那些不满足搜索条件的行。 3.如果有group by子句,DBMS将步骤2生成的结果表中的行分成多个组,每个组所有行的group_by_expression字段具有相同的值,DBMS将每组减少到单行,而后将其添加到新的结果表中。 4.如果有having子句,DBMS将having子句列出的搜索条件作用于3生成的“组合”表中的每一行。 DBMS将保留那些满足条件的行,删除那些不满足搜索条件的行。 5.将select子句作用于结果表。 删除结果表中不包含在select_list中的列,如果select子句中包含distinct关键字,DBMS将从结果中删除重复的行。 6.如果有order by子句,按照指定的排序规则对结果进行排序。 注意事项order by子句一定要放在所有子句的最后(无论包含多少子句);7.对于交互式select语句,在屏幕上显示结果,对于嵌入式sql,使用游标将结果传递到宿主程序中。 29运算符的注意事项1.NULL与Fasle进行AND运算时,结果为False而不是NULL。 2.NULL与True进行OR运算时,结果为True而不是NULL。 3.只要满足多个条件中的一个条件即可,用in运算符。 4.AND的优先级要高于OR。 5.null值进行取反,结果仍然是null。 6.not不能单独使用,长和其他运算符联合使用。 30like模糊查询使用like进行模糊查询,使用的通配符%、_和,以及*。 只有char、varchar和text类型的数据才能使用like运算符和通配符。 1.通配符%,它表示任意字符的匹配,且不计字符的多少。 2.“_”通配符的功能与“%”基本相同,只是它表示任意一个字符的匹配。 当然要表示两个字符的匹配,就需要使用两个“_”通配符。 3.通配符用于指定一系列的字符,只要满足这些字符其中之一,且位置出现在“”通配符的位置的字符串就满足查询条件。 31.连接符的应用当需要将表中的几列数据作为一列进行处理。 需要用连接符+或|。 注意使用连接符不仅可以连接表中的两列,还可以加入一些固定字符,合并后的列没有列名。 使用连接符时,要求被连接的列必须有相同或相近的数据类型32当从数据库得到一个值时,使用CAST表达式可以改变值的数据类型,但是,不能改变源列的数据类型。 33字符串函数charindex()用来寻找一个指定的字符串在另一个字符串中的起始位置;len()返回传递给它的字符串长度;lower()把传递给它的字符串转换为小写;upper()把传递给它的字符串转换为大写;ltrim()清除字符左边的空格;rtrim()清除字符右边的空格;right()从字符串右边返回指定数目的字符;replacestuff()替换一个字符串中的字符。 34日期函数getdate()取得当前的系统日期;dateadd()将指定的数值添加到指定的日期部分后的日期;datediff()两个日期之间的指定日期部分的区别;datename()日期中指定日期部分的字符串形式;datepart()日期中指定日期部分的整数形式。 35关系的集合运算1.R并S,R或S或两者中元素的集合。 一个元素在并集中只出现一次,即使它在R和S中都存在。 2.R交S,R和S中都存在的元素的集合。 3.R差S,在R中而不在S中的元素的集合。 注意R差S不同于S差R,后者是在S中而不在R中的元素的集合。 36当需要用自连接时,必须用表别名37Natural Join当两个关系R和S的某些列具有相同的属性名时,可利用这些同名属性列总的相同值作为连接条件将两个关系连接起来,构成自然连接。 在连接后的关系中,不仅含有R与S不同的属性列,而且含有相同的属性列,其元组的数目由相同属性列中的相同值决定。 如果两个关系没有公共属性,自然连接就是笛卡尔积。 38内连接(INNER JOIN)使用比较运算符进行表间某(些)列数据的比较操作,并列出这些表中与连接条件相匹配的数据行。 根据所使用的比较方式不同,内连接又分为等值连接和不等连接。 39UNION运算符使用UNION运算符可以将两个或更多查询的结果合并为单个结果集,该结果集包含联合查询中的所有查询的全部行。 UNION运算不同于使用连接合并两个表中的列的运算。 40Count()函数用来计算表中记录的个数或者列中值的个数。 注意事项1.count(*),计算表中行的总数,即使表中存在null,也被计算在内2.count(column),计算column列包含的行的数目,如果该列中某行数据为null,则该行不计入统计总数41MAX()和MIN()函数不仅可以作用于数值型数据,也可以作用于字符串或是日期时间数据类型的数据。 42avg()函数在计算平均值时,avg()将忽略null值,因此有null值时候,计算平均值要特别注意。 43Group by子句依据column列里的数据对行进行分组,具有相同值的行被划为一组。 一般和聚合函数同时使用。 Group by子句的查询就称为组合查询。 如果表中的行组依赖于多列,只要在查询的group by子句中,列出定义组所需的所有列即可。 Group by子句中,同为null值的可以分为一组。 44Having子句Group by子句分组,只是简单地依据所选列的数据进行分组,将该列具有相同值的行划为一组。 而实际应用中,往往还需要删除那些不能满足条件的行组,为了实现这个功能,SQL提供了HAVING子句。 Having子句和Where子句都是定义搜索条件。 区别在于having子句与组有关,而不是与单个的行有关。 1.如果指定了group by子句,那么having子句定义的搜索条件将作用于这个group by子句创建的那些组2.如果指定where子句,而没有指定group by子句,那么having子句定义的条件将作用于where子句的输出,并把这个输出看作是一个组3.如果既没有指定group by子句也没有指定where子句,那么having子句定义的搜索条件将作用于from子句的输出,并把这个输出看作一个组。 45exists子查询只需要子查询返回一个True或者False,子查询数据内容本身并不重要。 可使用EXISTS判式来定义子查询。 EXISTS判式用来测试集合是否为空,它总是与子查询结合使用,只要子查询中返回一个值,则EXISTS判式的值为True。 如果没有值,那么为False。 46unique运算符用来测试集合是否存在重复元组。 47Transact-SQL语言的组成数据定义语言DDL用来定义和管理数据库中的对象(create table、alter table、drop table、create index、drop index、create view、drop view);数据查询语言DQL用来查询数据库中的对象和数据,是T-SQL中最常用的部分(select、sum()、avg()、max()、min()、countT()、子查询、多表查询);数据操作语言DML用来操作数据库中的对象和数据,是T-SQL中最常用的部分(insert、update);数据控制语言DCL用来控制用户对数据库对象操作的权限(grant、remove)。 48局部变量一个能够拥有特定数据类型的对象,作用范围仅在程序内部。 可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。 以开头,使用declare语句声明。 49全局变量也称配置函数,是系统定义的变量,以开头;用户只能使用。 SQL SERVER系统内部使用的变量,作用范围不局限于某一程序,而是任何程序均可随时调用。 50全局变量不是由用户程序定义的,是在服务器级定义的;用户只能使用预先定义的全局变量;引用全局变量时,必须以开头;局部变量的名称不能与全局变量名称相同。 51Print命令Print命令向客户端返回一个用户自定义的信息,即显示一个字符串。 显示的字符串的最大长度为255个字符、局部变量或全局变量。 如果变量值不是字符串,必须先用数据类型转换函数CONVERT将其转换为字符串。 52Declare命令Declare命令用于声明一个或多个局部变量、游标变量或表变量。 用Declare命令声明之后,所有的变量都被赋予初值null。 需要用select或set命令来给变量赋值。 变量类型可为系统定义或用户定义的类型,但不能为text、ntext、image类型。 53存储过程(procedure)是一组被编译在一起的T-SQL语句的集合,它们被集合在一起以完成一个特定的任务。 它类似于C语言中的函数,用来执行管理任务或应用复杂的业务规则,存储过程可以带参数,也可以返回结果。 存储过程可以包含数据操纵语句、变量、逻辑控制语句等。 54系统存储过程由系统定义,存放在master数据库中,系统存储过程的名称都以“sp_”开头或”xp_”开头。 55存储过程的优点1模块化编程创建一个存储过程存放在数据库中后,就可以被其他程序反复使用。 2快速执行存储过程第一次被执行后,就驻留在内存中。 以后执行就省去了重新分析、优化、编译的过程。 3减少网络通信量有了存储过程后,在网络上只要一条语句就能执行一个存储过程。 4安全机制通过隔离和加密的方法提高了数据库的安全性,通过授权可以让用户只能执行存储过程而不能直接访问数据库对象。 56存储过程允许带参数,参数分为输入参数和输出参数。 其中,输入参数可以有默认值。 输入参数可以在调用时向存储过程传递参数,此类参数可用来向存储过程中传入值;输出参数从存储过程中返回(输出)值,后面跟随OUTPUT关键字。 57存储过程的特点第一存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。 第二存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。 可以向程序返回错误原因。 第三存储过程运行比较稳定,不会有太多的错误。 只要一次成功,以后都会按这个程序运行。 第四存储过程主要是在服务器上运行,减少对客户机的压力。 第五存储过程可以包含程序流、逻辑以及对数据库的查询。 同时可以实体封装和隐藏了数据逻辑。 第六存储过程可以在单个存储过程中执行一系列SQL语句。 第七存储过程可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。 58存储过程与函数的区别1。 存储过程可以用临时表,函数不能用临时表;2存储过程可以Update,函数不能Update;3存储过程可以用Getdate()等函数,函数不能使用Getdate()这些函数;4一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强;5对于存储过程来说可以返回参数,而函数只能返回值或者表对象;6存储过程一般是作为一个独立的部分来执行,而函数可以作为查询语句的一个部分来调用,由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。 59触发器是一个特殊的存储过程,它在表的数据变化时发生作用。 触发器是维护数据完整性的另一种手段。 触发器是由一个事件来启动运行。 当某个事件发生时,触发器自动地隐式运行,并且,触发器不能接受参数。 60触发器执行环境包含了触发器正确执行所必需的信息。 这些信息主要是触发器本身的细节和触发器所定义的目标表。 另外触发器执行环境还包括一个或两个测试表,称之为inserted表和delete表。 测试表是虚表,用于保存目标表更新、插入或删除数据信息。 这些测试表用来测试数据修改的结果,以及设置触发器行为的条件。 用户不能直接修改测试表中的数据,但能在select语句中,使用这些表来检测insert,update或delete的结果。 61触发器触发时系统自动在内存中创建deleted表或inserted表;只读,不允许修改;触发器执行完成后,自动删除。 inserted表临时保存了插入或更新后的记录行,可以从inserted表中检查插入的数据是否满足业务需求,如果不满足,则向用户报告错误消息,并回滚插入操作。 deleted表临时保存了删除或更新前的记录行,可以从deleted表中检查被删除的数据是否满足业务需求,如果不满足,则向用户报告错误消息,并回滚插入操作。 修改操作inserted表deleted表增加(INSERT)记录存放新增的记录-删除(DELETE)记录-存放被删除的记录修改(UPDATE)记录存放更新后的记录存放更新前的记录62UPDATE触发器特定的表上执行UPDATE语句时,会触发UPDATE触发器。 UPDATE操作包括两个部分先将需要更新的内容从表中删除,然后插入新值。 因此UPDATE触发器同时涉及到删除表和插入表。 63事务(transaction)是作为单个逻辑工作单元执行的一系列操作,这些操作作为一个整体一起向系统提交,要么都执行、要么都不执行,事务是一个不可分割的工作逻辑单元。 64事务的ACID属性原子性(Atomicity)事务是一个完整的操作,各步操作是不可分的(原子的);要么都执行,要么都不执行。 一致性(Consistency)当事务完成时,数据必须处于一致状态。 隔离性(Isolation)对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应以任何方式依赖于或影响其他事务。 永久性(Durability)事务完成后,它对数据库的修改被永久保持,事务日志能够保持事务的永久性。 65T-SQL使用下列语句来管理事务开始事务begin transaction;提交事务mit transaction;回滚(撤销)事务rollback transaction。 一旦事务提交或回滚,则事务结束。 66事务的分类显示事务用begin transaction明确指定事务的开始,这是最常用的事务类型;隐性事务通过设置set implicit_transactions on语句,将隐性事务模式设置为打开,下一个语句自动启动一个新事务。 当该事务完成时,再下一个T-SQL语句又将启动一个新事务;自动提交事务这是SQL Server的默认模式,它将每条单独的T-SQL语句视为一个事务,如果成功执行,则自动提交;如果错误,则自动回滚。 数据库的部分语法知识关系是汇集在表结构中的行和列的集合,每个关系由一个或多个属性组成关系,属性和数组这3个术语在涉及到关系模型时使用,SQL在描述这些术语时,使用的是表,列和行;联系指实体间对应关系。 三范式1.每一列都是不可分的基本数据项,同一列中不能有多个值,每一行只包含一个实例的信息,简言之,就是无重复的列;2.属性完全依赖于主关键字;3.一个数据表中不包含已在其它表中已包含的非主关键字信息。 创建表增加列删除列有默认值,主键不能被删除,具有非空约束的列可以被删除。 可以先删除约束,再删除列。 alter table表名drop constraint约束名(默认值的默认名DF_product_color_300424B4)alter table表名drop column列名修改列text,image,ntext,timestamp,索引的一部分,是primary key或foreign key,有缺省值,有check,unique时不能改变其类型重命名表sp_rename原表名,新表名重命名列=数据库=创建区分大小写的列(sql server默认不区分大小写)创建数据库=索引=索引一个表的存储是由两部分存放的,一部分用来存储表的数据页面,另一部分存储索引页面,索引就存放在索引页面上。 索引面页相对于数据页面来说小得多,当进行数据检索时,系统先搜索索引页面,从中找到所需要数据的指针,再通过指针从数据页面中读取数据。 簇索引簇索引与数据是混为一体的非簇索引非簇索引具有与表的数据完全分离的结构,由于非簇索引使用索引页存储,因此比簇索引需要更多的空间,且检索效率低创建索引索引改名和删除=完整性约束=1.与表有关的约束是在创建有的语句中定义的一种约束,在定义列同时定义该约束称为列约束;在列定义之后,单独定义多个列的约束称为表约束上面在name列后面的是列约束,最后一行是表约束,它们都可以实施primary key,foreign key,unique,check约束,另外,列约束还可以实施not null约束,eg如果希望删除主表中数据时同时删除子表中相关数据时可采用2.域约束(只能使用check约束)域可以代替数据类型使用,如但是在sql server中不支持create domain,不过可以通过给列设置check约束实现断言(只能使用check约束)sql server中也不支持3.4.sql server中的完整性控制,包括规则,缺省值,触发器规则一个规则可应用多个列,一个列最多只能应用一个规则缺省值性质同上=CASE WHEN语句=select*,level=case when mark=90thenAwhen mark=80and mark=70and mark=60and mark70thenDwhenmark60thenEend from student=查询=自然连接,自动判断相同的列,匹配连接(不灵活,不能指定匹配列)=连接=左外连接=内连接+左边表中不匹配的行;右外连接=内连接+右边表中不匹配的行;全外连接=内连接+左边表中不匹配的行+右边表中不匹配的行。 不管是哪种连接,DBMS总是一次执行两个表的联合,因此为了在单一查询中连接个或以上表,就需要进行多次连接,如查询所有教师的姓名,所在系,开设的课程名以及选修这门课的学生姓名和成绩。 总是把前面的结果和后面的表进行连接交叉连接等同于from后的表用逗号隔开,都是返回两个表中所有行的迪卡尔积union可用于合并查询结果,自动消除重复行,如果不希望消除重复,必须使用union all可查不同表中的数据,但列数,类型要匹配,还可以对最后的结果进行排序(列的序号也可)注意多表进行union运算时,(A unionB)union C和A uinonall(B unionC)结果可能不同,括号可改变连接顺序。 cube运算符,对分组进行扩展select dname,tsex,count(*)from teachergroup bytsex,dname withcube orderby dname它会在原表的基础上再加上按各单列统计的行数和一行总的汇总行。 rollup运算符,对分组进行扩展select dname,tsex,count(*)from teachergroup bytsex,dname withr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年保定一模数学试卷
- 朗诵清明诗歌活动方案策划(3篇)
- 壁球馆施工方案(3篇)
- 黑色旅游活动策划方案(3篇)
- 休闲旅游活动策划方案(3篇)
- 江苏企业舞蹈活动策划方案(3篇)
- 动态雕塑施工方案模板(3篇)
- 紫薇田园都市施工方案(3篇)
- 烟感系统安装施工方案(3篇)
- 泰安就业扶贫活动策划方案(3篇)
- 千人相亲活动方案
- 船舶代理公司管理制度
- 医学影像检查技术题库含答案
- CJ/T 43-2005水处理用滤料
- 护理十八项核心制度考试题与答案
- 数据标注项目管理制度
- 云南劳动合同续签协议书
- 如何写好作文开头结尾 课件
- 2025安徽农业大学辅导员考试试题及答案
- 井工煤矿风险监测预警处置方案之安全监控系统监测预警处置方案
- 回收拆除废旧设备合同协议书
评论
0/150
提交评论