您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關SQLite中SELECT基本形式是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
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基本形式是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。