SQLite基础-7.子句(一)

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;

posted @ 2019-08-08 20:42  兰海涛  阅读(192)  评论(0编辑  收藏  举报