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;