跟我学SQL:(二) SELECT语句选项
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-03-22
跟我学SQL分为三部分,其中涵盖了有关SQL标准的基本知识。在上一篇文章里我们讨论了一些数据库术语和4种最基本的数据查询类型。此外,我们还解释了WHERE子句和条件语句的用法,同时我们提供了各类查询的具体示例。 在这篇文章里,我们将就其他一些SQL函数和子句进行阐述,供你用于基本的SELECT数据查询中。 SELECT选项精制结果 正如我们从上一篇文章中所读到的那样,SELECT语句具有种类繁多的各类选项,这些选项可以用来控制数据返回的方式。这些选项以子句、关键词和函数的形式存在。 子句是一种修改结果的语句。子句不是必要的语句但它对数据的内容及其显示进行了提炼。WHERE子句就是这样的子句。 关键词触发数据库的内在功能。这些关键词在有时甚至是查询所必需的。例如“INSERT INTO table_name (column1) VALUES (‘data1’);”语句中的INTO和VALUE就是如此。我们将了解DISTINCT关键词,它能触发一些非常有用的可选功能。 下面总结了一些最常用的子句、关键词和函数。然后我会对每一部分举例说明。 ORDER BY – 按照指定列排序返回结果的子句 DISTINCT – 只返回结果集合内唯一行的关键词 COUNT -- 返回匹配查询的数据行总数数值的函数 AVG – 该函数返回指定列的平均值 SUM –该函数把指定的列中的数字加起来 MIN – 该函数返回列中最小的非NULL值 MAX –该函数返回列中的最大值 GROUP BY – 按列汇集查询函数结果的子句 用ORDER BY对查询结果排序 ORDER BY子句让数据库对查询结果排序,这样你就无须自己编写应用程序进行“手工”排序了。ORDER BY子句必须放在查询语句的结尾。其基本用法如下: SELECT * FROM Contacts ORDER BY first_name; 你可以随意在任何选择语句中使用ORDER BY 子句返回多列结果。你还可以用它连接其他子句: SELECT first_name, last_name FROM Contacts WHERE first_name BETWEEN ‘a’ AND ‘k’ ORDER BY last_name; 你可以对多列数据排序。优先顺序按从左到右依次降低,所以查询语句中各列的排列顺序很重要。 SELECT * FROM Contacts ORDER BY company, last_name, first_name; 查询结果默认按数字或者字母的升序排序。你可以在ORDER BY 子句后面加上DESC关键词改成降序排列。在下面的例子中,最高的net_amount排在最先(降序)。假如两行或者两行以上数据都包含了同样的net_amount值,那么同行中last_name值在字母表中最先出现的排先,因为last_name一列还是按照升序排序的。 SELECT * FROM Sales ORDER BY net_amount DESC, last_name, first_name; 在按照定义的列名排序以后,大多数数据库随后将按照数据表内的第一列排序然后顺序向右再排序。具体的实现各有变化,因此,如果排序在应用中比较重要那么你应该明确地定义所要排序的列。 另外一值得注意的问题是,采用ORDER BY子句(以及WHERE子句),你正在用来排序结果的数据列并不一定得是返回结果集合的一部分。只要所有引用的列都在数据表内存在则下例完全有效: SELECT company, first_name, net_amount FROM Sales ORDER BY start_date, last_name; DISTINCT返回不重复结果 DISTINCT关键词只返回结果集合内不重复的数据行。例如,有时你可能需要找出Sales表内的公司,但是你又不 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 全面接触SQL语法(2)下一篇: SQL Server 2000安装和基本框架
关于跟我学SQL:(二) SELECT语句选项的所有评论