[理学]5第五讲.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章SELECT查询 第二讲 3.3.3 多表连接查询 3.5.5 交叉连接与自连接 交叉连接和自连接是连接查询中两种比较特殊的连接查询。在交叉连接的结果中,两个表中每两个可能成对的行占一行。 交叉连接:将生成来自这两个表的各行的所有可能组合。交叉查询在不带where子句时,返回到结果集中的行数等于第一个表中符合查询条件的行数乘以第二个表中符合查询条件的行数。当交叉连接带有where子句时,返回连接两个表的行数的积减去where子句所限定而省略的行数。 交叉连接中表名用关键字cross join隔开 1.语法结构 SELECT 属性列表--它可以是星号(*)、表达式、列表、变量等。 [INTO新表] --用查询结果集合创建一个新表 FROM 基本表(或视图序列)--最多可以指定16个表或者视图,用逗号相互隔开。 [WHERE条件表达式] [GROUP BY 属性名表] --分组子句 [HAVING 组条件表达式] --组条件子句 [ORDER BY 属性名[ASC|DESC]..] --排序子句 [COMPUTE 集函数(列名)] --汇总子句 3.语句执行过程 1)读取FROM子句中的基本表、视图和数据,执行各种操作。 2)选取满足WHERE子句中给出的条件表达式的元组。 3)按GROUP BY子句中指定列的值分组,同时提取满足HAVING子句中组条件表达式的那些组。 4)按SELECT子句中给出的列名或列表达式求值输出。 5)ORDER BY子句对输出的目标表进行排序,按附加说明ASC升序排列,或按DESC降序排列。 1、 如何定义表结构 表结构:即表头。定义表由几个列组成,每个列的列名是什么、该列中存放什么样的数据(由数据类型决定)、该列的宽度是多少、列中存放的数据有什么样的约束、表中各列之间有什么样的约束等。 语句说明: (1)表名用户给定的标识符。即所要定义的表名。表名最好取有意义的名字,如Students,做到见名知意;同一个数据库中,表名不允许同名。 (2)列名用户给定的列名,最好取有意义的列名,如Sno,Cno,做到见名知意。 (3)数据类型:指定该列存放数据的数据类型。各数据库管理系统所提供的数据类型有所不同的。SQL Server的常用数据类型:定长字符型CHAR(n) ,变长字符型VARCHAR(n),整数型INT或INTEGER,浮点型FLOAT,日期型 Datetime 。 2.1精确数字类型包括: 整数类型 Bigint:长度8个字节,每个字节8位,可有正负 Int:长度4个字节,每个字节8位,可有正负 Smallint:长度2个字节,共16位,可有正负 Tinyint:存储的每个值占一个字节 位数据类型 Bit:可以存储1、0或者null数据的数据类型 2.1精确数字类型包括: 货币数据类型 Money:由两个4字节整数构成,前面的4字节表示整数,后面的4字节表示小数 Smallmoney:由两个2字节构成,前面2字节表示整数,后面2字节表示小数 2.2 近似数字类型包括: decimal和numeric 都是带固定精度和位数的数据类型 Float和real 都是浮点数据类型 2.3字符数据类型 CHAR:可以存储固定长度的字符 VARCHAR:用以存储变长字符数据 TEXT:存储的字符型数据非常庞大,专门用于存储数量庞大的变长字符数据 语句举例 【例3.2.2】要在当前数据库StudentsInfo中的定义一个表,表名为Students,表中各列的要求见表3-1。 【例3.2.3】要在当前数据库StudentsInfo中的加入Courses表,表中各列的要求见表3-2 。 【例3.2.4】要在当前数据库StudentsInfo中的加入Enrollment表,表中各列的要求见表3-3。 设置外键的语句 ALTER TABLE 表名 ADD CONSTRAINT FK_列名 FOREIGN KEY(列名) REFERENCES 表名(列名) 注意: 在定义一个表结构时,除定义各列的列名、数据类型外,也定义了各列的约束条件。 列的约束条件可以防止不合理的数据插入到表中,也能防止不该删除的数据被删除。 例如,在Students表中,定义了Sno为该表的主键约束,表示该列的值非空且惟一。因此,如果要向表中插入一行,但没有给出Sno的值或给出空值,则无法插入该行。 又如,假设表中已有一行,该行的Sno值为,则不能再插入一行,它的Sno值也为。因为主键约束要求表中每行的主键值惟一。 再如,表中外键的约束保证了表间参照关系的正确性。如一个表中某一行的

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档