当前位置: 首页 > news >正文

【数据库】SQL 过滤数据

过滤数据

  • 简单过滤
    • where 子句操作符
    • 检查单个值
    • 范围值检擦
    • 空值检查
  • 高级过滤
    • 多个过滤条件
    • 求值顺序
    • IN 操作符
    • NOT 操作符

s q l sql sql 语句中,通过 WHERE 子句指定搜索条件进行过滤。

简单过滤

  • 包含:WHEREBETWEENIS NULL

where 子句操作符

操作符Value操作符value
=等于>大于
<>不等于>=大于等于
!=不等于!>不大于
<小于BETWEEN在指定的两个值之间
<=小于等于IS NULL为 NULL 值
!<不小于

!=<> 通常可以互换,但是并非所有的 DBMS 都支持两种不等于操作符,但是都至少支持其中一种操作符。读者选择不同的 DBMS 时需注意。


检查单个值

e . g . e.g. e.g. 列出所有价格小于10美元的产品;

SELECT prod_name, prod_price
FROM Products
WHERE prod_price < 10;

e . g . e.g. e.g. 列出所有不是供应商 DLL01 制造的产品;

SELECT vend_id, prod_name
FROM Products
WHERE vend_id <> 'DLL01'

范围值检擦

范围值的检查使用 BETWEEN 操作符,示例如下;

e . g . e.g. e.g. 检索价格在 5 美元到 10 美元之间的所有产品;

SELECT prod_name, prod_price
FROM Products
WHERE prod_price BETWEEN 5 AND 10;
  • BETWEEN 匹配范围中所有的值,包括开始值与结束值。

空值检查

空值 NULL,是无值,与字段为0、空字符串和仅仅空格不同。当一个列不包含值时,称为包含空值。

e . g . e.g. e.g. 检索有没有价格为空值;

SELECT prod_name
FROM Products
WHERE prod_price IS NULL;

高级过滤

  • 包含:NOTINANDOR

多个过滤条件

AND

  • 多个过滤条件中间都需要添加 AND 关键字;
  • AND 操作符指示 DBMS 检索匹配同时满足前后条件的行。

e . g . e.g. e.g. 检索商品由供应商 DDL01 制造且价格小于等于 4 美元的所有商品代码、名称和价格;

SELECT prod_id, prod_name, prod_price
FROM Products
WHERE vend_id = 'DLL01' AND prod_price <= 4;

OR

  • OR 操作符指示 DBMS 检索匹配满足前后任一条件的行;

e . g . e.g. e.g. 检索商品由供应商 DDL01 制造或者 BRS01 制造的名称和价格;

SELECT prod_name, prod_price
FROM Products
WHERE vend_id = 'DDL01' or vend_id = 'BRS01';

求值顺序

AND + OR 在多个过滤条件组合时,AND 的优先级高于 OR 优先级。

WHERE vend_id = 'DLL01' OR vend_id = 'BRS01' AND prod_price >= 10;
-- 上述过滤逻辑等同于:
WHERE vend_id = 'DLL01' OR (vend_id = 'BRS01' AND prod_price >= 10);
-- 而不等同于:
WHERE (vend_id = 'DLL01' OR vend_id = 'BRS01') AND prod_price >= 10;

读者理解上述三个语句的逻辑,即明白求值顺序。总而言之,由于 AND 优先级高于 OR 优先级,过滤语句会优先执行 AND 语句的前后的组合,即 A OR (B AND C) ;


IN 操作符

  • IN 操作符后跟随一个范围值,范围内每个条件都可以进行匹配。

e . g . e.g. e.g. 检索由供应商 DLL01 和 BRS01 制造的所有产品。

SELECT prod_name, prod_price
FROM Products
WHERE vend_id IN ('DLL01', 'BRS01')
  • 效果同本文上述部分通过 OR 语句连接的过滤语句;但是对比来看,IN 操作符的语法更加直观且清晰;
  • IN 操作符也可以包含其他 SELECT 语句,动态地建立 WHERE 子句;
  • IN 操作符理论上比一组 OR 操作符执行得更快。

