3/7 SELECT语句:过滤(WHERE)
序号 | 说明 | 操作 |
---|---|---|
1 |
使用WHERE 子句
|
WHERE
|
2 |
WHERE 结合ORDER BY
|
顺序:FROM —WHERE —ORDER BY —LIMIT
|
3 |
WHERE 子句操作符
|
= 、<> 、!= 、< 、<= 、> 、>= 、BETWEEN
|
4 | 不匹配检查 |
<> 、!=
|
5 | 范围值检查 |
BETWEEN n1 AND n2
|
6 | 空值检查 |
IS NULL
|
以下为数据库SQLTEST
中的三张表,其结构和内容如下:
1.使用WHERE
子句
在
SELECT
语句中,数据根据WHERE
子句中指定的搜索条件进行过滤;
WHERE
子句在表名(FROM
子句)之后给出。
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> WHERE Lesson_id = 'L001';
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 1 | L001 | 90 |
| 2 | L001 | 84 |
+--------+-----------+-------+
2.WHERE
结合ORDER BY
WHERE
子句位置:FROM
—WHERE
—ORDER BY
。
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> WHERE Lesson_id = 'L001'-> ORDER BY Score DESC;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 1 | L001 | 90 |
| 2 | L001 | 84 |
+--------+-----------+-------+
3.WHERE
子句操作符
操作符 | 说明 |
---|---|
=
|
等于 |
<>
|
不等于 |
!=
|
不等于 |
<
|
小于 |
<=
|
小于等于 |
>
|
大于 |
>=
|
大于等于 |
BETWEEN
|
在指定的两个值之间 |
4.不匹配检查
显示
Lesson_id
值不等于“L001”的数据
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> WHERE Lesson_id <> 'L001';
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 1 | L002 | 86 |
| 2 | L004 | 75 |
| 3 | L003 | 85 |
| 4 | L005 | 98 |
+--------+-----------+-------+
5.范围值检查
BETWEEN
n1AND
n2
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> WHERE Score BETWEEN 70 AND 90-> ORDER BY Score DESC;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 1 | L001 | 90 |
| 1 | L002 | 86 |
| 3 | L003 | 85 |
| 2 | L001 | 84 |
| 2 | L004 | 75 |
+--------+-----------+-------+
6.空值检查
SELECT语句有一个特殊的
WHERE
子句,可用来检查具有NULL值的列,即为IS NULL
子句;
NULL
与不匹配:在通过过滤选择出不具有特定值的行时,可能也希望返回具有NULL值的行。但是不行,因为未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们。
mysql> INSERT t_score(Stu_id,Lesson_id) VALUES(5,'L001');
mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> WHERE Score IS NULL;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
| 5 | L001 | NULL |
+--------+-----------+-------+
IS NULL
与=NULL
不同。
# 插入1个空行
mysql> INSERT t_stu_profile VALUES-> ();
# 没删除掉空行
mysql> DELETE-> FROM t_stu_profile-> WHERE Stu_id = NULL;
Query OK, 0 rows affected (0.00 sec)
# 删除掉空行
mysql> DELETE-> FROM t_stu_profile-> WHERE Stu_Name IS NULL;
Query OK, 1 row affected (0.14 sec)
3/7 SELECT语句:过滤(WHERE)相关推荐
- mysql 笔记05 select语句以及条件语句的使用
select语句 过滤重复语句(distinct) 举例: 查询学生的总分 select name, math + English + China as '总分' from students; 在姓赵 ...
- 4/7 SELECT语句:过滤(组合WHERE子句)
序号 说明 操作 1 AND操作符 给WHERE子句附加条件 2 OR操作符 检索匹配任一条件的行 3 计算次序 优先级:()> AND > OR 4 IN操作符 指定条件范围,功能与OR ...
- 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作
上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...
- 【4 - 分组】Sql Server - 郝斌(分组group by、过滤having、聚合函数max() / count()、排序order by、select语句的执行顺序)
课程地址:数据库 SQLServer 视频教程全集(99P)| 22 小时从入门到精通_哔哩哔哩_bilibili 目录 group by(分组) group by a,b 的用法 having( ...
- SQL 查询总是先执行SELECT语句吗?你们都错了!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 译者:无明 链接:infoq.cn/article/Oke8hgi ...
- TiDB 源码阅读系列文章(六)Select 语句概览
在先前的 TiDB 源码阅读系列文章(四) 中,我们介绍了 Insert 语句,想必大家已经了解了 TiDB 是如何写入数据,本篇文章介绍一下 Select 语句是如何执行.相比 Insert,Sel ...
- select 语句的执行顺序
借用ItZik Ben-Gan.Lubor Kollar.Dejan Sarka所著的<Sql Server 2005 技术内幕:T-SQL查询>的一段话足以说明: (8) select ...
- SQL Server select语句执行顺序
根据<Microsoft SQL Server2000 宝典>,Select语句的完整执行顺序: 1.from子句组装来自不同数据源的数据 2.where子句基于指定的条件对记录行进行筛选 ...
- SQL 查询总是先执行SELECT语句吗?你们都错了!
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | infoq.cn/article/Oke8hg ...
最新文章
- 33岁180程序员去相亲,被人嫌弃工资不够高,房子不是学区房,网友炸了!
- [SCOI2009]生日礼物 双指针
- 使用Mercurial从Google Code获得 项目源代码
- WINCE编译类型DEBUG/RELEASE的问题
- java经典模式:七种模式样例
- FormShortCut MainForm 和 二级FORM
- python区域增长_Python – 有效地为高密度区域创建密度图,稀疏区域的点
- The Best and the Worst
- spring boot配置mybatis和事务管理
- 取代cookie的网站追踪技术:”帆布指纹识别”初探
- 电脑遇到问题需要重新启动_如何解决电脑风扇转一下就停开不了机的问题-系统城...
- 5星评价,1位小数显示
- 【小白写代码之九九乘法表,用C/C++来实现】
- Java软件工程师面试常见问题集锦之一
- 尚德机构2020年Q4财报:净收入5.85亿元,管理费用同比大幅下降近五成
- 获取微信公众号关注总人数和用户列表
- 2021年中国网上办理车辆和驾驶证业务情况:网上办理车辆和驾驶证相关业务6769万次其中,网上发放临时号牌2043万副[
- 关于height:100%的简单理解
- JavaScript学习笔记(四)之浏览器篇
- ps考试引擎安装溢出屏幕
热门文章
- 南昌理工学院的计算机科学与技术专业怎么样,南昌理工学院有哪些专业及什么专业好...
- mac android studio 打不开adb,Android-Macbook ADB无法打开
- 职业高中计算机英语教案,职高英语shopping教学设计.doc
- ros系统支持java_创建一个rosjava package 并测试发布和接受消息
- mysql fetch rows,php中mysql_fetch_array()和mysql_fetch_rows()函数区别
- liferay mysql driver_Liferay更改数据库(oracle,mysql)
- linux php不支持crypt,(PHP)如何在CRYPT_BLOWFISH中使用crypt()?
- DjangoAPP子路由
- Kubernetes的yaml文件中的command使用
- 《leetcode》longest-substring-without-repeating