一、匹配语法提高

  • in 操作符
    in 允许我们在 where 子句中规定多个值。
    匹配条件语法:
    where 列名 in (列值1, 列值2, …)
  • and 操作符
    and 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是与的关系)
    匹配条件语法:
    where 列1 = 值1 [and 列2 = 值2 and …]
  • sql server 多条件跨表 sql多条件匹配_结果集

  • or 操作符
    or 可在 where 子语句中把两个或多个条件结合起来(多个条件之间是或的关系)。
    匹配条件语法:
    where 列1 = 值1 [or 列2 = 值2 or …]
  • sql server 多条件跨表 sql多条件匹配_数据库_02

  • between and 操作符
    操作符 between A and B 会选取介于A、B之间的数据范围。这些值可以是数值、文本或者日期。
    不同数据库存在的差别:
    (1)有些数据库包含A不包含B。
    (2)有些包含B不包含A。
    (3)有些既不包括A也不包括B。
    (4)有些既包括A又包括B。
    匹配的语法格式:
    where 列名 between A and B
  • sql server 多条件跨表 sql多条件匹配_数据库_03

  • like 操作符
    用于模糊查找
    匹配条件语法:
    where 列名 like 列值
    1、若列值为数字
    相当于列名=列值。
    2、若列值为字符串
    可以用通配符“%”代表缺少的字符(一个或多个)
  • sql server 多条件跨表 sql多条件匹配_操作符_04

  • not 操作符
    可取出原结果集的补集
    not 可取出原结果集的补集。
    匹配条件语法:where 列名 not in 列值等
    例:
    1、where 列名 not in (列值1, 列值2, …)
    2、where not (列1 = 值1 [and 列2 = 值2 and …])
    3、where not (列1 = 值1 [or 列2 = 值2 or …])
    4、where 列名 not between A and B
    5、where 列名 not like 列值
  • sql server 多条件跨表 sql多条件匹配_sqlite_05

  • order by 语句
    默认按照升序对结果集进行排序,可使用desc关键字按照降序对结果集进行排序。
    升序
    select * from表名order by列名;
    降序
    select * from表名order by列名desc;

二、事务

事务(Transaction)可以使用 BEGIN TRANSACTION 命令或简单的 BEGIN 命令来启动。此类事务通常会持续执行下去,直到遇到下一个 COMMIT 或 ROLLBACK 命令。不过在数据库关闭或发生错误时,事务处理也会回滚。以下是启动一个事务的简单语法:

在SQLite中,默认情况下,每条SQL语句自成事务。
begin:开始一个事务,之后的所有操作都可以取消
commit:使begin后的所有命令得到确认。
rollback:取消begin后的所有操作。

sql server 多条件跨表 sql多条件匹配_操作符_06