- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer特殊功能语句
SQL文档TOPSELECTTOP查询前几或者前百分之几INSERTUPDATEDELETE变量TOP后面是括号的,实际上可以使用变量或者表达式批量INSERT INSERTINTO TABLE1(A,B)SELECT col1,col2 FROM TABLE2UPDATE使用一个表的数据更改另一个表的数据,类似于表连接UPDATEaSETa.column=b.columnFROMTABLE1 aINNER JOIN TABLE2b ONa.ID =b.IDDELETE 使用一个表的数据删除另一个表的数据,类似于表连接DELETE aFROMTABLE1 aINNERJOINTABLE2 b ON a.ID = b.ID树结构递归(存储省空间)和闭包表(查询省时间)递归(邻接表:依赖父节点)经常用的父节点ParenID,SQL里必威体育精装版功能有递归查询闭包表(祖先-后裔)一般用在经常查询树结构在闭包表的设计中,额外创建了一张TreePaths的表(空间换取时间)TreePaths表存储了所有祖先-后代的关系的记录(包括自己到自己)另外,闭包表还可以优化,如增加一个path_length字段,自我引用为0,直接子节点为1,再一下层为2,一次类推,查询直接自子节点就变得很简单。设计表数量查询子查询树插入删除引用完整性邻接表1简单简单简单简单是枚举路径1简单简单简单简单否嵌套集1困难简单困难困难否闭包表2简单简单简单简单是 1、邻接表是最方便的设计,并且很多软件开发者都了解它。并且在递归查询的帮助下,使得邻接表的查询更加高效。 2、枚举路径能够很直观地展示出祖先到后代之间的路径,但由于不能确保引用完整性,使得这个设计比较脆弱。枚举路径也使得数据的存储变得冗余。 3、嵌套集是一个聪明的解决方案,但不能确保引用完整性,并且只能使用于查询性能要求较高,而其他要求一般的场合使用它。 4、闭包表是最通用的设计,并且最灵活,易扩展,并且一个节点能属于多棵树,能减少冗余的计算时间。但它要求一张额外的表来存储关系,是一个空间换取时间的方案。改数据在表上右键选择Edit Top 200 Rows展开编辑前200条界面后,点击SQL(如图中的红圈),会出现查询的SQL在SQL中添加WHERE条件,可以选定你想要改的具体数据行,直接可以手动修改数据改完后点击一下其他行,立刻更改数据,想看结果,点击叹号(如图中的红圈)如此,修改少数几条数据时,不会出现误操作。开窗函数 OVER聚合函数SUM() OVER(PARTITION BY 分组条件 ORDER BY 排序条件)排名函数ROW_NUMBER()RANK()DENSE_RANK()NTILE(4)UNION(慢)合并且去重UNION ALL(快)合并不去重INTERSECT交集,和表连接效果差不多,但是必须列个数相同,列类型可转换EXCEPT差集,SELECT ID FROM TABLE1EXCEPTSELECT ID FROM TABLE2得到第一个结果集中,和第二个结果集不相同的数据CROSS APPLY,OUTER APPLY用来连接两个表,使第一个表的每个列都在第二个表中使用一次SELECT a.字段,b.字段FROM () a CROSS APPLY(where字段=a.字段) bXML逗号组合列逗号分割列PIVOT UNPIVOT 行转列,列转行下图是结果集转置SQLMERGE新函数一个表(结果集)A更新另一个表B【有判断条件】,根据判断条件的真假,插入新数据或者更新旧有数据动态SQL无变量有变量(可以OUTPUT)存储过程内容排序规则SQLServer字符串存储属性,可用COLLATE 设置如果排序规则冲突可在等号两边加上排序规则数据库默认SQL可指定排序规则如a.word COLLATE DATABASE_DEFAULT = b.word COLLATE DATABASE_DEFAULT建表看指定排序规则如CREATETABLE AAA(ID INTIDENTITY(1,1),Word VARCHAR(20)COLLATE Chinese_PRC_CI_AS)索引10000条以下的表,特意建立索引没多大作用页(数据页)一、数据页的基本组成。如上图所示,是SQLServer数据库中页的主要组成部分。包括三部分内容,分别为标头、数据行和行偏移量。其中数据行存储的是数据本身(表中的一条记录),其他的标头与偏移量都是一些辅助的内容。大小:8KB,8192个字节扣除掉一些必要的开销(如标头信息或者偏移量所占用的空间),一般其可以用来实际存储数据的空间只有8000字节左右。其中每页开头都有一个标头,其占据了96个字节,用于存储有关页的信息。如这个页被分配到页码、页的类型、页的可用空间以及拥有这
文档评论(0)