SQL基础语句总结

SQL基础语句总结

ID:46612876

大小:81.50 KB

页数:7页

时间:2019-11-26

SQL基础语句总结_第1页
SQL基础语句总结_第2页
SQL基础语句总结_第3页
SQL基础语句总结_第4页
SQL基础语句总结_第5页
资源描述:

《SQL基础语句总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、SQL基础语句总结写在前面本节主要讲述一•些基本的,常用的SQL语句,而非数据库方面的基本知识。数据库方面的知识留待以后再讲,现在就我们平常常用的一些SQL语句展开论述。木节会涉及到SQL的基木句法,SQL的执行顺序,SQLZ间的组合,动态SQL语旬四个方面。这四个方面Z间没有前后顺序Z分,是相辅相成,其内在还是有很多联系的。%1.四种基本的SQL语句1.查询select*fromtable2.更新updatetabicsetficld=valuc3.插入insert[into]table(field)values(value)4.删除del

2、ete[from]table%1.语句的执行顺序1•语法分析分析语句中语法是否符合规范,衡量语句中各表达式的意义。2.语义分析检杏语句屮涉及的所有数据库对象是否存在,且用户有相丿应的权限。3•选择优化器不同的数据库有不同的算法(这个涉及到数据结构),数据库会根据自己的理解(数据库本身)为SQL语句选择不同的优化器,不同的优化器会选择不同的“执行计划”4.运行“执行计划”根据“执行计划”执行SQL语句。以上所述是数据执行吋的大体路线。5.select语句的执行顺序借用ItZikBen-Gan>LuborKollar>DejanSarka所著的《

3、SqlServer2005技术内幕:T-SQL查询》的一段话足以说明:(8)select(9)distinct(11)(1)from(3)join(2)on(4)where(5)groupby(6)with{cubelrollup}(7)having(having_condition)(10)orderby

4、er_by_condition>从这个顺序可以看出,所有的查询语句都是从fem开始执行的。在执行过程中,每个步骤都会为下一个步骤牛•成一个虚拟表,这个虚拟表将作为下一个执行步骤的基础。第一步:from首先对from子句屮的前两个表执行一个笛卡尔乘积,此时生成虚拟表vtl.第一步:on接下来便是应用on筛选器,on中的逻辑表达式将应用到vtl中的各个行,筛选出满足on逻辑表达式的行,生成虚拟表vt2.第三步:join如果是outerjoin那么这一步就将添加外部行,leftouterjion就把左表在第二步小过滤的添加进來,如果是rightou

5、terjoin那么就将右表在笫二步中过滤掉的行添加进來,这样牛•成虚拟表vt3.第四步:多表如果from子句中的表数目多余两个表,那么就将vt3和第三个表连接从而计算笛卡尔乘积,主成虚拟表,该过程就是一个重复1-3的步骤,最终得到一个新的虚拟表vt3.第五步:where应川where筛选器,对上一步生产的虚拟表引川where筛选器,生成虚拟表vt4,在这冇个比较重要的细节不得不说一卜,对于包含outerjoin子句的杳询,就有一个让人感到困惑的问题,到底在on筛选器还是用where筛选器指定逻辑表达式呢?on和where的最人区别在于,如果在

6、on应用逻辑表达式那么在第三步outejoin中还可以把移除的行再次添加回来,而where的移除的最终的。第六步:groupby分组,生成虚拟表vt4第七步:having对vt4应用having筛选器,生成虚拟表vt5第八步:select处理select列表,牛成虚拟表vt6第九步:distinct将vt6中重复的行去掉,牛成虚拟表vt7第十步:orderby将vt7屮的行按orderby子句中的列列表排序,生成一个游标vc8第^一步:top从vc8的开始处选择指定数量或比例的行,生成虚拟表vt9,并返回给调用者%1.SQL语句扩展1.sel

7、ect1.1选择性插入语句1.1.1Insertintotable1(field1)Selectfield2fromtable2要求table1必须存在。1.1.2selectfield1intotable1fromtable2要求table1不存在,在运行时会自动创建表名为tablcl,字段名为field1的一个表。1.2打开其它数据源/*OracleSvr为链接服务器名,木示例假定已经创建了一个名为ORCLDB的Oracle数据库别名。*/EXECsp_addlinkedserver'OracleSvr',■■链接服务器名OracleSv

8、r,sysname类型'MSDAORA1,—provider_name数据源提供程序,此处为oracle'ORCLDB*-数据源名称GOSelect*fromOPE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。