序号 说明 操作
1 AND操作符 WHERE子句附加条件
2 OR操作符 检索匹配任一条件的行
3 计算次序 优先级:()> AND > OR
4 IN操作符 指定条件范围,功能与OR相当
5 NOT IN 否定它之后所跟的任何条件

以下为数据库SQLTEST中的三张表,其结构和内容如下:

1.AND操作符

为了通过不止一个列进行过滤,可使用AND操作符给WHERE子句附加条件。

mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> WHERE Lesson_id = 'L001' AND Score > 85;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
|      1 | L001      |    90 |
+--------+-----------+-------+

2.OR操作符

OR操作符:指示MySQL检索匹配任一条件的行。

mysql> SELECT Stu_id,Lesson_id,Score-> FROM t_score-> WHERE Lesson_id = 'L002' OR Score > 80;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
|      1 | L001      |    90 |
|      1 | L002      |    86 |
|      2 | L001      |    84 |
|      3 | L003      |    85 |
|      4 | L005      |    98 |
+--------+-----------+-------+

3.计算次序

优先级:()> AND > OR

mysql> SELECT *-> FROM t_stu_profile-> WHERE (Gender='F' AND Age>16) OR (Gender='M' AND Age<16);
+--------+----------+--------+------+----------+
| Stu_id | Stu_Name | Gender | Age  | Class_id |
+--------+----------+--------+------+----------+
|      5 | 王五     | F      |   17 | 0614     |
+--------+----------+--------+------+----------+

4.IN操作符

IN操作符:用来指定条件范围,范围中的每个条件都可以进行匹配;
IN取合法值得由逗号分隔的清单,全都括在圆括号中;
其实,IN操作符与OR操作符完成相同的功能。

IN操作符的优点:
①在使用长的合法选项清单时,IN操作符的语法更清楚且更简单;
②在使用IN时,计算的次序更容易管理(因为使用的操作符更少);
IN操作符一般比OR操作符清单执行更快;
IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。

mysql> SELECT *-> FROM t_stu_profile-> WHERE Class_id IN ('0611','0612')-> ORDER BY Age;
+--------+----------+--------+------+----------+
| Stu_id | Stu_Name | Gender | Age  | Class_id |
+--------+----------+--------+------+----------+
|      1 | 郭东     | F      |   16 | 0611     |
|      4 | 钱南     | M      |   17 | 0611     |
|      2 | 李西     | M      |   18 | 0612     |
+--------+----------+--------+------+----------+

5.NOT操作符

NOT操作符:否定它之后所跟的任何条件;
MySQL中的NOT:MySQL支持使用NOTINBETWEENEXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件取反有很大的差别。

mysql> SELECT *-> FROM t_stu_profile-> WHERE Class_id NOT IN (0611,0612);
+--------+----------+--------+------+----------+
| Stu_id | Stu_Name | Gender | Age  | Class_id |
+--------+----------+--------+------+----------+
|      3 | 张北     | F      |   16 | 0613     |
|      5 | 王五     | F      |   17 | 0614     |
|      6 | 赵七     | F      |   16 | 0615     |
+--------+----------+--------+------+----------+

4/7 SELECT语句:过滤(组合WHERE子句)相关推荐

  1. 题目:某些SELECT语句中的WHERE子句不使用索引,以下说法正确的是()

    题目:某些SELECT语句中的WHERE子句不使用索引,以下说法正确的是() A.where语句中使用到"!=",将不使用索引 B.where语句中使用"||" ...

  2. SQL之SELECT语句执行顺序及子句功能

    1.select 语句的执行顺序 SELECT a.id,a.`product_name`,a.`agreement_copies` i,b.id as statusId from `opmp_pro ...

  3. oracle 在此 select 语句中缺少 into 子句,Go database/sql文档

    No.1 文档概要 在Golang中使用SQL或类似SQL的数据库的惯用方法是通过 database/sql 包操作.它为面向行的数据库提供了轻量级的接口.这篇文章是关于如何使用它,最常见的参考. 为 ...

  4. DQL:简单的select语句书写(含where子句)

    省略了展示向表中插入数据的语句 create table DEPT(-- 部门表 DEPTNO INT(2) NOT NULL, -- 部门编号 DNAME VARCHAR(14),-- 部门名称 L ...

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

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

  6. SELECT 语句与其子句的详解

    SELECT 从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列.虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT select_list [ INTO ...

  7. GBase 8s SQL 指南:教程———3编写SELECT语句

    3编写SELECT语句 SELECT语句是最重要且最复杂的SQL语句.可使用它和SQL语句INSERT. UPDATE和DELETE操纵数据.可以使用SELECT语句从数据库检索数据.将它用作 INS ...

  8. GBase 8s SQL 指南:教程———6编写高级SELECT语句

    6编写高级SELECT语句 本章中增大了使用SELECT语句可执行的操作的范围.并使您能够执行更复杂的数据库查 询和数据处理.编写SELECT语句着重于SELECT语句语法中的五个子句.本章添加了 G ...

  9. SQL基础学习总结:3(select语句基础算术运算符比较运算符)

    select语句基础 列的查询 从表中选取数据时需要使用select语句,通过select语句查询并选取出必要数据的过程称为匹配查询或查询. 语法结构如下: select <列名1>,&l ...

  10. INSERT INTO SELECT语句概述和示例

    This article covers the SQL INSERT INTO SELECT statement along with its syntax, examples and use cas ...

最新文章

  1. Vue从Hello World到打包(后端适读)
  2. 【ACM】杭电OJ 1004
  3. swift懒加载(lazy load)VS OC懒加载
  4. TP、TN、FP、FN
  5. UVa 11100 旅行2007
  6. 抽奖自定义中奖概率总结
  7. 欧文分校的计算机科学博士,UCI的CS「加州大学欧文分校计算机科学系」
  8. SWT外观:自定义FlatScrollBar颜色等
  9. 每日一题 2020.05.26
  10. 为什么阿里Java规约要求谨慎使用SimpleDateFormat
  11. android json字符串转成json对象_在PHP中处理JSON数组以及对象
  12. 解决DELL服务器每次开机提示F1F2,需要F1才可以进系统的方法
  13. java mysql 周_java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)...
  14. postman下载安装汉化及使用
  15. 谷歌人工智能背后的大脑:没有他就没有今天的谷歌AI
  16. 二项分布(Binomial Distribution)
  17. Android基本UI控件(一)
  18. centos大小写混乱问题
  19. calcite parser
  20. IPv6闲谈-一起玩玩IPv6自动配置

热门文章

  1. python xlrd xlwt pandas 模块 区别_python如何读写excel文件|python教程|python入门|python教程...
  2. android dts配置_AndroidLinux关于DTS设备树源码的介绍
  3. python torch库_python安装torch踩过的坑
  4. 8皇后以及N皇后算法探究,回溯算法的JAVA实现,递归方案(一)
  5. 郑州尚新科技--J2EE考试题
  6. android开发环境教案,01. Android开发环境教案.pdf
  7. Requests 2.18.1文档
  8. 《leetcode》remove-duplicates-from-sorted-array-ii
  9. 《程序员面试金典》最大连续数列和
  10. Python Demo 05--四大名著词云