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" 仅被列出了一次。