美文网首页
4.过滤数据

4.过滤数据

作者: 升级打怪啊怪 | 来源:发表于2020-06-14 15:12 被阅读0次

使用SELECT语句的WHERE子句指定搜索条件
一、WHERE子句操作符
1、= 等于
2、<> 不等于
3、!= 不等于
4、< 小于
5、<= 小于等于
6、> 大于
7、>= 大于等于
8、BETWEEN AND 在指定的两个值之间

SELECT prod_name,prod_price FROM products WHERE prod_name = 'fuses';

mysql> SELECT prod_name,prod_price FROM products WHERE prod_name = 'fuses';
+-----------+------------+
| prod_name | prod_price |
+-----------+------------+
| Fuses     |       3.42 |
+-----------+------------+
1 row in set (0.00 sec)

BETWEEN操作符,匹配范围中的所有值,包括指定的开始值和结束值

mysql> SELECT prod_name,prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;
+----------------+------------+
| prod_name      | prod_price |
+----------------+------------+
| .5 ton anvil   |       5.99 |
| 1 ton anvil    |       9.99 |
| Bird seed      |      10.00 |
| Oil can        |       8.99 |
| TNT (5 sticks) |      10.00 |
+----------------+------------+
5 rows in set (0.00 sec)

二、空值检查

mysql> select cust_id,cust_email from customers;
+---------+---------------------+
| cust_id | cust_email          |
+---------+---------------------+
|   10001 | ylee@coyote.com     |
|   10002 | NULL                |
|   10003 | rabbit@wascally.com |
|   10004 | sam@yosemite.com    |
|   10005 | NULL                |
+---------+---------------------+
5 rows in set (0.00 sec)

mysql> select cust_id,cust_email from customers where cust_email IS NOT NULL;
+---------+---------------------+
| cust_id | cust_email          |
+---------+---------------------+
|   10001 | ylee@coyote.com     |
|   10003 | rabbit@wascally.com |
|   10004 | sam@yosemite.com    |
+---------+---------------------+
3 rows in set (0.00 sec)

mysql> select cust_id,cust_email from customers where cust_email IS NULL;
+---------+------------+
| cust_id | cust_email |
+---------+------------+
|   10002 | NULL       |
|   10005 | NULL       |
+---------+------------+
2 rows in set (0.00 sec)

三、组合WHERE子句
AND、OR操作符、IN操作符、NOT操作符
操作符:用来联结或改变WHERE子句中的子句的关键字。也称为逻辑操作符
1、AND 操作符
用来指示检索满足所有给定条件的行
SELECT prod_id,prod_price,prod_name FROM products WHERE vend_id = 1003 AND prod_price <=10;
2、OR操作符
用来指示检索匹配任一条件
SELECT prod_name,prod_price FROM products WHERE vend_id = 1003 OR vend_id =1002;
3、计算次序
AND操作符会优先处理,再处理OR操作符。可以使用()改变处理次序
4、IN操作符
IN操作符用来指定条件范围,范围中的每个条件都可以进行匹配
SELECT prod_name,prod_price,vend_id FROM products WHERE vend_id IN (1002,1003) ORDER BY prod_name;

mysql> SELECT prod_name,prod_price,vend_id FROM products WHERE vend_id IN (1002,1003) ORDER BY prod_name;
+----------------+------------+---------+
| prod_name      | prod_price | vend_id |
+----------------+------------+---------+
| Bird seed      |      10.00 |    1003 |
| Carrots        |       2.50 |    1003 |
| Detonator      |      13.00 |    1003 |
| Fuses          |       3.42 |    1002 |
| Oil can        |       8.99 |    1002 |
| Safe           |      50.00 |    1003 |
| Sling          |       4.49 |    1003 |
| TNT (1 stick)  |       2.50 |    1003 |
| TNT (5 sticks) |      10.00 |    1003 |
+----------------+------------+---------+
9 rows in set (0.00 sec)

5、NOT操作符
WHERE子句中用来否定后跟条件的关键字
NOT可以对IN、BETWEEN、EXISTS子句取反
SELECT prod_name,prod_price,vend_id FROM products WHERE vend_id NOT IN (1002,1003) ORDER BY prod_name;

mysql> SELECT prod_name,prod_price,vend_id FROM products WHERE vend_id NOT IN (1002,1003) ORDER BY prod_name;
+--------------+------------+---------+
| prod_name    | prod_price | vend_id |
+--------------+------------+---------+
| .5 ton anvil |       5.99 |    1001 |
| 1 ton anvil  |       9.99 |    1001 |
| 2 ton anvil  |      14.99 |    1001 |
| JetPack 1000 |      35.00 |    1005 |
| JetPack 2000 |      55.00 |    1005 |
+--------------+------------+---------+
5 rows in set (0.00 sec)

四、用通配符进行过滤
1、LIKE操作符
LIKE操作符指示MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较
通配符:用来匹配值的一部分的特殊字符
搜索模式:由字面值、通配符或两者组合构成的搜索条件
1>%通配符
在搜索串中,%表示任何字符出现任意次数
'jet%'检索以jet开头的词
SELECT prod_id,prod_name FROM products WHERE prod_name LIKE 'jet%'
'%anvil%'匹配任何位置包含文本anvil的值
's%e'匹配以s开头以e结尾的值
'%'不能匹配NULL
2> _ 通配符
下划线_的用途与%一样,但是下划线只匹配单个字符而不是多个字符

相关文章

  • 4. 过滤数据

    过滤数据 WHERE 子句 在SELECT 语句中,数据根据WHERE子句中指定的搜索条件进行过滤。 WHERE ...

  • 4.过滤数据

    使用SELECT语句的WHERE子句指定搜索条件一、WHERE子句操作符1、= 等于2、<> 不等于3、!= ...

  • 我的SQL学习

    目录 1.SQL基础 2.检索数据 3.排序检索数据 4.过滤数据 5.高级过滤 6.通配符过滤 7.创建计算字段...

  • 2018-10-24Excel&数据库

    Excel 1. 筛选/过滤 2. 排序 升序 降序 3. 数据操作 曾 删 改 查 4. 数据统计 数据...

  • 数据过滤

    二代测序数据过滤 1.基因测序技术 2.二代测序比较 3.测序通用流程 4.测序数据错误(针对每项过滤) 5.测序...

  • vue.js与angular.js的异同点

    相同点:1.都支持指令:内置指令和自定义指令2.都支持过滤器:内置过滤器和自定义过滤器3.都支持数据双向绑定4.都...

  • 全基因组分析流程搭建

    1. md5 检测数据是否下载完整 2. fastqc 质控 3. Trimmomatic 过滤低质量序列 4. ...

  • 2021-07-06 Charles数据过滤

    1.打开正则 2.填写数据正则筛选 3.过滤规则 4.响应自动替换Rewrite(部分字段替换功能)

  • 10X单细胞转录组下游流程-4-差异分析及可视化

    1. 准备数据 2. 构建monocle对象 3. 过滤质控 4. 聚类 4.1. 判断使用哪些基因进行细胞分群 ...

  • 过滤器

    ...过滤器分为全局过滤器和局部过滤器全局过滤器的格式:html:{{数据,全局过滤器的名字}}//解析数据js:...

网友评论

      本文标题:4.过滤数据

      本文链接:https://www.haomeiwen.com/subject/cyhztktx.html