• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LOFLY
终其一生,编织快乐
博客园    首页    新随笔    联系   管理    订阅  订阅

SQLite-Where

Where 条件查询

语法格式:

SELECT
  column_list
FROM
  TABLE
WHERE
  search_condition;

WHERE子句有以下形式:

left_expression COMPARISON_OPERATOR right_expression

例如,你可以使用下面的查询条件:

WHERE column_1 = 100;

WHERE column_2 IN (1,2,3);

WHERE column_3 LIKE 'An%';

WHERE column_4 BETWEEN 10 AND 20;

除了在SELECT语句中使用WHERE子句,你还可以在UPDATE和DELETE语句后使用WHERE子句。

下表反应了WHERE子句中可以使用的表达式:

运算符 含义
= 等于
<> 或 != 不等于
< 小于
> 大于
<= 小于等于
>= 大于等于

SQLite逻辑运算符

逻辑运算符返回的结果是 1,0或NULL值。
SQLite没有提供Boolean数据类型,1就表示True, 0表示False.

下表表示了SQLite逻辑运算符。

image

SQLite WHERE子句例子

我们将使用 tracks 表来表示怎么去使用WHERE子句。

image

SELECT
   name,
   milliseconds,
   bytes,
   albumid
FROM
   tracks
WHERE
   albumid = 1;

image

SQLite将存储在AlbumId列中的值与字面值1进行比较,以测试它们是否相等。只有满足条件的行才会被返回。

在比较两个值时,你需要确保它们是相同的数据类型。你应该将数字与数字比较,将字符串与字符串比较,等等。

查询 albumID 等于1 且 milliseconds > 250000的歌曲 。

SELECT
  name,
  milliseconds,
  bytes,
  albumid
FROM
  tracks
WHERE
  albumid = 1
  AND milliseconds > 250000;

使用LIKE进行模糊查询

案例: 在WHERE子句后面使用LIKE子句进行模糊查询。

SELECT
  name,
  albumid,
  composer
FROM
  tracks
WHERE
  composer LIKE '%Smith%'
ORDER BY
  albumid;

image

在WHERE子句后使用IN 运算符的案例

IN 操作符允许你检查一个值是否在一个由逗号分隔的值列表中。例如,要找到媒体类型 id 为 2 或 3 的轨道,你可以使用 IN 操作符,如下面的语句所示:


SELECT
	name,
	albumid,
	mediatypeid
FROM
	tracks
WHERE
	mediatypeid IN (2, 3);

image

posted @ 2024-07-18 10:20  编织快乐  阅读(26)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3