NOT 操作符

  • NOT 操作符否定其后所跟得条件,结果剔除满足其后所跟条件的行;

e . g . e.g. e.g. 检索不是由供应商 DDL01 制造的其他所有商品名称;

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


以上

相关文章:

【数据库】SQL 过滤数据

过滤数据 简单过滤where 子句操作符检查单个值范围值检擦空值检查 高级过滤多个过滤条件求值顺序IN 操作符NOT 操作符 在 s q l sql sql 语句中&#xff0c;通过 WHERE 子句指定搜索条件进行过滤。 简单过滤 包含&#xff1a;WHERE&#xff0c;BETWEEN&#xff0c;IS NULL&a…...

缓存相关问题

对于缓存&#xff0c;我们主要关心两个&#xff1a;缓存的命中率&#xff0c;数据的一致性。由此又会有一些缓存引起的问题&#xff0c;缓存击穿、穿透、雪崩。对于这些问题也是我们在使用缓存时不得不考虑的 。这些问题的解决方案也有很多。这里简单列举几个&#xff1a; &am…...

arrow(c++)改写empyrical系列1---用arrow读取基金净值数据并计算夏普率

用arrow c版本读取了csv中的基金净值数据&#xff0c;然后计算了夏普率&#xff0c;比较尴尬的是&#xff0c;arrow c版本计算耗费的时间却比python的empyrical版本耗费时间多。。。 arrow新手上路&#xff0c;第一次自己去实现功能&#xff0c;实现的大概率并不是最高效的方…...

Mathematica强制将函数的自变量由符号转为数值

问题 使用Mathematcia完成函数优化&#xff08;FindMaximum&#xff09;十分方便。但是如果优化的目标函数非常复杂&#xff0c;里面嵌套了若干NSolve函数&#xff0c;那么FindMaximum可能会计算非常长时间&#xff0c;甚至无法得到正确结果。 原因在于&#xff0c;Mathemtic…...

【wps】记录

1、ppt背景图片上的字体怎样消除&#xff1f; 打开PPT要删除文字的PPT后&#xff0c;依次点击视图→母版视图→幻灯片母版。 在幻灯片母版的左侧&#xff0c;选择版式页面&#xff0c;在母版的右侧选择要删除的文字&#xff0c;删除即可 点击“关闭母版视图”即可退出幻灯片…...

扩散模型学习

第一章 1.1 的原理 给定一批训练数据X&#xff0c;假设其服从某种复杂的真实 分布p(x)&#xff0c;则给定的训练数据可视为从该分布中采样的观测样本x。 生成模型就是估计训练数据的真实分布&#xff0c;使得估计的分布q(x)和真实分布p(x)差距尽可能能的小。 使得所有训练…...

