SQL SELECT 语句
SELECT 语句用于从表中选取数据。表格式的结构被存储在一个结果表中(称为结果集)。
语法
SELECT 列名称 FROM 表名称;
注释:SQL 语句对大小写不敏感。SELECT 等效于 select。但是建议SQL语句的关键字大写,表名和表列建议小写,这是个好习惯,需要长期的养成。
SQL SELECT 实例
如需获取名为 "LastName" 和 "FirstName" 的列的内容(从名为 "Persons" 的数据库表),请使用类似这样的 SELECT 语句:
SELECT LastName,FirstName FROM Persons;
"Persons" 表:
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Svendson | Tove | Borgvn 23 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
结果:
LastName | FirstName |
---|---|
Hansen | Ola |
Svendson | Tove |
Pettersen | Kari |
获取所有的列
如需从 "Persons" 表中获取所有的列,请使用符号 * 取代列的名称,就像这样:
SELECT*
FROM Persons;(一般不建议这么写,一般建议采用如下的形式,按照列名的顺序列出所有的列,这个是从数据库的性能上考虑的)SELECTLastName,FirstName,Address,City FROM Persons;
结果:
LastName | FirstName | Address | City |
---|---|---|---|
Hansen | Ola | Timoteivn 10 | Sandnes |
Svendson | Tove | Borgvn 23 | Sandnes |
Pettersen | Kari | Storgt 20 | Stavanger |
结果集(result-set)
由 SQL 查询程序获得的结果被存放在一个结果集中。大多数数据库软件系统都允许使用编程函数在结果集中进行导航,比如:Move-To-First-Record、Get-Record-Content、Move-To-Next-Record 等等。
在 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 |
---|---|
Sega | 3412 |
School | 2312 |
Trio | 4678 |
School | 6798 |
结果:
Company |
---|
Sega |
School |
Trio |
School |
请注意,在结果集中,School 被列出了两次。
如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:
SELECT DISTINCT
Company FROM Orders;
结果:
Company |
---|
Sega |
School |
Trio |
现在,在结果集中,"School" 仅被列出了一次。