SQLite中SELECT基本形式是什么

46次阅读
没有评论

共计 1539 个字符,预计需要花费 4 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 SQLite 中 SELECT 基本形式是什么,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

SQLite 中 SELECT 基本形式

每个数据库通常都包含多个表,而每个表又包含多条数据。要获取数据库中的数据,就需要 SQL 语言提供的查询语句 SELECT。本章将讲解和 SELECT 语句相关的内容,其中包括 SELECT 基本形式、表达式、连接、分组、排序和去重、获取子集、子查询以及联合查询等。

3.1  SELECT 基本形式

本节将讲解 SELECT 语句的基本形式,其中包括基本完整形式、SELECT 子句、FROM 子句以及 WHERE 子句等

3.1.1   基本形式

以下是 SELECT 语法的基本完整形式:

SELECT [DISTINCT] select_heading

FROM source_tables

WHERE filter_expression

GROUP BY grouping_expressions

HAVING filter_expression

ORDER BY ordering_expressions

LIMIT count

OFFSET count

其中,参数说明如下:

? select_heading:用来定义最终结果表的格式和内容,主要是用来定义表的头。

注意:在 SQL 中的数据结构就是表,表用于存储数据和数据处理。表是由一个头和体组成。头定义了每列的名称和类型(以 SQLite 为单位)。列名称在表格中必须是唯一的。头定义了列的顺序,这些列作为表定义的一部分被修复。体包含了所有行。每一行由每列的一个数据元素组成。表中的每一列的所有行必须具有相同数量的数据元素,每个元素可以容纳一个数据值(或一个 NULL)。

FROM source_tables:指定一个或多个源表,并将它们组合成一个大的工作表。

WHERE filter_expression:对工作表中的特定行过滤。

GROUP BY grouping_expressions:用来指定分组。

HAVING filter_expression:过滤分组表中的特定行。

ORDER BY ordering_expressions:对结果集的行进行排序。

LIMIT count:将结果集输出限制为特定数量的行。

OFFSET count:跳过结果集开头的行。

注意:DISTINCT 是可选的,用来消除重复的行。除了 DISTINCT 外,在 SELECT 语句中,附加子句(FROM、WHERE、GROUP BY 等)都是可选的。

SELECT 语句中的子句并不是按照它们写入的顺序进行执行的。其执行流程如图 3.1 所示。

 

图 3.1   执行流程

注意:在图 3.1 中 R 后面的数字可以认为是执行顺序。

(1)查询语句需要一个或者两个源表。

(2)通过 FROM 子句,获取一个 R1 表。

(3)WHERE 子句对 R1 表中的行进行过滤,然后生成一个新的表 R2。

(4)R2 表通过 GROUP BY 子句然后进行分组,将 R2 表分组了对应的组,此时会出生成 R3 表。

(5)R3 表再通过 HAVING 子句过滤表中特定行,生成 R4 表。

(6)R4 表再通过 SELECT 子句执行要显示的最终结果表的格式和内容,此时会生成 R5 表。

(7)R5 表再使用 DISTINCT 关键字进行去重,此时会生成 R6 表。

(8)R6 会通过 ORDER BY 子句进行排序,此时会生成 R7 表。

(9)R7 表通过 OFFSET 子句跳过表的开头的行,生成一个新的表 R8 表。

(10)R8 表通过 LIMIT 子句限制为特定数量的行,此时会出显示出最终的结果表 Result。

关于“SQLite 中 SELECT 基本形式是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计1539字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)