




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章 数据SQL语句操作DML,数据操作语言(DML)从功能上可分为数据操作和数据查询两大类。数据操作则使用关键字INSERT、UPDATE和DELETE,而查询可通过SELECT、FROM等子句来查询数据。,13.1 数据操作,数据操作语言(DML)之一大功能就是操作数据库中的数据。操作有插入数据(INSERT)、修改数据(UPDATE)和删除数据(DELETE)。,13.1.1 插入数据INSERT,INSERT语句是在表中插入一行数据,这行数据会被追加到表中。 1参数 2示例,13.1.2 修改数据UPDATE,使用UPDATE语句可以更改表或视图中的现有数据。 1参数讲解 2示例,13.1.3 删除数据DELETE,1语法 2参数讲解 3示例,13.2 查询语句SELECT,从数据库中查询是通过SELECT语句来执行的,其允许从一个或多个表中选择一个或多个行或列。虽然SELECT语句的完整语法较复杂,但其主要子句可归纳如下: WITH SELECT select_list INTO new_table FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC|DESC ,13.3 简单查询(单一查询)各子句,简单查询就是平常所说的单一查询,是和嵌套查询(子查询)相对应的两类查询之一。尽管简单查询有简单二字,并不代表语句很简单,是SELECT只有一个,而语句可以是非常复杂的。下面从SELECT子句开始说明简单查询各语句的语法。,13.3.1 使用SELECT子句,SELECT子句指定查询返回的列 SELECT语句中的子句顺序非常重要。虽然有些子句是可选的,但如果这些子句使用了,则必须按规定的顺序出现,最典型的就是WHERE、GROUP BY和HAVING子句的处理顺序。,13.3.2 使用FROM子句,FROM子句指定在DELETE、SELECT和UPDATE语句中使用的表、视图、派生表和联接表。在SELECT语句中,FROM子句是必需的,除非选择列表只包含常量、变量和算术表达式(没有列名)。 1语法定义 2参数讲解 3示例,13.3.3 使用WHERE子句,WHERE子句用来设置查询返回数据的搜索条件,搜索条件可以使用逻辑运算符AND、OR和NOT的一个或多个。,13.3.4 使用ORDER BY子句,ORDER BY子句用来对SELECT语句返回的结果进行排序,其语法为: 1 ORDER BY 2 order_by_expression 3 COLLATE collation_name 4 ASC|DESC 5 ,.n 6 ,13.3.5 使用GROUP BY子句,GROUP BY子句,从字面意思就可以理解,其是将SELECT语句选择的结果进行分组。 1语法及参数 2参数讲解 3应用示例,13.3.6 使用HAVING子句,可以说HAVING子句是专为SELECT语句而生的,因为其只能与ELECT语句一起使用,而且通常用在GROUP BY子句中。HAVING子句的语法为: HAVING 参数指定组或聚合应满足的查询条件。,13.3.7 使用INTO子句,使用INTO子句能创建一个新表,而且还能将来自查询的结果行插入到新表中,其语法为: INTO new_table ,13.3.8 使用COMPUTE子句,COMPUTE子句用来生成合计,此值作为附加的汇总列出现在结果集的最后。当COMPUTE与BY一起使用时,COMPUTE子句会在结果集内生成控制中断和小计。 1参数讲解 2应用示例,13.4 LIKE模式匹配,LIKE模式匹配可以确定特定字符串是否与指定模式相匹配。模式可以包含常规字符和通配符。模式匹配过程中,常规字符必须与字符串中指定的字符完全匹配。但是,通配符可以与字符串的任意部分相匹配。,13.4.1 使用LIKE的模式匹配,与使用=和!=字符串比较运算符相比,使用通配符可使LIKE运算符更加灵活。如果match_expression与指定的pattern相匹配,则LIKE返回TRUE,否则返回ELSE。其语法如下: match_expression NOT LIKE pattern ESCAPE escape_character ,13.4.2 使用%通配符,如果指定LIKE 8%符号,则会搜索列后面跟零个或多个任意字符的数字8。如以下查询显示AdventureWorks数据库中的所有动态管理视图,因其全部以字母dm开始。 1 USE AdventureWorks; 2 GO 3 SELECT Name FROM sys.system_views 4 WHERE Name LIKE dm%; 5 GO,13.5 联接查询,联接用来处理多个表的数据,可通过一个表的值域另外一个表中匹配的值进行关联,然后获取符合条件的数据。联接条件可通过以下方式定义。 指定每个表中要用于联接的列。 指定用于比较各列的值的逻辑运算符(例如=或)。 联接一般分为以下3类: 内联接:包括等同联接和自然联接。 外联接:包括左外联接,右外联接和完全外联接。 交叉联接:也叫笛卡尔积联接。,13.5.1 内联和等值联接,内部联接(INNER JOIN)在FROM子句或WHERE子句中使用,通过=或等比较运算符比较两个表共有的列,然后列出符合条件的相匹配的所有行。如检索Students与StudentsDetails中所有学号相同的学生的电话。,13.5.2 左外联接和右外联接,左外联接(LEFT JOIN或LEFT OUTER JOIN)和右外联接(RIGHT JOIN或RIGHT OUTER JOIN)是外联接的两种主要类型。外联接会返回FROM子句中提到的至少一个表的所有行,只要这些行符合搜索条件。 1左外联接 2右外联接,13.5.3 完全联接,完全联接FULL OUTER JOIN的使用方法与左、右联接一样,不同的就是这里将返回左表和右表中的所有行。如左表在右表中没有匹配行,则右表显示空值,同理右表在左表没有匹配行,左表也显示空值。,13.5.4 交叉联接,笛卡尔积联接又称为交叉联接CROSS JOIN,其返回左表中的所有行,并且左表中的每一行将与右表中的所有行组合。,13.6 组合查询(UNION),使用UNION关键词组成的查询,称为组合查询。组合查询将两个或更多查询的结果合并为一个结果集。并不是所有的结果集都可以合并,使用UNION合并两个查询结果集的基本规则是: 所有查询中的列数和列的顺序必须相同。 数据类型必须兼容。,13.6.1 UNION查询语句语法,使用UNION关键词的语法如下: 1 |( ) 2 UNION ALL 3 ) 4 UNION ALL |( ) 5 .n ,13.6.2 UNION查询示例,下面通过示例,演示如何在查询过程中正确使用UNION运算。这里将ORDER BY与两个SELECT语句的UNION一起使用。,13.7.1 两条同功能语句在性能上的不同,简答以下两条语句在性能上有什么不同? 语句1: if NOT EXISTS ( select * from publishers where state = NY) begin Select Sales force needs to penetrate New York market end else begin Select We have publishers in New York end,13.7.1 两条同功能语句在性能上的不同,语句2: if EXISTS ( select * from publishers where state = NY) begin Select We have publishers in New York end else begin Select Sales force needs to penetrate New York market end,13.7.2 用SQL语句计算某个月的天数,使用SQL语句或者存储过程来计算任意一个月的天数?实现的SQL语句如下所示。 select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast(cast(year(getdate() as varchar)+-+cast(month(getdate() as varchar)+-01 as datetime) 这里使用了很多有关日期的运算,主要是熟悉SQL语句的各种计算方式。,13.7.3 字段的循环匹配-复杂Select语句实现,问题:假设只有一个table,名为pages,有四个字段,id, url,title,body。里面储存了很多网页,网页的url地址,title和网页的内容,然后你用一个sql查询将url匹配的排在最前,title匹配的其次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八里庄街道组织活动方案
- 公交公司庆国庆活动方案
- 诗仙李白名篇赏析教学教案
- 公交车站义诊活动方案
- 公共就业活动方案
- 美丽的真相读小抄写员有感1000字8篇范文
- 公司hr部门春节活动策划方案
- 公司一二九活动方案
- 土地流转及农民权益保障协议
- 2025至2030年中国价格牌行业投资前景及策略咨询报告
- 鲁迅故乡原文故乡鲁迅
- 单位内控风险评估报告
- 政府采购处理流程图
- 500强餐厅食品第二保质期标准对照表
- 外包施工协议书
- 我的1919中英字幕对照
- 人工智能基础与应用课件
- 2022-2023学年吉林省重点中学小升初数学入学考试卷含答案
- 第六讲 以新发展理念引领高质量发展PPT习概论2023优化版教学课件
- 中考病句修改试题及答案(完整版)资料
- 信义光伏产业(安徽)控股有限公司七期江北光伏组件盖板项目(A 段)环境影响报告表
评论
0/150
提交评论