欢迎来到天天文库
浏览记录
ID:50028293
大小:568.50 KB
页数:25页
时间:2020-03-07
《SQL Server数据库技术与实训 教学课件 作者 刘志成 罗耀军 主编chapter4.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章查询4.1SELECT查询的语法结构4.2基本查询4.3高级查询4.4使用企业管理器进行查询4.1SELECT查询的语法结构SQLServer2000提供了功能强大的查询功能。SELECT语句主要被用来对数据库进行查询,并返回符合用户查询标准的结果数据。其基本语法结构如下:SELECT<目标列表达式>[别名][,<目标列表达式>[别名]]…[INTO<新表名>]FROM<数据表名或视图名>[别名][,<数据表名或视图名>[别名]]…[WHERE<条件表达式>][GROUPBY<列名1>[HAVING<条件表达式>]][ORDERBY<列名2>[ASC
2、DESC]];4.2基本查询
3、常见SELECT查询1.查询表中所有列使用如下格式可以查询表中所有的列:SELECT*FROM<数据表名或视图名>2.查询表中指定的列使用如下格式可以查询表中指定的列:SELECT<列名表>FROM<数据源表或视图>其中,列名表中可以包含多个列,每个列名之间用英文逗号分隔。3.查询表达式的值使用如下格式可以查询由属性列、常数、及任意算术运算组成的运算公式。SELECT<目标列表达式>[AS别名]FROM<数据表名或视图名>4.更改列标题不仅表达式可以用别名表示,属性列也可用别名来表示。WHERE条件查询1.单条件查询在SELECT语名中使用WHERE<条件表达式>,可以使查询只返回满足
4、条件的记录。2.多条件查询在实际应用中,查询条件可能有多个,条件表达式之间可以是逻辑与(and)、逻辑或(or)的关系,3.使用通配符的查询在条件表达式中,查询属性列值与<匹配串>匹配的记录,可以使用如下形式:WHERE<属性列名>[NOT]LIKE<匹配串>4.使用NULL值的查询在条件表达式中,查询属性列值为空的记录,可以使用如下形式:WHERE<属性列名>ISNULL5.确定属性值范围的查询在WHERE条件表达式中,利用谓词BETWEEN…AND…和NOTBETWEEN…AND…可以查询属性列值在(或不在)指定范围内的记录,其中,BETWEEN后是范围的下限,AND后是范围的上限
5、。可以使用如下形式:WHERE<属性列名>BETWEEN<下限值>AND<上限值>筛选查询1.消除重复值的查询可以利用SQL语句中的SELECTDISTINCT,查询出来的结果将会针对不一样的商品类别编号加以筛选。2.TOPn查询通过SELECTtop语句来完成,返回特定条数的记录数。排序查询1.单属性值排序在SELECT语句中,使用ORDERBY子句可对查询结果进行排序,默认方式为升序,带参数DESC时为降序。2.多属性值排序在ORDERBY子句中,可按多个属性值对查询结果进行排序。3.带排序的SELECTtop语句查询要查询出商品信息表中的价格较高的3种商品,可以通过SELECTt
6、op语句来完成,利用ORDERBY条件子句对记录进行排序后,返回特定条数的记录。分组查询1.聚合函数常用的聚合函数如下:1)AVG求平均值。2)COUNT计数函数。3)COUNTBIG也是计数函数。4)MAX求最大值。5)MIN求最小值。6)SUM求和。7)STDEV计算统计标准差。8)VAR统计方差。2.GROUPBY子句聚合函数常与GROUPBY子句、HAVING子句、COMPUTEBY子句等联系在一起,进行分组查询。在查询结果中,对于每一组统计出一个结果。GROUPBY子句的基本格式是:GROUPBY<分组表达式>其中,<分组表达式>是分组的依据,表达式值相同的记录同处一组进行统
7、计。4.HAVING子句HAVING子句用于指定组或聚合的搜索条件,通常与GROUPBY子句一起使用。5.COMPUTEBY子句COMPUTEBY子句的作用也是统计计算,其基本格式如下:COMPUTE[<聚合函数名>](<表达式>)[BY<分组表达式>]其中,<聚合函数名>的默认值为COUNT;另外,省略BY子句时,将计算所有记录的统计值。根据实际需求书写基本查询语句的一般方法:1)确定属性列;2)确定数据表;3)确定WHERE条件;4)确定是否排序;5)确定是否分组。基本查询语句书写的一般方法4.3高级查询连接查询联接的基本语法格式如下:SELECT<表名>.<目标列表达式>[别名]
8、[,<表名>.<目标列表达式>[别名]]…FROM<左表名>[别名][<联接类型>]JOIN<右表名>ON<联接条件>其中,联接类型有如下5种:1)INNER内联接,这是默认类型。2)LEFT或LEFTOUTER左联接。3)RIGHT或RIGHTOUTER右联接。4)FULL或FULLOUTER完整联接。5)CROSS交叉联接。1.内联接内联接是指:当且仅当<联接条件>成立时,才在结果集中产生一条联接记录。当左表中某记录根据联接条件在右表中没有
此文档下载收益归作者所有