- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
H1-5SQL简单查询
SQL Server 简单查询 学习目标 SELECT子句 FROM子句 WHERE子句 INTO子句 ORDER BY子句 GROUP BY子句 HAVING子句 COMPUTE子句 UNION子句 SELECT子句 语法: Select [all/distinct][top n[percent][with ties]]select_list ALL 指定在结果集中可以显示重复行。ALL 是默认设置。 DISTINCT 指定在结果集中只能显示唯一行。为了 DISTINCT 关键字的用途,空值被认为相等。 TOP n [PERCENT] 输出前 n 行。n 是介于 0 和 4294967295 之间的整数。PERCENT表示只从结果集中输出前百分之 n 行。 WITH TIES 指定从基本结果集中返回附加的行,这些行包含与出现在 TOP n (PERCENT) 行最后的 ORDER BY 列中的值相同的值。如果指定了 ORDER BY 子句,则只能指定 TOP ...WITH TIES。 消除重复行 查询表employee中的所有职位。 select distinct title from employee 注意:在一个SELECT语句中DISTINCT只能出现一次,并且DISTINCT必须在所有列名之前,否则会发生语法错误。与DISTINCT选项含义相反的是ALL选项,在SELECT语句中使用ALL选项,表示结果重复的行也将显示。ALL选项是默认选项。 指定TOP关键字 SQL Server 2000 使用了TOP 关键字,用于查询时只显示前面几行数据。 【例】返回employee表中头3条记录 select top 3 * from employee 【例】返回employee表中头20%条记录 select top 20 percent * from employee FROM子句 指定在 DELETE、SELECT 和 UPDATE 语句中使用的表、视图、派生表和连接表。 列出选择列表和 WHERE 子句中所引用的列所在的表和视图。可用 AS 子句为表和视图的名称指定别名。 例: select emp_name as 姓名,title as 职位 from employee WHERE子句 WHERE子句指定数据检索的条件以限制返回的数据行 。 例: SELECT * FROM Tab1 WHERE Tab1.id 6 INTO子句 SELECT INTO 语句创建一个新表,并用 SELECT 的结果集填充该表。新表的结构由选择 列表中表达式的特性定义。 例: select * into 新表 from 原表 对查询结果排序 SQL语言中用ORDER BY子句实现对查询结果的排序,可以根据包含的一列或者多列的表达式进行ASC(升序)或DESC(降序)的排列,默认值是ASC。 【例】查询所有员工的姓名及月薪,结果按月薪的降序排列。 select emp_name as 姓名,wage as 薪水 from employee order by wage desc 【例】查询所有员工的姓名、部门号及月薪,结果按部门号升序排列,同一部门按月薪降序排列。 select emp_name as 姓名,dep_id as 部门号,wage as 薪水 from employee order by dep_id asc,wage desc 注意: ??(1)ORDER BY子句不改变基本表中行或列的顺序,只改变查询显 示的顺序。 (2)ORDER BY子句指定排序的列必须出现在SELECT子句的列表达式中。 (3)排序是查询语句的最后一步工作,所以ORDER BY子句一般放在查询语句的最后。 数据分组 利用GROUP BY子句可以将查询结果按照一列或者多列分组,值相等的为一组。 基于单列的分组 【例】按部门号查询各部门的平均月薪。 select dep_id as 部门号,sum(wage) as 薪水 from employee group by dep_id 基于多列的分组 GROUP BY子句还可以作用于多列上,此时的数据分组意义是分大组之后再分小组。 【例】分各部门各职位统计月薪总额。 select dep_id as 部门号,title as 职位,sum(wage) as 薪水 from employee group by dep_id ,title
文档评论(0)