where条件子句
作用:检索数据中符合条件的值
搜索的条件由一个或者多个表达式组成!结果 布尔值表示
逻辑运算符
运算符 | 语法 | 描述 |
---|---|---|
and && | a and b a&&b | 逻辑与 |
or || | a or b a||b | 逻辑或 |
Not ! | not a !a | 逻辑非 |
-- -----------------------------------------------
-- -------------------where-----------------------
-- 查询大一和大二的
SELECT `gradename` FROM grade
WHERE gradename ==大一 AND gradename ==大二
-- 模糊查询
SELECT `gradename` FROM grade
WHERE gradename BETWEEN 大一 AND 大二
-- 除了5号之外的学生
SELECT `gradeid` FROM grade
WHERE gradeid!=5
-- 除了6号之外的学生
SELECT `gradeid` FROM grade
WHERE NOT gradeid=6
模糊查询:比较运算符
运算符 | 语法 | 描述 |
---|---|---|
IS NULL | a is null | 如果操作符为NULL,结果为真 |
IS NOT NULL | a is not null | 如果操作符不为NULL,结果为真 |
BETWEEN | a between b and c | 若a在b和c直接,结果为真 |
Like | a like b | SQL匹配,如果a匹配b ,则结果为真 |
In | a in(a1,a2,a3… …) | 假设a在a1,或者a2… …其中的某一个值中,结果为真 |
-- ----------------------------------------
-- -------------------模糊查询-------------
-- 查询大一的同学
-- Like结合%(代表0到任意字符) (一个字符)
SELECT `gradename` FROM grade
WHERE gradename LIKE '大一%'
-- 查询姓刘的同学
-- Like结合%(代表0到任意字符) (_一个字符)
SELECT `gradename` FROM grade
WHERE gradename LIKE '刘%'
-- 查询姓刘的同学,而且姓后面只有一个字的
SELECT `gradename` FROM grade
WHERE gradename LIKE '刘_'
-- 查询姓刘的同学,而且姓后面只有两个字的
SELECT `gradename` FROM grade
WHERE gradename LIKE '刘__'
-- 查询名字中间有嘉字的同学 %嘉%
SELECT `gradename` FROM grade
WHERE gradename LIKE '%嘉%'
-- 关于 in (使用具体的值,或者对个值)
-- 查询1,2,3号学生信息
SELECT `gradeid`,`gradename` FROM grade
WHERE gradeid IN(1,2,3)
-- 查询在北京的学生
SELECT `gradeid`,`gradename` FROM grade
WHERE `address` IN ('北京','安徽')
-- -----null / not null------
-- 查询年级为空的学生 null ''
SELECT `gradeid`,`gradename` FROM grade
WHERE gradename='' OR gradename IS NULL
-- 查询不为空的同学
SELECT `gradeid`,`gradename` FROM grade
WHERE `gradename` IS NOT NULL