最輕巧的數據庫SQLite的學習之路(常用語句 ) Day02

1、SQLite Select 語句

SQLite 的 SELECT 語句用於從 SQLite 數據庫表中獲取數據,以結果表的形式返回數據。這些結果表也被稱爲結果集。

語法

SQLite 的 SELECT 語句的基本語法如下:

SELECT column1, column2, columnN FROM table_name;

在這裏,column1, column2...是表的字段,他們的值即是您要獲取的。如果您想獲取所有可用的字段,那麼可以使用下面的語法:

SELECT * FROM table_name;

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一個實例,使用 SELECT 語句獲取並顯示所有這些記錄。在這裏,前三個命令被用來設置正確格式化的輸出。

sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;

最後,將得到以下的結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

設置輸出列的寬度

有時,由於要顯示的列的默認寬度導致 .mode column,這種情況下,輸出被截斷。此時,您可以使用 .width num, num.... 命令設置顯示列的寬度,如下所示:

sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;

上面的 .width 命令設置第一列的寬度爲 10,第二列的寬度爲 20,第三列的寬度爲 10。因此上述 SELECT 語句將得到以下結果:

ID          NAME                  AGE         ADDRESS     SALARY
----------  --------------------  ----------  ----------  ----------
1           Paul                  32          California  20000.0
2           Allen                 25          Texas       15000.0
3           Teddy                 23          Norway      20000.0
4           Mark                  25          Rich-Mond   65000.0
5           David                 27          Texas       85000.0
6           Kim                   22          South-Hall  45000.0
7           James                 24          Houston     10000.0

Schema 信息

因爲所有的點命令只在 SQLite 提示符中可用,所以當您進行帶有 SQLite 的編程時,您要使用下面的帶有 sqlite_master 表的 SELECT 語句來列出所有在數據庫中創建的表:

sqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';

假設在 testDB.db 中已經存在唯一的 COMPANY 表,則將產生以下結果:

tbl_name
----------
COMPANY

您可以列出關於 COMPANY 表的完整信息,如下所示:

sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';

假設在 testDB.db 中已經存在唯一的 COMPANY 表,則將產生以下結果:

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
)

2、SQLite 運算符

SQLite 運算符是什麼?

運算符是一個保留字或字符,主要用於 SQLite 語句的 WHERE 子句中執行操作,如比較和算術運算。

運算符用於指定 SQLite 語句中的條件,並在語句中連接多個條件。

  • 算術運算符

  • 比較運算符

  • 邏輯運算符

  • 位運算符

SQLite 邏輯運算符

下面是 SQLite 中所有的邏輯運算符列表。

運算符描述
ANDAND 運算符允許在一個 SQL 語句的 WHERE 子句中的多個條件的存在。
BETWEENBETWEEN 運算符用於在給定最小值和最大值範圍內的一系列值中搜索值。
EXISTSEXISTS 運算符用於在滿足一定條件的指定表中搜索行的存在。
ININ 運算符用於把某個值與一系列指定列表的值進行比較。
NOT ININ 運算符的對立面,用於把某個值與不在一系列指定列表的值進行比較。
LIKELIKE 運算符用於把某個值與使用通配符運算符的相似值進行比較。
GLOBGLOB 運算符用於把某個值與使用通配符運算符的相似值進行比較。GLOB 與 LIKE 不同之處在於,它是大小寫敏感的。
NOTNOT 運算符是所用的邏輯運算符的對立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定運算符。
OROR 運算符用於結合一個 SQL 語句的 WHERE 子句中的多個條件。
IS NULLNULL 運算符用於把某個值與 NULL 值進行比較。
ISIS 運算符與 = 相似。
IS NOTIS NOT 運算符與 != 相似。
||連接兩個不同的字符串,得到一個新的字符串。
UNIQUEUNIQUE 運算符搜索指定表中的每一行,確保唯一性(無重複)。

下面的 SELECT 語句列出了 NAME 以 'Ki' 開始的所有記錄,'Ki' 之後的字符不做限制:

sqlite> SELECT * FROM COMPANY WHERE NAME LIKE 'Ki%';
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
6           Kim         22          South-Hall  45000.0

下面的 SELECT 語句列出了 NAME 以 'Ki' 開始的所有記錄,'Ki' 之後的字符不做限制:

sqlite> SELECT * FROM COMPANY WHERE NAME GLOB 'Ki*';
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
6           Kim         22          South-Hall  45000.0

