where 条件子句
where 条件子句
where 子句用于检索数据中符合条件的值
搜索条件由一个或多个表达式组成,结果返回布尔值
1、逻辑运算符
运算符 | 语法 | 描述 |
---|---|---|
and && | a and b a&&b | 逻辑与 |
or || | a or b a||b | 逻辑或 |
not ! | not a ! a | 逻辑非 |
尽量使用英文字母
2、逻辑运算符练习
-
查询成绩在95~100之间的studentno
-- AND 练习 SELECT `studentno`,`studentresult` AS 'between 95 and 100' FROM result WHERE `studentresult`>=95 AND `studentresult`<=100; -- 也可以用 between and SELECT `studentno`,`studentresult` AS 'between 95 and 100' FROM result WHERE `studentresult` BETWEEN 95 AND 100;
-
查询学生成绩(除了1000号)
-- NOT 练习 SELECT `studentno`,`studentresult` AS '除1000号以外的学生成绩' FROM result WHERE `studentno` !=1000; -- 或者 SELECT `studentno`,`studentresult` AS '其他学员成绩' FROM result WHERE NOT `studentno` =1000;
-
查询1001,1002号学员成绩
-- OR 练习 SELECT `studentno`,`studentresult` AS '1001,1002学员成绩' FROM result WHERE `studentno`=1001 OR `studentno`=1002;
3、模糊查询:比较运算符
运算符 | 语法 | 描述 |
---|---|---|
IS NULL | a IS NULL | 如果为空,返回true |
IS NOT NULL | a IS NOT NULL | 如果不为空,返回true |
BETWEEN | a BETWEEN b AND c | 若a在b和c之间则返回true |
LIKE | a LIKE b | SQL 匹配,若a匹配b则返回true |
IN | a IN(a1,a2,a3......) | 若a为a1,a2,a3...其中之一,则返回true |
4、模糊查询练习
1.LIKE 练习:查询名字带王学员的住址
用 LIKE
结合%(代表任意个字符)
结合 _(代表一个字符)
比如要查
王X
就用LIKE '王_'
要查
王XX
就用LIKE '王__'
......
以此类推
-
查询所有王姓学员
-- LIKE 练习 -- 语法为 LIKE 结合 %(代表0到任意个字符) 或者 _(代表一个字符) SELECT `studentname`,`address` AS '家庭住址' FROM student WHERE `studentname` LIKE '王%';
-
查询王X学员
-- LIKE 结合 _ 代表一个字符 SELECT `studentname`,`address` AS '家庭住址' FROM student WHERE `studentname` LIKE '王_';
-
查询王XX学员
-- LIKE 结合 __ 代表两个字符 SELECT `studentname`,`address` AS '家庭住址' FROM student WHERE `studentname` LIKE '王__';
-
查询名字中间带有三水的学员
-- LIKE %三水% SELECT `studentname`,`address` AS '家庭住址' FROM student WHERE `studentname` LIKE '%三水%';
2.IN 练习:查询指定学号学员信息
-
查询1001 1002 1003 号学员姓名和住址
-- IN 练习 -- 语法为 字段名 IN(......) SELECT `studentno`,`studentname` AS '学员姓名',`address` AS '家庭住址' FROM student WHERE `studentno` IN(1001,1002,1003);
-
查询家庭住址在北京的学员学号、姓名和家庭住址
这个还是用 LIKE 吧,因为可以用 %和_ 进行模糊匹配
-- 查询家庭住址在北京的学员学号和姓名 SELECT `studentno`,`studentname` AS '学员姓名',`address` AS '家庭住址' FROM student WHERE `address` LIKE '%北京%';
3.IS NULL 和 IS NOT NULL 练习
需要注意的是语法为
字段名='' OR 字段名 IS NULL
字段名 IS NOT NULL
-
查询出生日期为空的学员姓名,学号,家庭住址
-- 查询出生日期为空同学的姓名,学号,家庭住址 SELECT `studentno`,`studentname` AS '学员姓名',`address` AS '家庭住址' FROM student WHERE `borndate` IS NULL;
-
查询出生日期不为空的学员姓名,学号,家庭住址
-- 查询出生日期不为空同学的姓名,学号,家庭住址 SELECT `studentno`,`studentname` AS '学员姓名',`address` AS '家庭住址' FROM student WHERE `borndate` IS NOT NULL;
4.BETWEEN 练习
-
查询学号为1003-1007学员的姓名,学号,家庭住址
-- BETWEEN 练习 -- 查询学号为1003-1007学员的姓名,学号,家庭住址 SELECT `studentno` AS '学员学号',`studentname` AS '学员姓名',`address` AS '家庭住址' FROM student WHERE `studentno` BETWEEN 1003 AND 1007;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律