解决方法:从客户端(---<A href=“http://l...“)中检测到有潜在危险的 Request.Form 值。

从客户端(-----<A href"http://l...")中检测到有潜在危险的 Request.Form 值。 解决方法&#xff1a;应该是不同的.net Framework版本对代码的校验不同&#xff0c;造成在高版本操作系统&#xff08;即高.net Framework版本校验&#xff09;不兼容&#xff0c;可…...

Linux shell编程学习笔记14:编写和运行第一个shell脚本hello world!

* 20231020 写这篇博文断断续续花了好几天&#xff0c;为了说明不同shell在执行同一脚本文件时的差别&#xff0c;我分别在csdn提供线上Linux环境 &#xff08;使用的shell是zsh&#xff09;和自己的电脑上&#xff08;使用的shell是bash&#xff09;做测试。功夫不负有心人&am…...

隐式类型转换

什么是隐式类型转换&#xff0c;多参数的造函数隐式类型转换&#xff0c;和单参数的构造函数隐式类型转换有什么区别 C中有三种主要的隐式类型转换&#xff1a; 1:多参数的构造函数隐式类型转换 2:单参数的构造函数隐式类型转换 3:成员函数隐式类型转换。…...

单例模式:饿汉式、懒汉式

一、单例模式 定义&#xff1a;一个类中的对象只能有一个&#xff0c;它在内存中只会创建一次对象的设计模式。 用法&#xff1a;在程序中如果多次用到同一个类中的方法进行操作时&#xff0c;在使用时就会创建多个对象。为了防止频繁创建对象造成内存资源浪费&#xff0c;就可…...

“人间烟火”背后,长沙招商引资再出圈

连续多年&#xff0c;长沙荣膺全国最具幸福感城市。同时&#xff0c;长沙也被誉为“中部崛起的引擎城市”。长沙不仅有网红城市的人间烟火气&#xff0c;更以创新的精神&#xff0c;优质的营商环境&#xff0c;高效的政府服务&#xff0c;丰富的人才资源和深厚的产业基础&#…...

操作系统【OS】中断和异常

异常&#xff08;内中断&#xff09; 中断&#xff08;外中断&#xff09; 基本概念 由CPU执行指令内部产生的事件内中断都是不可屏蔽中断&#xff0c;一旦出现&#xff0c;就要立即处理。 由来自CPU外部的设备发出的中断请求&#xff08;常用于输入输出&#xff09;典型的由…...

[AutoSAR系列] 1.1 AutoSar 发展历史

AUTOSAR,全称为Automotive Open System Architecture,即汽车开放系统架构。 AutoSar 是一项开源的汽车软件标准,旨在提高汽车电子系统的互操作性和可重用性。AutoSar 成员通常是汽车制造商、电子元件制造商、软件供应商和工具供应商等公司,他们在共同开发和推进 AutoSar 标…...

【vscode编辑器插件】前端 php unity自用插件分享

文章目录 一篇一句前言前端vuegitphpunity后端其他待续完结 一篇一句 “思考是最困难的工作&#xff0c;这也许是为什么很少有人这样做。” - 亨利福特&#xff08;Henry Ford&#xff09; 前言 无论是什么语言&#xff0c;我都会选择使用vscode进行开发&#xff0c;我愿称v…...

【企业级SpringBoot单体项目模板 】—— 项目代码管理

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;SpringBoot项目模版、企业级、模版、代码管理☀️每日 一言&#xff1a;生命力顽强的种子&#xff0c;从不对瘠土唱诅咒的歌。 文章目录 一、第一种&#xff1a;先创建仓库1.1 创建仓库1.2 clone…...

Python读取Excel文件中指定的列数并生成CSV文件

0x00 安装Pandas和OpenPyXL pip install pandaspip install openpyxl0x01 Encoding import os import pandas as pd import openpyxl from openpyxl import load_workbook import csvdef write_dict_to_csv(dict_data, fileName):df pd.DataFrame.from_dict(dict_data)# 将D…...

MySQl有哪些索引(种类)?索引特点?为什么要使用索引?

普通索引&#xff1a;仅加速查询唯一索引&#xff1a;加速查询 列值唯一&#xff08;可以有null&#xff09;主键索引&#xff1a;加速查询 列值唯一&#xff08;不可以有null&#xff09; 表中只有一个组合索引&#xff1a;多列值组成一个索引&#xff0c;专门用于组合搜索&…...

49数码论坛系统设计与实现

大家好✌&#xff01;我是CZ淡陌。一名专注以理论为基础实战为主的技术博主&#xff0c;将再这里为大家分享优质的实战项目&#xff0c;本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目&#xff0c;希望你能有所收获&#xff0c;少走一些弯路…...

蓝桥杯每日一题2023.10.19

题目描述 完全二叉树的权值 - 蓝桥云课 (lanqiao.cn) 题目分析 我们以每一个节点的坐标来将这一深度的权值之和相加从而算出权值和 要清楚每一个深度的其实节点和末尾节点&#xff0c;使用双指针将这个深度节点的权值和计算出来&#xff0c;记录所 需要的深度即可 #includ…...

NIO IN:技术蔚来的首次「大阅兵」

宝山&#xff0c;上海第一钢铁厂旧址。 上周&#xff0c;蔚来在这里点亮金色炉台&#xff0c;2500 立方米高炉&#xff0c;浓重的工业气质与古典凝重的光影交织&#xff0c;蔚来 NIO IN 用科技的进步呼应那个火红的年代。 这是蔚来第一次开科技发布会&#xff0c;为了全方位展…...

Pearcleaner:让Mac告别应用残留,轻松释放30%存储空间

Pearcleaner&#xff1a;让Mac告别应用残留&#xff0c;轻松释放30%存储空间 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾经在Mac上删除应用后&a…...

星穹铁道抽卡数据分析终极指南:免费解锁您的完整抽卡历史

星穹铁道抽卡数据分析终极指南&#xff1a;免费解锁您的完整抽卡历史 【免费下载链接】star-rail-warp-export Honkai: Star Rail Warp History Exporter 项目地址: https://gitcode.com/gh_mirrors/st/star-rail-warp-export 还在为记不清自己抽了多少次卡而烦恼吗&…...

如何用Stream-Translator实现直播实时翻译?完整部署指南

如何用Stream-Translator实现直播实时翻译&#xff1f;完整部署指南 【免费下载链接】stream-translator 项目地址: https://gitcode.com/gh_mirrors/st/stream-translator Stream-Translator是一款专为开发者设计的实时音频翻译工具&#xff0c;能够高效处理直播流中的…...

零成本打造专业4K播放器:创维E900V22C电视盒子终极改造指南

零成本打造专业4K播放器&#xff1a;创维E900V22C电视盒子终极改造指南 【免费下载链接】e900v22c-CoreELEC Build CoreELEC for Skyworth e900v22c 项目地址: https://gitcode.com/gh_mirrors/e9/e900v22c-CoreELEC 想将闲置的创维E900V22C电视盒子变身为强大的4K媒体播…...

嵌入式系统ACPI电源管理技术解析与实践

1. 嵌入式系统电源管理概述在嵌入式系统设计中&#xff0c;电源管理始终是一个关键挑战。随着Intel架构在嵌入式领域的广泛应用&#xff0c;从工业控制设备到便携式医疗仪器&#xff0c;再到智能交通系统&#xff0c;对能效的要求越来越高。我曾参与过一个基于Intel Atom处理器…...

3步立即掌握Ryujinx:如何快速解决Switch游戏在PC上卡顿的难题?

3步立即掌握Ryujinx&#xff1a;如何快速解决Switch游戏在PC上卡顿的难题&#xff1f; 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上畅玩《塞尔达传说&#xff1a;王国之泪…...

E7Helper:第七史诗自动化脚本工具完整使用指南

E7Helper&#xff1a;第七史诗自动化脚本工具完整使用指南 【免费下载链接】e7Helper 【Epic Seven Auto Bot】第七史诗多功能覆盖脚本(刷书签&#x1f343;&#xff0c;挂讨伐、后记、祭坛✌️&#xff0c;挂JJC等&#x1f4db;&#xff0c;多服务器支持&#x1f4fa;&#xf…...

如何构建企业级LLM评估体系:DeepEval框架的5大实战策略

如何构建企业级LLM评估体系&#xff1a;DeepEval框架的5大实战策略 【免费下载链接】deepeval The LLM Evaluation Framework 项目地址: https://gitcode.com/GitHub_Trending/de/deepeval 在LLM应用开发中&#xff0c;准确评估模型性能是确保生产可靠性的关键挑战。Dee…...

矩阵分解在机器学习中的应用与实现技巧

1. 矩阵分解的本质与机器学习价值矩阵分解就像把一个复杂的乐高模型拆解成基础积木块的过程。在机器学习领域&#xff0c;这种技术通过将高维数据矩阵分解为低维表示&#xff0c;揭示了数据背后的潜在结构。我第一次接触矩阵分解是在推荐系统项目中&#xff0c;当时面对数百万用…...

LSTM时序预测:原理、特征工程与工程实践

1. 时序预测中的LSTM特性解析长短期记忆网络&#xff08;LSTM&#xff09;作为循环神经网络的特殊变体&#xff0c;在时序预测领域展现出独特优势。与传统RNN相比&#xff0c;LSTM通过精心设计的门控机制&#xff0c;有效解决了长期依赖问题。我在多个工业级预测项目中验证发现…...