要注意 GLOB在查找通配符時是區分大小寫的,而like不會

下面的 SELECT 語句列出了 AGE 的值爲 25 或 27 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE IN ( 25, 27 );
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

下面的 SELECT 語句列出了 AGE 的值既不是 25 也不是 27 的所有記錄:

sqlite> SELECT * FROM COMPANY WHERE AGE NOT IN ( 25, 27 );
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面的 SELECT 語句使用 SQL 子查詢,子查詢查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,後邊的 WHERE 子句與 EXISTS 運算符一起使用,列出了外查詢中的 AGE 存在於子查詢返回的結果中的所有記錄:

sqlite> SELECT AGE FROM COMPANY 
        WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000);
AGE
----------
32
25
23
25
27
22
24

下面的 SELECT 語句使用 SQL 子查詢,子查詢查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,後邊的 WHERE 子句與 > 運算符一起使用,列出了外查詢中的 AGE 大於子查詢返回的結果中的年齡的所有記錄:

sqlite> SELECT * FROM COMPANY 
        WHERE AGE > (SELECT AGE FROM COMPANY WHERE SALARY > 65000);
ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0

3、SQLite 表達式

表達式是一個或多個值、運算符和計算值的SQL函數的組合。

SQL 表達式與公式類似,都寫在查詢語言中。您還可以使用特定的數據集來查詢數據庫

注意我們在打開數據的時候 用的命令爲.open sssDB.db 如下圖所示:

SQLite - 數值表達式

這些表達式用來執行查詢中的任何數學運算。語法如下:

SELECT numerical_expression as  OPERATION_NAME
[FROM table_name WHERE CONDITION] ;

在這裏,numerical_expression 用於數學表達式或任何公式。下面的實例演示了 SQLite 數值表達式的用法:

sqlite> SELECT (15 + 6) AS ADDITION
ADDITION = 21

有幾個內置的函數,比如 avg()、sum()、count(),等等,執行被稱爲對一個表或一個特定的錶行數的彙總數據計算。

sqlite> SELECT COUNT(*) AS "RECORDS" FROM COMPANY; 
RECORDS = 7

SQLite - 日期表達式

日期表達式返回當前系統日期和時間值,這些表達式將被用於各種數據操作。

sqlite>  SELECT CURRENT_TIMESTAMP;
CURRENT_TIMESTAMP = 2013-03-17 10:43:35

4、SQLite Where子句

SQLite的的WHERE子句用於指定從一個表或多個表中獲取數據的條件

如果滿足給定的條件,即爲真(true)時,則從表中返回特定的值。您可以使用WHERE子句來過濾記錄,只需獲取需要的記錄。

WHERE子句不僅可用在SELECT語句中,它也可用在UPDATE,DELETE語句中,等等,這些我們將在隨後的章節中學習到。

下面的 SELECT 語句使用 SQL 子查詢,子查詢查找 SALARY > 65000 的帶有 AGE 字段的所有記錄,後邊的 WHERE 子句與 EXISTS 運算符一起使用,當SQL子查詢得到的結果不爲空時,則顯示AGE字段所有的年齡。

sqlite> SELECT AGE FROM COMPANY 
        WHERE EXISTS (SELECT AGE FROM COMPANY WHERE SALARY > 65000);
AGE
----------
32
25
23
25
27
22
24

5、SQLite Update 語句

SQLite 的 UPDATE 查詢用於修改表中已有的記錄。可以使用帶有 WHERE 子句的 UPDATE 查詢來更新選定行,否則所有的行都會被更新。

語法

帶有 WHERE 子句的 UPDATE 查詢的基本語法如下:

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

您可以使用 AND 或 OR 運算符來結合 N 個數量的條件。

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一個實例,它會更新 ID 爲 6 的客戶地址:

sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 6;

現在,COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          Texas       45000.0
7           James       24          Houston     10000.0

如果您想修改 COMPANY 表中 ADDRESS 和 SALARY 列的所有值,則不需要使用 WHERE 子句,UPDATE 查詢如下:

sqlite> UPDATE COMPANY SET ADDRESS = 'Texas', SALARY = 20000.00;

現在,COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          Texas       20000.0
2           Allen       25          Texas       20000.0
3           Teddy       23          Texas       20000.0
4           Mark        25          Texas       20000.0
5           David       27          Texas       20000.0
6           Kim         22          Texas       20000.0
7           James       24          Texas       20000.0

