MySQL where 条件字句查询

where 条件字句

搜索条件可由一个或多个逻辑表达式组成 , 结果一般为布尔值

逻辑运算符

运算符 语法 描述
and && a and b a && b 逻辑与 两个为真, 结果为真
or || a or b a || b 逻辑或 一个为真, 结果为真
not ! not a !a 逻辑非 真为假, 假为真
-- ==========  where  ============
SELECT `name`,`sex` FROM student

-- 查询 name 数值在 95 ~ 100 之间的
SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 AND `NAME`<= 100
-- and  &&
SELECT `NAMe`, `address` FROM student WHERE `NAME` >= 95 && `NAME` <= 100
-- between and (区间)
SELECT `name`,`address` FROM student WHERE `name` BETWEEN 95 AND 100

-- 查询name 不等于 1 的同学
SELECT `NAMe`, `address` FROM student WHERE `NAME` != 1 AND `NAME` < 10
-- not 
SELECT `NAMe`, `address` FROM student WHERE NOT `NAME` = 100 AND `NAME` > 90


模糊查询: 比较运算符

运算符 语法 描述
is null a is null 如果a为null, 结果为真
is not null a is not null 如果a不为null, 结果为真
between and 3 between 1 and 5 如果 3 在 1 和 5 之间, 结果为真
Like a like b sql匹配, 如果a匹配b, 结果为真
In a in (abcd, pdosa, …) 若 a 在 (abcd, pdosa, …) 中, 结果为真
-- ==========  模糊查询  ============
-- 查询 姓张的  like 结合  %(代表0到任意个字符)  _(代表一个字符)
SELECT `name` FROM student WHERE `name` LIKE '张%'
-- 查询 姓张的 后面只有一个字的
SELECT `name` FROM student WHERE `name` LIKE '张_'
-- 查询 姓张的 后面有两个字的
SELECT `name` FROM student WHERE `name` LIKE '张__'
-- 查询 名字中有张字的
SELECT `name` FROM student WHERE `name` LIKE '%张%'


-- ==== in 具体的一个或多个值 ====
-- 查询 1,2,3 号同学
SELECT `id`,`name` FROM student WHERE `id` IN (1,2,3)
-- 查询 北京 的同学
SELECT `id`,`name`,`address` FROM student WHERE `address` IN ('北京')

-- ==== null , not null ====
-- 查询地址为空或者null的
SELECT `name`,`address` FROM student WHERE `address`='' OR `address` IS NULL

-- 查询有日期的  不为空的
SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NOT NULL

-- 查询没有日期的  为空的
SELECT `name`,`address`,`birthday` FROM student WHERE `birthday` IS NULL

猜你喜欢

转载自blog.csdn.net/weixin_44953227/article/details/108737622