|><| 太平洋电脑网 -> 网络学院

SQL循序渐进(9)
| 编译：ZSC / 太平洋网络学院 |

SELECT语句

在上面的教程中已经有用到SELECT语句。在本节教程中将详细对它进行阐述。SELECT语句是SQL的核心，在你的SQL语句中可能用的最多的就是SELECT语句了。由于大量的选项可以用于SELECT语句，所以整个教程好象就是围这SELECT语句转。当我们构造SQL查询语句（利用了SELECT语句）的时候，认识所有的可能选项和最好的或者最有效率的方法来实现是很有用的。这个教程将为你提供这些技能。

SELECT语句用于查询数据库并检索匹配你指定条件的选择数据。SELECT语句有五个主要的子句子你可以选择，而FROM是唯一必须的子句。每一个子句有大量的选择项、参数等等。这些子句将罗列在下面，而且它们每一个都将在以后的教程有更为详细的描述。

以下是SELECT语句的格式：

SELECT [ALL | DISTINCT] column1[,column2]

FROM table1[,table2]

[WHERE "conditions"]

[GROUP BY "column-list"]

[HAVING "conditions]

[ORDER BY "column-list" [ASC | DESC] ]

下面举个例子：

SELECT name, age, salary

FROM employee

WHERE age > 50;

上面的这个语句将从employee表中选择age大于50的所有的name、age和salary列的数值。

注意：一定要在SQL语句末尾加上一个分号。这个分号提示SQL语句已经结束并准备被解释。

以下的表格给出了各种比较运算符号：

= | 等于
> | 大于
< | 小于
>= | 大于等于
<= | 小于等于
<> | 不等于
LIKE | 字符串比较测验

举个例子吧：

SELECT name, title, dept

FROM employee

WHERE title LIKE 'Pro%';

上面的语句是从employee表中选择title是以'Pro'为开头的name、title和dept列中的所有行或者数值。

另外ALL和DISTINCT也是SQL中的关键字，它们用于在你的查询结果中选择ALL（缺省）或者"distinct"或者单一记录。如果你想在指定的列中检索单一记录，你可以使用"DISTINCT" 关键子。 因为DISTNCT 将会丢弃所有你在SELECT指定的列复制的记录，比如 ：

SELECT DISTINCT age

FROM employee_info;

这条语句将返回所有在employee_info表中单一的age数据。

而ALL就将显示所有指定的类，包括所有的复制数据。在没有指定的时候，这个ALL关键字是缺省的。