SQL必知会(二)-SQL查询篇(4)-高级过滤

第5课、高级过滤

组合 WHERE 子句
AND OR:与条件、或条件

多个 WHERE 子句有两种使用方式:AND 子句 或 OR 子句。

1)AND 操作符
AND 相当于编程语言中的与条件。

需求:如果某个产品由供应商 DLL01 制造,但价格不高于4美元。

SELECT vend_id,prod_id, prod_price, prod_name
FROM Products
WHERE vend_id = 'DLL01' AND prod_price <= 4;
-- 书上没有 SELECT vend_id 列,为方便理解输出结果,该段语句 SELECT 后添加 vend_id

输出结果:

请添加图片描述

2)OR 操作符
OR 相当于编程语言中的或条件。在第一条件得到满足的情况下,不再继续判断第二个条件。

需求:供应商要么为 DLL01,要么为 BRS01 。

SELECT vend_id,prod_id, prod_price, prod_name
FROM Products
WHERE vend_id = 'DLL01' OR vend_id = 'BRS01';
-- 书上没有 SELECT vend_id 列,为方便理解输出结果,该段语句 SELECT 后添加 vend_id

输出结果:

请添加图片描述

2.2)求值顺序

问题例子:

需求:供应商为 DLL01 和 BRS01,且这两个供应商的产品价格都大于等于10.

SELECT vend_id,prod_name, prod_price
FROM Products
WHERE vend_id = 'DLL01' OR vend_id = 'BRS01'
AND prod_price >= 10;
-- 书上没有 SELECT vend_id 列,为方便理解输出结果,该段语句 SELECT 后添加 vend_id

输出结果:

请添加图片描述

但是,输出结果中有小于10的价格出现。
分析:

SQL 理解 WHERE 子句问题:由于 AND 操作符优先级高,所以判断为:
vend_id = 'BRS01' AND prod_price >= 10
然后才是:
vend_id = 'DLL01' OR 

解决方案:

SELECT vend_id,prod_name, prod_price
FROM Products
WHERE (vend_id = 'DLL01' OR vend_id = 'BRS01')
AND prod_price >= 10;
-- 多加了个括号

输出结果:

请添加图片描述

3)IN 操作符

IN:条件范围
IN 操作符用来指定条件范围,范围中的每个条件都可以进行匹配

需求:检索由供应商 DLL01 和 BRS01 制造的所有产品。

SELECT prod_name, prod_price
FROM Products
WHERE vend_id IN ('DLL01','BRS01')
ORDER BY prod_name;

-- 以下例子与上面例子相同工作。
SELECT prod_name, prod_price
FROM Products
WHERE vend_id = 'DLL01' OR vend_id = 'BRS01'
ORDER BY prod_name;

输出结果:

请添加图片描述

4)NOT 操作符

NOT:非条件
NOT 否定其后所跟的任何条件。可以用在要过滤的列前,也可以用在其后。

需求:列出除 DLL01 之外的所有供应商制造的产品。

SELECT prod_name
FROM Products
WHERE NOT vend_id = 'DLL01'
ORDER BY prod_name;

-- 以下例子与上面例子相同工作
SELECT prod_name
FROM Products
WHERE vend_id <> 'DLL01'
ORDER BY prod_name;

输出结果:

请添加图片描述

总结

AND OR:与条件、或条件

WHERE 条件1 AND 条件2;
WHERE 条件1 OR 条件2;
//AND OR 同时使用,注意关键字的优先级:
WHERE (条件1 OR 条件2) AND 条件3;

IN:条件范围

WHERE vend_id IN ('列值1','列值2')

NOT:非条件

WHERE NOT 条件1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/132560.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL时间类型注意事项

MySQL常见的时间类型有YEAR、DATE、TIME、DATETIME、TIMESTAMP&#xff0c;绝大多数业务都是精确到秒的&#xff0c;所以通常用后两种。并且MySQL5.6以后后两种支持精度到毫秒&#xff08;最多小数点后6位&#xff09; DATETIME占8字节&#xff0c;不论要不要毫秒 TIMESTAMP占4…

抖音短视频账号矩阵系统、短视频矩阵源码+无人直播源码开发可打包

抖音短视频账号矩阵系统、短视频矩阵源码无人直播源码开发可打包 矩阵系统源码主要有三种框架&#xff1a;Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架&#xff0c;提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框…

数据库数据恢复—无备份,未开启binlog的MySQL误删除怎么恢复数据

数据库数据恢复环境&#xff1a; 一台本地windows sever操作系统服务器&#xff0c;服务器上部署mysql数据库单实例&#xff0c;引擎类型为innodb&#xff0c;表内数据存储所使用表空间类型为独立表空间。无数据库备份&#xff0c;未开启binlog。 数据库故障&分析&#xf…

计算机服务器中了mallox勒索病毒怎么解决,勒索病毒解密,数据恢复

企业的计算机服务器为企业的数据存储提供了极大便利&#xff0c;也让企业的生产运行效率得到了极大提升&#xff0c;但是网络数据安全威胁随着技术的不断发展也不断增加。近期&#xff0c;云天数据恢复中心接到很多企业的求助&#xff0c;企业的计算机服务器遭到了mallox勒索病…

Easyui DataGrid combobox联动下拉框内容

发票信息下拉框联动&#xff0c;更具不同的发票类型&#xff0c;显示不同的税率 专票 普票 下拉框选择事件 function onSelectType(rec){//选中值if (rec2){//普通发票对应税率pmsPlanList.pmsInvoiceTaxRatepmsPlanList.pmsInvoiceTaxRateT}else {//专用发票对应税率pmsPlan…

