共計 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 基本形式是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。