首页 > 知识点讲解
       基本表查询
知识路径: > 信息系统工程技术知识 > 计算机技术知识与网络知识 > 数据库系统 > SQL语言 > 
相关知识点:3个      
        SQL语言查询语句的基本格式如下:
        
        在这个语句中,主要考查各种条件,包括GROUP BY、HAVING等,以及考查IN和EXISTS的区别。另外,还要掌握有关集函数的应用。
               集函数
               常用的集函数主要有:
               .COUNT([DISTINCT|ALL]*):统计元组个数。
               .COUNT([DISTINCT|ALL]<列名>):统计一列中值的个数。
               .SUM([DISTINCT|ALL]<列名>):计算一列值的总和(必须是数值型)。
               .AVG([DISTINCT|ALL]<列名>):计算一列值的平均值(必须是数值型)。
               .MAX([DISTINCT|ALL]<列名>):求一列值中的最大值。
               .MIN([DISTINCT|ALL]<列名>):求一列值中的最小值。
               集函数只能在SELECT子句和HAVING子句中使用,其他子句中不能使用集函数。
               GROUP BY
               GROUP BY指定用来放置输出行的组。如果SELECT子句“目标列表达式”中包含聚合函数,则GROUP BY将计算每组的汇总值。指定GROUP BY时,选择列表中任意非聚合表达式内的所有列都应包含在GROUP BY列表中,或者GROUP BY表达式必须与选择列表表达式完全匹配。
               如果没有GROUP BY子句,则SQL列函数应用程序返回一行数据。当使用GROUP BY时,会对每个组运用函数,所以所返回的行数与分组数相同。
               当使用GROUP BY子句时,SQL将选出的行按照是否符合表达式的值或者是否符合某一列或多列的值进行分组。接下来,SQL处理每一组,从而为每组生成一行结果。在GROUP BY子句中,可以指定一列或多列或者表达式来对行进行分组。在SELECT语句中指定的项具有由行组成的每一组的属性,而不具备表中或视图中单个行的属性。
               例如,EMPLOYEE表有几组行,每一组中的这些行描述了某个特定部门的成员。为了查出每个部门中人员的平均薪水,可以写这样的SQL语句:
               
               生成的结果被分成了几行,每行表示一个部门。
               如果在GROUP BY子句中指定的列为空值,则会生成只有一行的结果,行中数据为空值。也可以将行按照多列或按照表达式进行分组。例如,使用CORPDATA.EMPLOYEE表编写一条查找每个部门男性员工和女性员工平均薪水的SELECT语句。为了实现这一点,可以这样做:
               
               HAVING
               HAVING子句指定组或聚合应满足的搜索条件。当HAVING与GROUP BY ALL一起使用时,HAVING子句优于ALL。
               HAVING子句对GROUP BY子句设置条件的方式与WHERE子句和SELECT语句交互的方式类似。WHERE子句搜索条件在进行分组操作之前应用,而HAVING子句搜索条件在进行分组操作之后应用。HAVING语法与WHERE语法类似,但HAVING子句可以包含聚合函数。HAVING子句可以引用选择列表中出现的任意项。
               下面的查询得到本年度截止到目前的销售额超过40000的出版商:
               
               HAVING子句用来从分组的结果中筛选行。对于可以在分组操作之前或之后应用的搜索条件,在WHERE子句中指定它们更有效。这样可以减少必须分组的行数。应当在HAVING子句中指定的搜索条件只是那些必须在执行分组操作之后应用的搜索条件。
               LIKE与通配符
               在WHERE子句的条件表达式中可以使用算术比较运算符号,对于字符型数据,可以使用LIKE关键词以及通配符。例如,要查找姓李的学生的学号和姓名的SQL语句如下:
               
               这里的“%”就是一个通配符,代表0个或多个字符。例如,要查找某个属性中包含“软考在线”的元组,则可以写成“…LIKE'%软考在线%'”。
               还有一个通配符是“_”(下划线),这个通配符只代表1个字符。例如,要查找某个属性中第2个字和第3个字是“软考在线”,倒数第2个字和第3个字包含“教育”的元组,则可以写成“…LIKE'_软考在线%教育_'”。
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有