溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SQLite中SELECT基本形式是什么

發(fā)布時(shí)間:2021-12-18 11:02:40 來(lái)源:億速云 閱讀:158 作者:小新 欄目:數(shù)據(jù)庫(kù)

這篇文章將為大家詳細(xì)講解有關(guān)SQLite中SELECT基本形式是什么,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

SQLite中SELECT基本形式

每個(gè)數(shù)據(jù)庫(kù)通常都包含多個(gè)表,而每個(gè)表又包含多條數(shù)據(jù)。要獲取數(shù)據(jù)庫(kù)中的數(shù)據(jù),就需要SQL語(yǔ)言提供的查詢語(yǔ)句SELECT。本章將講解和SELECT語(yǔ)句相關(guān)的內(nèi)容,其中包括SELECT基本形式、表達(dá)式、連接、分組、排序和去重、獲取子集、子查詢以及聯(lián)合查詢等。

3.1  SELECT基本形式

本節(jié)將講解SELECT語(yǔ)句的基本形式,其中包括基本完整形式、SELECT子句、FROM子句以及WHERE子句等

3.1.1  基本形式

以下是SELECT語(yǔ)法的基本完整形式:

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

其中,參數(shù)說(shuō)明如下:

? select_heading:用來(lái)定義最終結(jié)果表的格式和內(nèi)容,主要是用來(lái)定義表的頭。

注意:在SQL中的數(shù)據(jù)結(jié)構(gòu)就是表,表用于存儲(chǔ)數(shù)據(jù)和數(shù)據(jù)處理。表是由一個(gè)頭和體組成。頭定義了每列的名稱和類型(以SQLite為單位)。列名稱在表格中必須是唯一的。頭定義了列的順序,這些列作為表定義的一部分被修復(fù)。體包含了所有行。每一行由每列的一個(gè)數(shù)據(jù)元素組成。表中的每一列的所有行必須具有相同數(shù)量的數(shù)據(jù)元素,每個(gè)元素可以容納一個(gè)數(shù)據(jù)值(或一個(gè)NULL)。

  • FROM source_tables:指定一個(gè)或多個(gè)源表,并將它們組合成一個(gè)大的工作表。

  • WHERE filter_expression:對(duì)工作表中的特定行過(guò)濾。

  • GROUP BY grouping_expressions:用來(lái)指定分組。

  • HAVING filter_expression:過(guò)濾分組表中的特定行。

  • ORDER BY ordering_expressions:對(duì)結(jié)果集的行進(jìn)行排序。

  • LIMIT count:將結(jié)果集輸出限制為特定數(shù)量的行。

  • OFFSET count:跳過(guò)結(jié)果集開(kāi)頭的行。

注意:DISTINCT是可選的,用來(lái)消除重復(fù)的行。除了DISTINCT外,在SELECT語(yǔ)句中,附加子句(FROM、WHERE、GROUP BY等)都是可選的。

SELECT語(yǔ)句中的子句并不是按照它們寫(xiě)入的順序進(jìn)行執(zhí)行的。其執(zhí)行流程如圖3.1所示。

 SQLite中SELECT基本形式是什么

圖3.1  執(zhí)行流程

注意:在圖3.1中R后面的數(shù)字可以認(rèn)為是執(zhí)行順序。

(1)查詢語(yǔ)句需要一個(gè)或者兩個(gè)源表。

(2)通過(guò)FROM子句,獲取一個(gè)R1表。

(3)WHERE子句對(duì)R1表中的行進(jìn)行過(guò)濾,然后生成一個(gè)新的表R2。

(4)R2表通過(guò)GROUP BY子句然后進(jìn)行分組,將R2表分組了對(duì)應(yīng)的組,此時(shí)會(huì)出生成R3表。

(5)R3表再通過(guò)HAVING子句過(guò)濾表中特定行,生成R4表。

(6)R4表再通過(guò)SELECT子句執(zhí)行要顯示的最終結(jié)果表的格式和內(nèi)容,此時(shí)會(huì)生成R5表。

(7)R5表再使用DISTINCT關(guān)鍵字進(jìn)行去重,此時(shí)會(huì)生成R6表。

(8)R6會(huì)通過(guò)ORDER BY子句進(jìn)行排序,此時(shí)會(huì)生成R7表。

(9)R7表通過(guò)OFFSET子句跳過(guò)表的開(kāi)頭的行,生成一個(gè)新的表R8表。

(10)R8表通過(guò)LIMIT子句限制為特定數(shù)量的行,此時(shí)會(huì)出顯示出最終的結(jié)果表Result。

關(guān)于“SQLite中SELECT基本形式是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI