第七章:数据过滤

表名:products

字段:product_id、product_name、product_price、vend_id(供应商)

为了提供更强的过滤控制,MySQL允许给出多个WHERE子句,这些子句可以以:AND子句和OR子句的方式使用。

注:操作符(operator)用来联结或改变WHERE子句中的子句的关键字,也成逻辑操作符(logical operator)

操作符都是在WHERE后面的关键字

1.AND操作符:

检索供应商id为1003且价格在5到10之间的产品名称

SELECT product_name FROM products WHERE vend_id = 1003 AND product_price BETWEEN 5 AND 10

注:AND:用于WHERE子句的关键字,用来指示检索满足所有给定条件的行。多个并列条件间使用AND。

2.OR操作符:

检索供应商id为1000或1003的产品名称

SELECT product_name FROM products WHERE vend_id = 1000 OR vend_id = 1003

注:OR:用于WHERE子句的关键字,用来检索匹配任一条件的行。

3.计算次序:

AND比OR操作符的计算次序高,也就是说同时出现AND和OR时,会优先处理AND与其对应的条件。  可以通过()来调整优先级。  检索供应商id为1000或1003且产品价格大于10.0的产品名称。

SELECT product_name FROM products WHERE (vend_id = 1000 OR vend_id = 1003) AND produce_price >=1000

注:注意避免计算次序带来的影响,使用()来处理优先次序。

4.IN操作符:

IN操作符用于指定条件范围,使用()来限定范围

SELECT product_name FROM products WHERE vend_id IN (1000,1003) ORDER BY product_id

注:IN的优点:  在使用合法选项清单时,IN操作符的语法更清晰且更直观。  在使用IN时,计算的次序更容易管理(操作符少)。  IN操作符一般比OR操作qing清单执行的快。  IN可以包含其他SELECT语句,能更动态建立WHERE语句。

5.NOT操作符:

有且只有一个功能否定后面所跟的任何条件  查找除了供应商id为1000与1003的所有产品名称

SELECT product_name FROM products WHERE vend_id NOT IN(1000,1003)

总结:

为什么使用NOT:  复杂的语句中NOT非常实用。  MySQL支持使用NOT对IN、BETWEEN和EXIST子句取反,

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

聊聊FilterSecurityInterceptor

本文就来研究一下spring security的FilterSecurityInterceptor

531
来自专栏转载gongluck的CSDN博客

初探WinInet网络api

//必须的头文件,而且要链接wininet.lib #include <WinInet.h> #define UM_SOCKET (WM_USER + 1) ...

3405
来自专栏一个会写诗的程序员的博客

java.sql.SQLException: connection holder is null

java.sql.SQLException: connection holder is null

1481
来自专栏高性能服务器开发

(八)高性能服务器架构设计总结3——以flamigo服务器代码为例

再看filezilla,一款ftp工具的服务器端,它采用的是Windows的WSAAsyncSelect模型(代码下载地址:https://github.com...

3556
来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

6386
来自专栏余生开发

echarts太阳分布图-饼图来回穿梭

var dom = document.getElementById("container");

1442
来自专栏潇涧技术专栏

Tips about MacBook's battery health

内容摘自Mac上的一个灰常好的免费软件Battery Health中关于保养MacBook的电池寿命的建议,与大家一起分享

501
来自专栏菩提树下的杨过

linq to sql取出随机记录/多表查询/将查询出的结果生成xml

在手写sql的年代,如果想从sqlserver数据库随机取几条数据,可以利用order by NewId()轻松实现,要实现多表查询也可以用select * f...

2236
来自专栏技术之路

wpf键盘记录器

很简单的一个wpf键盘记录器 ? 这个程序我一样用了全局勾子,之前用的都是winform上运行了,前一段时间 在国外的论坛上逛看到了一个wpf能用的就做了一个小...

2065
来自专栏项勇

[Android笔记7]之通过DatePickerDialog,TimePickerDialog调用系统时间设置

2943

扫码关注云+社区