、概述

选择stmt:

WITH RECURSIVE common-table-expression , SELECT DISTINCT result-column , ALL FROM table-or-subquery join-clause , WHERE expr GROUP BY expr HAVING expr , WINDOW window-name AS window-defn , VALUES ( expr ) , , compound-operator select-core ORDER BY LIMIT expr ordering-term , OFFSET expr , expr

公用表表达式:

复合运算符:

表达式:

加入子句:

订购条款:

结果列:

表或子查询:

窗口定义:

SELECT 语句用于查询数据库。SELECT 的结果是零行或多行数据,其中每行都有固定数量的列。SELECT 语句不会对数据库进行任何更改。

上面的“ select-stmt ”语法图试图在一个图中显示尽可能多的 SELECT 语句语法,因为一些读者觉得这很有帮助。下面的“ factored-select-stmt ”是另一种语法图,它表达了相同的语法,但试图将语法分解成更小的块。

因式选择 stmt:

请注意,语法图中有些路径在实践中是不允许的。一些例子:

文本中描述了这些和其他类似的语法限制。

SELECT 语句是 SQL 语言中最复杂的命令。为了使描述更容易理解,下面的一些段落描述了 SELECT 语句返回的数据被确定为一系列步骤的方式。请务必记住,这纯粹是说明性的——实际上,SQLite 或任何其他 SQL 引擎都不需要遵循此过程或任何其他特定过程。

2.简单的选择处理

SELECT 语句的核心是下面的 select-coresimple-select-stmt语法图所示的“简单 SELECT”。实际上,大多数 SELECT 语句都是简单的 SELECT 语句。

简单选择 stmt:

WITH RECURSIVE common-table-expression , select-core ORDER BY LIMIT expr ordering-term , OFFSET expr , expr

公用表表达式:

表达式:

订购条款:

选择核心: