SQLite子句(一)
1. WHERE子句
WHERE 子句後面跟着條件,條件爲真則條件生效,WHERE子句可以跟着SELECT、UPDATE、DELETE語句中。
在WHERE子句中可以使用比較運算符、邏輯運算符指定條件。
-- 語法
SELECT * FROM table_name
WHERE [condition];
-- 實例
select * from link_men
where name = 'eric';
select * from link_men
where address = '深圳市' and salary > 500;
2. LIKE子句
LIKE 子句是用來匹配通配符指定模式的文本值。
LIKE 子句與下面兩個通配符結合使用:
- 百分號(%)
- 下劃線(_)
百分號(%)表示零個、一個或者多個數字或字符。
下劃線(_)表示一個單一的數字或字符。
-- 語法
-- %和_ 可以單獨使用,
SELECT * FROM table_name
WHERE column1 LIKE 'xxx%';
SELECT * FROM table_name
WHERE column1 LIKE '_xxx';
-- 也可以組合使用
SELECT * FROM table_name
WHERE column1 LIKE '_xxx%';
實例
語句 | 描述 |
---|---|
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 結尾的任意值 |
3. GLOB 子句
GLOB子句用來匹配通配符指定模式的文本值。與LIKE子句不同的是,GLOB是大小寫敏感的。GLOB與下列通配符搭配使用,通配符符合UNIX的語法。
- 星號(*)
- 問好(?)
星號(*)代表零個、一個或者多個數字或字符。
問號(?)代表單一的數字或字符。
-- 語法
-- *和? 可以單獨使用,
SELECT * FROM table_name
WHERE column1 LIKE 'xxx*';
SELECT * FROM table_name
WHERE column1 LIKE '?xxx';
-- 也可以組合使用
SELECT * FROM table_name
WHERE column1 LIKE '*?xxx?';
-- 實例
SELECT * FROM link_men
WHERE address GLOB '深圳*';
4. Oreder By 子句
ORDER BY 子句是用來排序的,可以根據一個或多個列按照升序或降序排序。
-- 語法
SELECT * FROM table_name
[WHERE condition]
[ORDER BY column1, column2,...] [ASC | DESC];
-- ASC和DESC 任選一個,可以不選,不選,默認:升序
-- ASC 升序,DESC 降序;
-- 實例
SELECT * FROM link_men
ORDER BY salary;
SELECT * FROM link_men
ORDER BY salary DESC;