4/7 SELECT语句:过滤(组合WHERE子句)
序号 | 说明 | 操作 |
---|---|---|
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支持使用NOT
对IN
、BETWEEN
和EXISTS
子句取反,这与多数其他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子句)相关推荐
- 题目:某些SELECT语句中的WHERE子句不使用索引,以下说法正确的是()
题目:某些SELECT语句中的WHERE子句不使用索引,以下说法正确的是() A.where语句中使用到"!=",将不使用索引 B.where语句中使用"||" ...
- SQL之SELECT语句执行顺序及子句功能
1.select 语句的执行顺序 SELECT a.id,a.`product_name`,a.`agreement_copies` i,b.id as statusId from `opmp_pro ...
- oracle 在此 select 语句中缺少 into 子句,Go database/sql文档
No.1 文档概要 在Golang中使用SQL或类似SQL的数据库的惯用方法是通过 database/sql 包操作.它为面向行的数据库提供了轻量级的接口.这篇文章是关于如何使用它,最常见的参考. 为 ...
- DQL:简单的select语句书写(含where子句)
省略了展示向表中插入数据的语句 create table DEPT(-- 部门表 DEPTNO INT(2) NOT NULL, -- 部门编号 DNAME VARCHAR(14),-- 部门名称 L ...
- 【SQL必知必会笔记(3)】SELECT语句的WHERE子句数据过滤操作
上个笔记主要介绍了利用SELECT语句检索单个/多个/所有列,并利用DISTINCT关键字检索具有唯一性的值.利用LIMIT/OFFSET子句限制结果:以及利用ORDER BY子句排序检索出的数据,主 ...
- SELECT 语句与其子句的详解
SELECT 从数据库中检索行,并允许从一个或多个表中选择一个或多个行或列.虽然 SELECT 语句的完整语法较复杂,但是其主要的子句可归纳如下: SELECT select_list [ INTO ...
- GBase 8s SQL 指南:教程———3编写SELECT语句
3编写SELECT语句 SELECT语句是最重要且最复杂的SQL语句.可使用它和SQL语句INSERT. UPDATE和DELETE操纵数据.可以使用SELECT语句从数据库检索数据.将它用作 INS ...
- GBase 8s SQL 指南:教程———6编写高级SELECT语句
6编写高级SELECT语句 本章中增大了使用SELECT语句可执行的操作的范围.并使您能够执行更复杂的数据库查 询和数据处理.编写SELECT语句着重于SELECT语句语法中的五个子句.本章添加了 G ...
- SQL基础学习总结:3(select语句基础算术运算符比较运算符)
select语句基础 列的查询 从表中选取数据时需要使用select语句,通过select语句查询并选取出必要数据的过程称为匹配查询或查询. 语法结构如下: select <列名1>,&l ...
- INSERT INTO SELECT语句概述和示例
This article covers the SQL INSERT INTO SELECT statement along with its syntax, examples and use cas ...
最新文章
- Vue从Hello World到打包(后端适读)
- 【ACM】杭电OJ 1004
- swift懒加载(lazy load)VS OC懒加载
- TP、TN、FP、FN
- UVa 11100 旅行2007
- 抽奖自定义中奖概率总结
- 欧文分校的计算机科学博士,UCI的CS「加州大学欧文分校计算机科学系」
- SWT外观:自定义FlatScrollBar颜色等
- 每日一题 2020.05.26
- 为什么阿里Java规约要求谨慎使用SimpleDateFormat
- android json字符串转成json对象_在PHP中处理JSON数组以及对象
- 解决DELL服务器每次开机提示F1F2,需要F1才可以进系统的方法
- java mysql 周_java 和 mysql 获取周 星期 的第一天 最后一天 或者 月的 日期(字符串转日期,日期转字符串,日期加减)...
- postman下载安装汉化及使用
- 谷歌人工智能背后的大脑:没有他就没有今天的谷歌AI
- 二项分布(Binomial Distribution)
- Android基本UI控件(一)
- centos大小写混乱问题
- calcite parser
- IPv6闲谈-一起玩玩IPv6自动配置
热门文章
- python xlrd xlwt pandas 模块 区别_python如何读写excel文件|python教程|python入门|python教程...
- android dts配置_AndroidLinux关于DTS设备树源码的介绍
- python torch库_python安装torch踩过的坑
- 8皇后以及N皇后算法探究,回溯算法的JAVA实现,递归方案(一)
- 郑州尚新科技--J2EE考试题
- android开发环境教案,01. Android开发环境教案.pdf
- Requests 2.18.1文档
- 《leetcode》remove-duplicates-from-sorted-array-ii
- 《程序员面试金典》最大连续数列和
- Python Demo 05--四大名著词云