第四篇 数据查询语言.pptVIP

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
TOP TOP 用于指定一个数字表达式,以返回要通过查询影响的行数或百分比,还可以根据情况使用变量或子查询。 【例4-17】显示基本工资最少的三名员工的员工编号和基本工资 use SouthSea go Select top 3 员工编号=EmployeeID,基本工资=BasicSalary From tblSalary Order by BasicSalary 【例4-18】查询实际工资最多的前n名的员工编号及工资的详细状况 use SouthSea go declare @n int set @n = 10 /*这里n的值为10,即表示前10名员工*/ select TOP(@n) * from tblSalary order by(BasicSalary+OvertimeSalary- AbsenceSalary+OtherSalary desc) DISTINCT SELECT 可以让我们读取表中一个或多个字段的数据,而不管数据值有无重复。在数据处理中,会经常碰到需要找出表中不同数据值的情况。要实现这样的操作,只要在 SELECT语句中所选取的字段前加上一个 DISTINCT 就可以了。 DISTINCT 的语法如下: SELECT DISTINCT 字段名 FROM 表名 【例4-19】找出表tblLeave中有哪些员工曾经提交过请假申请 use SouthSea go Select distinct EmployeeID from tblLeave EXISTS EXISTS 是用来测试内查询有没有产生任何结果。Exists的语法是: SELECT 字段名 FROM 表1 WHERE EXISTS (SELECT 字段名 FROM 表2 [WHERE 条件表达式]) 【例4-20】查询’emp4’号员工是否有迟到记录,若有,请输出其姓名和性别 use SouthSea go Select Name,sex from tblEmployee Where exists (select * from tblAttendance where Type=迟到 and EmployeeID=emp4) and EmployeeID=emp4 子查询 子查询是一个 SELECT 查询,它返回单个值且嵌套在 SELECT、INSERT、UPDATE、DELETE 语句或其它子查询中。任何允许使用表达式的地方都可以使用子查询。 创建子查询可用三种语法来实现: (1)WHERE 表达式 comparison_operator [ANY | ALL | SOME] (sqlstatement) (2)WHERE 表达式 [NOT] IN (sqlstatement) (3)WHERE [NOT] EXISTS (sqlstatement) 【例4-21】查询表tblSalary中所有员工的实际工资的 最大值和最小值及对应的员工编号 use SouthSea go select distinct EmployeeID,实际工资 =(BasicSalary+OvertimeSalary-AbsenceSalary+OtherSalary) from tblSalary where ( (BasicSalary+OvertimeSalary-AbsenceSalary+OtherSalary) in (select max(BasicSalary+OvertimeSalary- AbsenceSalary+OtherSalary) from tblSalary)) or ((BasicSalary+OvertimeSalary-AbsenceSalary+OtherSalary) in (select min(BasicSalary+OvertimeSalary-AbsenceSalary+OtherSalary) from tblSalary)) LIKE LIKE语句的语法格式是: select * from 表名 where 字段名 like 对应值(子串) 它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应的子串的。 LIKE语句和通配符是分不开的 : [^0-9],不在0到9之间的字符 不在某一范围的字符 [^] [0-9],0到9之间的字符 在某一范围的字符 [] ‘a_b’,’a’与’b’之间可以有一个字符 代表一个字符 _(下划线) ‘ab%’,’ab’后可接任意字符串 代表零个或多个字符 % 实例及说明 功能 通配符 【例4-22】查找表tblEmployee中姓“王”

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档