SQL必知会(二)-SQL查询篇(6)-创建计算字段

第7课、创建计算字段 1&#xff09;拼接字段 需求&#xff1a;检索Vendors 表包含供应商的名称和地址的所有信息&#xff0c;返回结果需要把地址括号起来。 SELECT vend_name ( vend_country ) FROM Vendors ORDER BY vend_name;-- 以下例子与上面例子相同工作 SELECT ve…

YOLOv8-Seg改进:分割注意力系列篇 | 高效的通道先验卷积注意力(CPCA) | 中科院 2023.6

🚀🚀🚀本文改进:高效的通道先验卷积注意力(CPCA)方法,支持注意力权重在通道和空间维度上的动态分布; 🚀🚀🚀CPCA 小目标分割检测&复杂场景首选,实现涨点 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新…

SmargGBD(GB28181设备接入模块)如何对接wvp-gb28181-pro

技术背景 我们在对接SmartGBD&#xff08;GB28181设备接入模块&#xff09;的时候&#xff0c;除了常规的海康大华宇视等国标平台外&#xff0c;有些公司会选择wvp-gb28181-pro。 众所周知&#xff0c;WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频…

【Docker】iptables命令的使用

iptables是一个非常强大的Linux防火墙工具&#xff0c;你可以使用它来控制网络流量的访问和转发。 前面已经学习了iptables的基本原理&#xff0c;四表五链的基本概念&#xff0c;也已经安装好了iptables&#xff0c;下面我们主要学习iptables命令的基本使用。 可以使用iptable…

苍穹外卖-day07

苍穹外卖-day07 课程内容 缓存菜品缓存套餐添加购物车查看购物车清空购物车 功能实现&#xff1a;缓存商品、购物车 效果图&#xff1a; 1. 缓存菜品 1.1 问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据…

Unity--视觉组件(Raw Image,Mask)||Unity--视觉组件(Text,Image)

1.Raw Image 2.mask “”Raw Image&#xff1a;“” Texture&#xff1a;&#xff08;纹理&#xff09; 表示要显示的图像的纹理&#xff1b; Color&#xff1a;&#xff08;颜色&#xff09; 应用于图像的颜色&#xff1b; Material&#xff1a;&#xff08;材质&#xff09…

25 _ 红黑树(上):为什么工程中都用红黑树这种二叉树?

上两节,我们依次讲了树、二叉树、二叉查找树。二叉查找树是最常用的一种二叉树,它支持快速插入、删除、查找操作,各个操作的时间复杂度跟树的高度成正比,理想情况下,时间复杂度是O(logn)。 不过,二叉查找树在频繁的动态更新过程中,可能会出现树的高度远大于log2n的情况…

从白日梦到现实:推出 Elastic 的管道查询语言 ES|QL

作者&#xff1a;George Kobar, Bahubali Shetti, Mark Settle 今天&#xff0c;我们很高兴地宣布 Elastic 的新管道查询语言 ES|QL&#xff08;Elasticsearch 查询语言&#xff09;的技术预览版&#xff0c;它可以转换、丰富和简化数据调查。 ES|QL 由新的查询引擎提供支持&am…

超详细的性能测试流程

一、性能测试概念 我们经常看到的性能测试概念&#xff0c;有人或称之为性能策略&#xff0c;或称之为性能方法&#xff0c;或称之为性能场景分类&#xff0c;大概可以看到性能测试、负载测试、压力测试、强度测试等一堆专有名词的解释。 针对这些概念&#xff0c;我不知道你…

【机器学习范式】监督学习,无监督学习,强化学习, 半监督学习,自监督学习,迁移学习,对比分析+详解与示例代码

目录 1. 监督学习 (Supervised Learning): 2. 无监督学习 (Unsupervised Learning): 3. 强化学习 (Reinforcement Learning): 4. 半监督学习 (Semi-Supervised Learning): 5. 自监督学习 (Self-Supervised Learning): 6. 迁移学习 (Transfer Learning): 7 机器学习范式应…

第十三章《搞懂算法:神经网络是怎么回事》笔记

目前神经网络技术受到追捧&#xff0c;一方面是由于数据传感设备、数据通信技术和数据存储技术 的成熟与完善&#xff0c;使得低成本采集和存储海量数据得以成为现实;另一方面则是由于计算能力的大幅提升&#xff0c;如图形处理器(Graphics Processing Unit&#xff0c;GPU)在神…

【Linux】Centos7 shell实现MySQL5.7 tar 一键安装

&#x1f984; 个人主页——&#x1f390;个人主页 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; 感谢点赞和关注 &#xff0c;每天进步一点点&#xff01;加油&#xff01;&…

upload-labs12-21关

第十二关 提示及源码 $is_upload false; $msg null; if(isset($_POST[submit])){$ext_arr array(jpg,png,gif);$file_ext substr($_FILES[upload_file][name],strrpos($_FILES[upload_file][name],".")1);if(in_array($file_ext,$ext_arr)){$temp_file $_FILES…

KEIL MDK 调试 无法 查看 外设 信息 原因及解决方法

MDK5.38版本有bug : 不能把STM32F4的官方SVD文件转换成SFR&#xff0c;而MDK5.38a版本没有此问题。

前端通过导入editor.md库实现markdown功能

小王学习录 今日摘录前言jquery下载editor下载editor和jquery的导入初始化editor总结 今日摘录 满招损&#xff0c;谦受益 前言 要想通过editor.md实现markdown的功能&#xff0c;需要经过如下四步&#xff1a; 下载editor.md到本地将本地editor导入到前端代码中编写少量代…