文档章节

MySQL必知必会-6过滤数据

z
 zhiliubai
发布于 2017/03/18 12:36
字数 917
阅读 5
收藏 0
使用where子句来指定搜索条件,搜索条件也称为过滤条件。
   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. prod_price = 2.5;
WHERE子句的位置,在同时使用ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后。

WHERE子句的操作符

= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两个值之间
   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. prod_name = 'fuses';
单引号用来限定字符串,如果将值与串类型进行比较,则需要限定引号,用来与数值列进行比较的值不用引号。
   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. prod_price < 10;
为了检查某个范围的值,可使用BETWEEN操作符,所需低端值和高端值,包括指定的开始值和结束值,必须用AND关键字。
   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. prod_price BETWEEN 5
  8. AND 10;
检索价格在5和10之间的所有产品

空值检查

一个列不包含值,称为包含空值NULL。
NULL无值,它与字段包含0,空字符串或仅仅包含空格不同
检查空值使用WHERE子句IS NULL子句
   
   
  1. SELECT
  2. prod_name
  3. FROM
  4. products
  5. WHERE
  6. prod_price IS NULL;
OR
   
   
  1. SELECT
  2. cust_id
  3. FROM
  4. customers
  5. WHERE
  6. cust_email IS NULL;

数据库在匹配过滤特定的值,如果该匹配的列包含NULL值,该行将不被匹配,如果希望返回NULL值的行还需在加上IS NULL这个条件。
   
   
  1. SELECT
  2. *
  3. FROM
  4. customers
  5. WHERE
  6. cust_email LIKE '%@%' //模糊搜索cust_email带有@值的行
  7. OR cust_email IS NULL //如果没有该句,cust_email为NULL的行将不会返回
  8. ;

组合WHERE子句,MySQL允许给出多个WHERE子句,这些子句可以两种方式使用:AND和OR
   
   
  1. SELECT
  2. prod_id,
  3. prod_price,
  4. prod_name
  5. FROM
  6. products
  7. WHERE
  8. vend_id = 1003
  9. AND prod_price <= 10;
检索供应商1003并且价格小于等于10的所有产品的名称和价格

AND指示满足所给出的所有条件。
OR指示满足给出至少一个条件(任何一个条件)。

   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. vend_id = 1002
  8. OR vend_id = 1003;
检索供应商1002或供应商1003的所有产品的名称和价格。

允许AND和OR操作符结合进行复杂和高级过滤,但是必须记住一个重要的事情,AND的优先级比OR高,如果同时出现AND和OR,会优先处理AND的条件,所以为了避免混淆,建议使用()来确保匹配顺序。
   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. vend_id = 1002
  8. OR vend_id = 1003
  9. AND prod_price >= 10;
由于AND的优先级大于OR,所以检索为
供应商1003的产品,价格大于或等于10的 产品名和产品价格
或者
供应商1002的所有产品的产品名和产品价格

   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. (vend_id = 1002 OR vend_id = 1003)
  8. AND prod_price >= 10
供应商1002或者供应商1003,价格大于等于10的产品的 产品名和产品价格

IN操作符

WEERE子句的另外一种用法,IN操作用来指定条件范围,范围中的每个条件都可以进行匹配,合法值由逗号分隔开来。
   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. vend_id IN (1002, 1003)
  8. ORDER BY
  9. prod_name;
IN操作符功能与OR相当
IN操作符一般比OR操作符执行的更快,并且IN的最大优点是可以包含其他SELECT 语句,使得能够更动态建立WHERE子句。

NOT操作符

WHERE子句中的NOT操作符就是否定它之后所跟的任何条件。
   
   
  1. SELECT
  2. prod_name,
  3. prod_price
  4. FROM
  5. products
  6. WHERE
  7. vend_id NOT IN (1002, 1003)
  8. ORDER BY
  9. prod_name;
匹配供应商1002和1003之外的产品名和产品价格。

MySQL仅 支持使用 NOT对IN,BETWEEN和EXISTS子句取反

本文转载自:http://blog.csdn.net/zoroday/article/details/55521930

z
粉丝 0
博文 26
码字总数 0
作品 0
广州
私信 提问
MySQL快速入门

继恶补了C++基础之后,又来恶补MySQL了,花了将近一天的时间啃完了<MySQL必知必会>这本书,整理了有点糙的读书笔记。 1.SHOW语句的使用: 2.SELECT查询语句: 3.LIMIT子句限定显示结果行数:...

waffle930
2016/10/04
86
0
《MySQL必知必会》笔记1

2016/2/21 数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 数据库管理系统(DBMS):用于访问数据库。 表:某种特定类型数据的结构化清单。相同的数据库中表的名字是唯一的 模...

fxdhdu
2016/03/01
18
0
Mysql必知必会(5):计算字段的使用

本文主要介绍Mysql中计算字段的使用方法 我博客文章地址:http://weiya.me/item/60.html 简介 在创建数据库表的时候,往往为了数据库的各种性能,我们需要将字段拆分或者按照特定的类型存储。...

星空幻颖
2017/02/09
0
0
前端必知必会HTTP请求系列(二)简单一点的HTTP协议

http协议用户客户端和服务器之间的通信 http协议和TCP/IP协议族内的其他众多协议相同,用于客户端和服务器之间的通信。 那么问题来个如果两台服务器之间一台服务器向另一台服务器进行接口请求...

前端技术小哥
01/03
0
0
MySQL必知必会笔记

【英】ben Forta著 1   1.0 选择数据库 use eg: use 数据库名;   2.0 show命令查看信息: show databases;               show tables;               sho...

wei-spring
2014/05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
今天
2.2K
20
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
10
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
13
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
19
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部