SQL SELECT 语句
SQL SELECT 语句
SELECT 语句用于从表中选取数据。表格式的结构被存储在一个结果表中(称为结果集)。
语法
SELECT 列名称 FROM 表名称
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。
SQL SELECT 实例
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons
"Persons" 表:
| LastName | FirstName | Address | City |
|---|---|---|---|
| Adams | John | Oxford Street | London |
| Bush | George | Fifth Avenue | New York |
| Carter | Thomas | Changan Street | Beijing |
结果:
| LastName | FirstName |
|---|---|
| Adams | John |
| Bush | George |
| Carter | Thomas |
获取所有的列
如需从 "Persons" 表中获取所有的列,请使用符号 * 取代列的名称,就像这样:
SELECT * FROM Persons
结果:
| LastName | FirstName | Address | City |
|---|---|---|---|
| Adams | John | Oxford Street | London |
| Bush | George | Fifth Avenue | New York |
| Carter | Thomas | Changan Street | Beijing |
结果集(result-set)
由 SQL 查询程序获得的结果被存放在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。
类似这些编程函数不在本教程讲解之列。如需学习通过函数调用访问数据的知识,请访问我们的 ADO 教程。
在 SQL 语句后使用分号?
分号是数据库系统中分隔每条 SQL 语句的标准方法,这个方法使得对服务器的同一个调用中的若干语句都得到执行。
某些 SQL 教程使用分号来结束每条SQL语句。这是必需的吗?如果您正在使用 Access 和 SQL Server 2000,就不必在每条语句后都放置分号,但是在某些数据库中,您就不得不这么做了。
SELECT DISTINCT 语句
关键词 DISTINCT 用于返回唯一不同的值。
SELECT 语句会从表的列中返回信息。但是假如我们仅仅希望获取唯一不同的元素呢?
通过 SQL,我们所要做到所有事情就是向 SELECT 语句添加 DISTINCT 关键词:
语法:
SELECT DISTINCT 列名称 FROM 表名称
使用 DISTINCT 关键词
如果要从 "Company" 列中选取所有的值,我们需要使用 SELECT 语句:
SELECT Company FROM Orders
"Orders"表:
| Company | OrderNumber |
|---|---|
| IBM | 3532 |
| W3C | 2356 |
| Apple | 4698 |
| W3C | 6953 |
结果:
| Company |
|---|
| IBM |
| W3C |
| Apple |
| W3C |
请注意,在结果集中,W3C 被列出了两次。
如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:
SELECT DISTINCT Company FROM Orders
结果:
| Company |
|---|
| IBM |
| W3C |
| Apple |
现在,在结果集中,"W3C" 仅被列出了一次。