序号 说明 操作
1 使用WHERE子句 WHERE
2 WHERE结合ORDER BY 顺序:FROMWHEREORDER BYLIMIT
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子句位置:FROMWHEREORDER 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 n1 AND 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)相关推荐

  1. mysql 笔记05 select语句以及条件语句的使用

    select语句 过滤重复语句(distinct) 举例: 查询学生的总分 select name, math + English + China as '总分' from students; 在姓赵 ...

  2. 4/7 SELECT语句:过滤(组合WHERE子句)

    序号 说明 操作 1 AND操作符 给WHERE子句附加条件 2 OR操作符 检索匹配任一条件的行 3 计算次序 优先级:()> AND > OR 4 IN操作符 指定条件范围,功能与OR ...

  3. 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作

    上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...

  4. 【4 - 分组】Sql Server - 郝斌(分组group by、过滤having、聚合函数max() / count()、排序order by、select语句的执行顺序)

    课程地址:数据库 SQLServer 视频教程全集(99P)| 22 小时从入门到精通_哔哩哔哩_bilibili ​ 目录 group by(分组) group by a,b 的用法 having( ...

  5. SQL 查询总是先执行SELECT语句吗?你们都错了!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 译者:无明 链接:infoq.cn/article/Oke8hgi ...

  6. TiDB 源码阅读系列文章(六)Select 语句概览

    在先前的 TiDB 源码阅读系列文章(四) 中,我们介绍了 Insert 语句,想必大家已经了解了 TiDB 是如何写入数据,本篇文章介绍一下 Select 语句是如何执行.相比 Insert,Sel ...

  7. select 语句的执行顺序

    借用ItZik Ben-Gan.Lubor Kollar.Dejan Sarka所著的<Sql Server 2005 技术内幕:T-SQL查询>的一段话足以说明: (8) select ...

  8. SQL Server select语句执行顺序

    根据<Microsoft SQL Server2000 宝典>,Select语句的完整执行顺序: 1.from子句组装来自不同数据源的数据 2.where子句基于指定的条件对记录行进行筛选 ...

  9. SQL 查询总是先执行SELECT语句吗?你们都错了!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | infoq.cn/article/Oke8hg ...

最新文章

  1. 33岁180程序员去相亲,被人嫌弃工资不够高,房子不是学区房,网友炸了!
  2. [SCOI2009]生日礼物 双指针
  3. 使用Mercurial从Google Code获得 项目源代码
  4. WINCE编译类型DEBUG/RELEASE的问题
  5. java经典模式:七种模式样例
  6. FormShortCut MainForm 和 二级FORM
  7. python区域增长_Python – 有效地为高密度区域创建密度图,稀疏区域的点
  8. The Best and the Worst
  9. spring boot配置mybatis和事务管理
  10. 取代cookie的网站追踪技术:”帆布指纹识别”初探
  11. 电脑遇到问题需要重新启动_如何解决电脑风扇转一下就停开不了机的问题-系统城...
  12. 5星评价,1位小数显示
  13. 【小白写代码之九九乘法表,用C/C++来实现】
  14. Java软件工程师面试常见问题集锦之一
  15. 尚德机构2020年Q4财报:净收入5.85亿元,管理费用同比大幅下降近五成
  16. 获取微信公众号关注总人数和用户列表
  17. 2021年中国网上办理车辆和驾驶证业务情况:网上办理车辆和驾驶证相关业务6769万次其中,网上发放临时号牌2043万副[
  18. 关于height:100%的简单理解
  19. JavaScript学习笔记(四)之浏览器篇
  20. ps考试引擎安装溢出屏幕

热门文章

  1. 南昌理工学院的计算机科学与技术专业怎么样,南昌理工学院有哪些专业及什么专业好...
  2. mac android studio 打不开adb,Android-Macbook ADB无法打开
  3. 职业高中计算机英语教案,职高英语shopping教学设计.doc
  4. ros系统支持java_创建一个rosjava package 并测试发布和接受消息
  5. mysql fetch rows,php中mysql_fetch_array()和mysql_fetch_rows()函数区别
  6. liferay mysql driver_Liferay更改数据库(oracle,mysql)
  7. linux php不支持crypt,(PHP)如何在CRYPT_BLOWFISH中使用crypt()?
  8. DjangoAPP子路由
  9. Kubernetes的yaml文件中的command使用
  10. 《leetcode》longest-substring-without-repeating