网站地图
3936.net
学霸百科 没有你查不到的
select(SQL中的)

「官网地址0365.tv」-「永久地址0365.tv」

英文select【si'lekt】。 中文意思为选择、挑选。这还是一条计算机SQL数据库中中常用的函数。在网页HTML中的select是个选择对象。

SELECT 将从一个或更多表中返回记录行。SELECT 通常的处理如下:

计算列出在 FROM 中的所有元素。(FROM 中的每个元素都是一个真正的或者虚拟的表。)如果在 FROM 列表里声明了多过一个元素,那么他们就交叉连接在一起。

如果声明了 WHERE 子句,那么在输出中消除所有 不满足条件的行。

如果声明了 GROUP BY 子句,输出就分成匹配一个或多个数值的不同组里。如果出现了 HAVING 子句,那么它消除那些不满足给出条件的组

实际输出行的时候,SELECT 先为每个选出的行计算输出表达式。

使用 UNION,INTERSECT, 和 MINUS,我们可以把多个 SELECT 语句的输出合并成一个结果集。UNION 操作符返回在两个结果集或者其中一个中的行, INTERSECT 操作符返回严格地在两个结果集中都有的行。MINUS 操作符返回在第一个结果集中,但是不在第二个结果集中的行。不管哪种情况, 重复的行都被删除,除非声明了 ALL。

如果声明了 ORDER BY 子句,那么返回的行是按照指定的顺序排序的。如果没有给出 ORDER BY,那么数据行是按照系统认为可以最快生成的方法给出的。

DISTINCT 从结果中删除那些重复的行。DISTINCT ON 删除那些匹配所有指定表达式的行。ALL (缺省)将返回所有候选行,包括重复的。

如果给出了 LIMIT 或者 OFFSET 子句,那么 SELECT 语句只返回结果行的一个子集。

如果声明了 FOR UPDATE 或者 FOR SHARE 子句, SELECT 语句对并发的更新锁住选定的行。

你必须有 SELECT 权限用来从表中读取数值。使用 FOR UPDATE FOR SHARE 还要求 UPDATE 权限。

从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列。虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下:

可以在查询之间使用 UNION 运算符,以将查询的结果组合成单个结果集。

语法

以下是"Customers" 表的数据:

CustomerID

CustomerName

ContactName

Address

City

PostalCode

Country

1

Alfreds Futterkiste

Maria Anders

Obere Str. 57

Berlin

12209

Germany

2

Ana Trujillo Emparedados y helados

Ana Trujillo

Avda. de la Constitución 2222

México D.F.

05021

Mexico

3

Antonio Moreno Taquería

Antonio Moreno

Mataderos 2312

México D.F.

05023

Mexico

4

Around the Horn

Thomas Hardy

120 Hanover Sq.

London

WA1 1DP

UK

5

Berglunds snabbköp

Christina Berglund

Berguvsvägen 8

Luleå

S-958 22

Sweden

下面的 SQL 语句从 "Customers" 表中选取 "CustomerName" 和 "City" 列:

下面的 SQL 语句从 "Customers" 表中选取所有列: