资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2017/8/29,#,第,6,章,简单,查询,SQL Server,2012,数,据库技术与应用,目录,6,.1 SELECT,语句的基本语法格式,6,.2,单,表的简单查询,6.3,统计,6.1 SELECT,语句的基本语法格式,查询基本概念,查询(,Query,)又称检索,是数据库最核心、最基本的操作之一,查询操作用来从数据库或视图中迅捷地搜索并提取所需数据,这些查询得到的数据称为查询结果数据集,简称查询数据集,查询数据集通常不被存储,也不会被放在缓冲区中,每次查询都会重新从数据表中提取,6.1 SELECT,语句的基本语法格式,查询基本概念,请求,-,应答工作方式,数据库服务器,响应和提供数据,应用程序,数据库,操作和查询,查询数据集,处理,显示 返回,6.1 SELECT,语句的基本语法格式,查询基本概念,SELECT,语句的语法:,SELECT,列名,1,,列名,2,列名,n,INTO,新表名,FROM,表名,1,,表名,2,表名,n,WHERE,条件表达式,GROUP BY,列名,1,,列名,2,列名,n,HAVING,条件表达式,ORDER BY,列名,1 ASC|DESC,列名,n ASC|DESC,6,.2,单表的简单查询,使用,SELECT,选取字段,字段列表中的列可以是表中所定义的列,也可以是派生列,派生列就是由多个列运算后产生的列,或者是利用算术函数计算后产生,的列,6,.2,单表的简单查询,使用,SELECT,选取字段,输出表中所有列,*,代表所有列,SELECT*FROM,数据源,输出表中部分列,列出所选字段列表,字段间逗号分隔,SELECT,字段列表,FROM,数据源,6,.2,单表的简单查询,使用列别名改变列标题,通过对显示列标题改名增强结果信息的可读性和可理解性,两种格式,SELECT,列别名,=,原列名,FROM,数据源,SELECT,原列名,AS,列别名,FROM,数据源,6,.2,单表的简单查询,对查询结果记录进行过滤,保留重复行,ALL,关键字,SELECT,ALL,字段列表,FROM,数据源,过滤重复行,DISTINCT,关键字,SELECT,DISTINCT,字段列表,FROM,数据源,6,.2,单表的简单查询,限制返回行数,从查询结果集中选择指定的若干行,选取记录集中前,n,条或前,n%,条的记录,SELECT,TOP n PERCENT,字段列表,FROM,数据源,6,.2,单表的简单查询,使用,INTO,子句,通过,SELECT INTO,可以创建一个新表并将查询结果记录添加到新表中,用户在执行一个带有,INTO,子句的,SELECT,语句时,必须拥有在目标数据库上创建表的权限,新,表所含的列为,SELECT,指定列名,行由,WHERE,确定,新表可以是,临时表,,也可以是永久表。其中,临时表表名以,#,开头,6,.2,单表的简单查询,使用,WHERE,子句,通过,WHERE,子句查询满足特定条件的记录,在,WHERE,子句中,,运算符,有六,种,比较运算符,范围运算符,列表运算符,空值运算符,模式匹配符,逻辑运算符,6,.2,单表的简单查询,比较运算符,用来比较大小,测试,表达式 比较运算符 比较值,比较运算符有:,=!=!,!AND OR,用来,连接多个条件,以便构成一个复杂的查询条件,逻辑表达式,1 AND|OR,逻辑表达式,2,NOT,逻辑表达式,6,.2,单表的简单查询,使用,ORDER BY,子句,通常情况下,,SELECT,语句返回的查询数据集中的记录是按表中记录的物理顺序排列的,可通过排序手段来改变查询数据集中记录的显示顺序,即数据排序,实现排序功能的,子句,ORDER BY,列名,ASC|DESC,n,6.3,统计,统计,在数据时代,对数据进行统计是非常频繁的事情。,利用聚合函数对查询结果集中的记录进行汇总计算,并将满足条件的记录汇总生成一条新记录。,6.3,统计,聚合函数,聚合函数包括:,COUNT,COUNT(*),:计算并返回结果集记录行条数,COUNT(ALL|DISTINCT,列名,),:计算并返回结果集中指定列或表达式中值项的个数,SUM,SUM(,ALL|DISTINCT,列名,),:计算并返回结果集中指定列或表达式中值项的总和,6.3,统计,聚合函数,聚合函数包括:,AVG,AVG,(ALL|DISTINCT,列名,),:计算并返回结果集中指定列或表达式中值项的,平均值,MAX,MAX(ALL|DISTINCT,列名,),:计算并返回结果集中指定列或表达式中值项的,最大,值,MIN,MIN(,ALL|DISTINCT,列名,),:计算并返回结果集中指定列或表达式中值项的最小值,6.3,统计,聚合函数,查询女性客户人数。,查询,Sales,表中的订购记录数、所有商品订购总数量、平均订货金额、最早订货时间、最晚订货时间。,6.3,统计,使用,GROUP BY,子句,在数据时代,对数据进行统计是非常频繁的事情。分组统计是其中一种情况。,GROUP BY,子句用于对结果集分组并对每一组数据进行汇总统计。,6.3,统计,使用,GROUP BY,子句,分组,统计语法:,SELECT,查询显示信息,FROM,数据源,GROUP BY,列名列表,HAVING,条件表达式,6.3,统计,使用,GROUP BY,子句,查询不同性别客户的人数。,查询,Sales,表中每一种货品的订货条数、订货总数量及总金额。,查询,Sales,表中购买过两次或多次商品的客户信息。,6.3,统计,使用,GROUP BY,子句,SELECT,子句中的列名必须是,GROUP BY,子句中用于分组的列,其他列名不能单独出现在,SELECT,子句中,必须出现在聚合函数中,。,WHERE,子句是先对表中的记录进行筛选,而,HAVING,子句是对组进行筛选。所以,HAVING,子句中可以有聚合函数,而,WHERE,子句中不能有聚合函数。二者在某些条件下可以相互转换。,谢 谢!,
展开阅读全文