6、SQLite Delete 語句

SQLite 的 DELETE 查詢用於刪除表中已有的記錄。可以使用帶有 WHERE 子句的 DELETE 查詢來刪除選定行,否則所有的記錄都會被刪除。

語法

帶有 WHERE 子句的 DELETE 查詢的基本語法如下:

DELETE FROM table_name
WHERE [condition];

您可以使用 AND 或 OR 運算符來結合 N 個數量的條件。

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一個實例,它會刪除 ID 爲 7 的客戶:

sqlite> DELETE FROM COMPANY WHERE ID = 7;

現在,COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0

如果您想要從 COMPANY 表中刪除所有記錄,則不需要使用 WHERE 子句,DELETE 查詢如下:

sqlite> DELETE FROM COMPANY;

現在,COMPANY 表中沒有任何的記錄,因爲所有的記錄已經通過 DELETE 語句刪除。

7、SQLite Like 子句

SQLite 的 LIKE 運算符是用來匹配通配符指定模式的文本值。如果搜索表達式與模式表達式匹配,LIKE 運算符將返回真(true),也就是 1。這裏有兩個通配符與 LIKE 運算符一起使用:

  • 百分號 (%)

  • 下劃線 (_)

百分號(%)代表零個、一個或多個數字或字符。下劃線(_)代表一個單一的數字或字符。這些符號可以被組合使用。

語法

% 和 _ 的基本語法如下:

SELECT column_list 
FROM table_name
WHERE column LIKE 'XXXX%'

or 

SELECT column_list 
FROM table_name
WHERE column LIKE '%XXXX%'

or

SELECT column_list 
FROM table_name
WHERE column LIKE 'XXXX_'

or

SELECT column_list 
FROM table_name
WHERE column LIKE '_XXXX'

or

SELECT column_list 
FROM table_name
WHERE column LIKE '_XXXX_'

您可以使用 AND 或 OR 運算符來結合 N 個數量的條件。在這裏,XXXX 可以是任何數字或字符串值。

實例

下面一些實例演示了 帶有 '%' 和 '_' 運算符的 LIKE 子句不同的地方:

語句描述
WHERE SALARY LIKE '200%'查找以 200 開頭的任意值
WHERE SALARY LIKE '%200%'查找任意位置包含 200 的任意值
WHERE SALARY LIKE '_00%'查找第二位和第三位爲 00 的任意值
WHERE SALARY LIKE '2_%_%'查找以 2 開頭,且長度至少爲 3 個字符的任意值
WHERE SALARY LIKE '%2'查找以 2 結尾的任意值
WHERE SALARY LIKE '_2%3'查找第二位爲 2,且以 3 結尾的任意值
WHERE SALARY LIKE '2___3'查找長度爲 5 位數,且以 2 開頭以 3 結尾的任意值

8、SQLite Glob 子句

SQLite 的 GLOB 運算符是用來匹配通配符指定模式的文本值。如果搜索表達式與模式表達式匹配,GLOB 運算符將返回真(true),也就是 1。與 LIKE 運算符不同的是,GLOB 是大小寫敏感的,對於下面的通配符,它遵循 UNIX 的語法。

  • 星號 (*)

  • 問號 (?)

星號(*)代表零個、一個或多個數字或字符。問號(?)代表一個單一的數字或字符。這些符號可以被組合使用。

語法

* 和 ? 的基本語法如下:

SELECT FROM table_name
WHERE column GLOB 'XXXX*'

or 

SELECT FROM table_name
WHERE column GLOB '*XXXX*'

or

SELECT FROM table_name
WHERE column GLOB 'XXXX?'

or

SELECT FROM table_name
WHERE column GLOB '?XXXX'

or

SELECT FROM table_name
WHERE column GLOB '?XXXX?'

or

SELECT FROM table_name
WHERE column GLOB '????'

您可以使用 AND 或 OR 運算符來結合 N 個數量的條件。在這裏,XXXX 可以是任何數字或字符串值。

9、SQLite Limit 子句

SQLite 的 LIMIT 子句用於限制由 SELECT 語句返回的數據數量。

語法

帶有 LIMIT 子句的 SELECT 語句的基本語法如下:

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows]

下面是 LIMIT 子句與 OFFSET 子句一起使用時的語法:

