下面是由希赛小编整理的中级通信互联网技术知识点精讲之查询,希望能帮助学友们。具体内容如下:
查询
数据库査询是数据库的核心操作。SQL提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。其一般格式如下:
SELECT[ALL[DISTINCT1<目标列表达式>],<目标列表达式>]...
FROM<表名或视图名>[,<表名或视图名>]...
[WHERE<条件表达式>]
[GROUPBY<列名1>[HAV[NG<条件表达式>]]
[ORDERBY<列名2>[ASC]DESC)];
整个SELECT语旬的含义是,根据WHERE子句的条件表达式,从FROM子句指定的
基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出元组中的
属性值形成结果表。如果有GROUP子句,则将结果按<列名丨>的值进行分组,该属性列值相等的元组为一个组。通常会在每组中使用集函数。如果GROUP子句带HAVING短语,则只有满足指定条件的组才可输出。如果有ORDER子句,则结果表还要按<列名2>的值的升序或降序排序。
SELECT语句既可以完成简单的单表査询,也可以完成复杂的连接査询和嵌套查询。
1.单表査询
单表查询是指仅涉及一个表的查询。
(1)选择表中的若干列
选择表中的全部列或部分列,这就是投影运算。
①查询指定列。在很多情况下,用户只对表中的一部分属性列感兴趣,这时可以通过在SELECT子句的<目标列表达式>中指定要査询的属性。
②査询全部列。将表中的所有属性列都选出来,可以有两种方法。一种方法就是在SELECT关键字后面列出所有列名。如果列的显示顺序与其在基表中的顺序相同,也可以简单地将<目标列表达式>指定为*。
③查询经过计算的值。SELECT子句的<目标列表达式>不仅可以是表中的属性列,也可以是表达式。
(2)选择表中的若干元组
①消除取值重复的行。两个本来并不完全相同的元组,投影到指定的某些列上后,可能变成相同的行了。如果想去掉结果表中的重复行,必须指定DISTINCT短语。
②查询满足条件的元组?査询满足指定条件的元组可以通过WHERE子句实现。WHERE子句常用的査询条件如表8-5所示。
统计元组个数统计一列中值的个数计算一列值的总和(此列必须是数值型)计算一列值的平均值(此列必须是数值型)
求一列值中的最大值求一列值中的最小值如果指定DISTINCT短语,则表示在计算时要取消指定列中的重复值。如果不指定DISTINCT短语或指定ALL短语(ALL为缺省值),则表示不取消重复值。
⑤对査询结果分组。GROUPBY子句将查询结果表按某一列或多列值分组,值相等的为一组。
对査询结果分组的目的是为了细化集函数的作用对象。如果未对查询结果分组,集函数将作用于整个査询结果。如果分组后还要求按一定的条件对这些组进行筛选,最终只输出满足指定条件的组,则可以使用HAVING短语指定筛选条件。
相关推荐: