当前位置: 首页 > 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;为了全方位展…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。

1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj&#xff0c;再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...