SELECT column1, column2, columnN 
FROM table_name
LIMIT [no of rows] OFFSET [row num]

SQLite 引擎將返回從下一行開始直到給定的 OFFSET 爲止的所有行,如下面的最後一個實例所示

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一個實例,它限制了您想要從表中提取的行數:

sqlite> SELECT * FROM COMPANY LIMIT 6;

這將產生以下結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0

但是,在某些情況下,可能需要從一個特定的偏移開始提取記錄。下面是一個實例,從第三位開始提取 3 個記錄:

sqlite> SELECT * FROM COMPANY LIMIT 3 OFFSET 2;

這將產生以下結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

10、SQLite Order By

SQLite 的 ORDER BY 子句是用來基於一個或多個列按升序或降序順序排列數據。

語法

ORDER BY 子句的基本語法如下:

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

您可以在 ORDER BY 子句中使用多個列。確保您使用的排序列在列清單中。

其中ASC 表示升序排序   而DESC表示降序排序

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一個實例,它會將結果按 SALARY 升序排序:

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

這將產生以下結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
7           James       24          Houston     10000.0
2           Allen       25          Texas       15000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

11、SQLite Group By

SQLite 的 GROUP BY 子句用於與 SELECT 語句一起使用,來對相同的數據進行分組。

在 SELECT 語句中,GROUP BY 子句放在 WHERE 子句之後,放在 ORDER BY 子句之前。

語法

下面給出了 GROUP BY 子句的基本語法。GROUP BY 子句必須放在 WHERE 子句中的條件之後,必須放在 ORDER BY 子句之前。

SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN

您可以在 GROUP BY 子句中使用多個列。確保您使用的分組列在列清單中

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

如果您想了解每個客戶的工資總額,則可使用 GROUP BY 查詢,如下所示:

sqlite> SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME;

這將產生以下結果:

NAME        SUM(SALARY)
----------  -----------
Allen       15000.0
David       85000.0
James       10000.0
Kim         45000.0
Mark        65000.0
Paul        20000.0
Teddy       20000.0

12、SQLite Having 子句

HAVING 子句允許指定條件來過濾將出現在最終結果中的分組結果。

WHERE 子句在所選列上設置條件,而 HAVING 子句則在由 GROUP BY 子句創建的分組上設置條件。

語法

下面是 HAVING 子句在 SELECT 查詢中的位置:

SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY

在一個查詢中,HAVING 子句必須放在 GROUP BY 子句之後,必須放在 ORDER BY 子句之前。下面是包含 HAVING 子句的 SELECT 語句的語法:

SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
8           Paul        24          Houston     20000.0
9           James       44          Norway      5000.0
10          James       45          Texas       5000.0

下面是一個實例,它將顯示名稱計數小於 2 的所有記錄:

sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) < 2;

這將產生以下結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
2           Allen       25          Texas       15000
5           David       27          Texas       85000
6           Kim         22          South-Hall  45000
4           Mark        25          Rich-Mond   65000
3           Teddy       23          Norway      20000

下面是一個實例,它將顯示名稱計數大於 2 的所有記錄:

sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) > 2;

這將產生以下結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
10          James       45          Texas       5000

13、SQLite Distinct 關鍵字

SQLite 的 DISTINCT 關鍵字與 SELECT 語句一起使用,來消除所有重複的記錄,並只獲取唯一一次記錄。

有可能出現一種情況,在一個表中有多個重複的記錄。當提取這樣的記錄時,DISTINCT 關鍵字就顯得特別有意義,它只獲取唯一一次記錄,而不是獲取重複記錄。

語法

用於消除重複記錄的 DISTINCT 關鍵字的基本語法如下:

SELECT DISTINCT column1, column2,.....columnN 
FROM table_name
WHERE [condition]

首先,讓我們來看看下面的 SELECT 查詢,它將返回重複的名字記錄:

sqlite> SELECT name FROM COMPANY;

這將產生以下結果:

NAME
----------
Paul
Allen
Teddy
Mark
David
Kim
James
Paul
James
James

現在,讓我們在上述的 SELECT 查詢中使用 DISTINCT 關鍵字:

sqlite> SELECT DISTINCT name FROM COMPANY;

這將產生以下結果,沒有任何重複的條目:

NAME
----------
Paul
Allen
Teddy
Mark
David
Kim
James


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章