第六章 - 数据过滤where(where与and和or的组合用法)
第六章 - 数据过滤(where的用法)
- 基本用法
- where的条件限制符
- 等于号`=`
- 不等号`!=` 或者`<>`
- 小于`<`
- 大于`>`
- 小于等于`<=`
- 大于等于`>=`
- between 的用法
- 空值和非空值
- 组合条件 and
- 组合条件 or
- and 和 or 的计算次序
- in 和 not in
基本用法
- 在查询语句中,可以根据需要使用where语句来对指定搜索条件进行过滤,得到需要的数据,where语句在from语句之后使用。
# 查询售价大于600000的数据
selectSalePrice
fromtest.houseprices
whereSalePrice > 600000

where的条件限制符
等于号=
- 只查询
displayName字段内等于'Michael Carter'的数据
selectdisplayName,weight,nflId
fromnfl.players
where# 此处'Michael Carter'可以使用单引号' 或者双引号 " ,表示(str)字符串格式displayName = 'Michael Carter'

不等号!= 或者<>
- 查询性别不为’male‘的数据
select*
fromtest.titanic
where# 或者 sex <> 'male' 表示的意义是一样的sex != 'male'

小于<
- 查询年龄小于10岁的数据,比10小的数,不包含10
select*
fromtest.titanic
whereage < 10

大于>
- 查询年龄大于 岁的数据
select*
fromtest.titanic
whereage > 60

小于等于<=
- 查询小于等于6岁的用户数据,不大于6的数,包含6.
select
*
from
test.titanic
where
age <= 6
大于等于>=
- 查询小于等于60岁的用户数据,不小于60的数,包含60.
select*
fromtest.titanic
whereage >= 60

between 的用法
- 查询年龄在50到54岁之间的数据,between是包含50和54这两个值的。
select*
fromtest.titanic
whereage between 50 and 54

空值和非空值
- 一般数据库内空值的数据都用null来填充(也有用’-999‘),当用null来填充空值的时候,就可以直接使用此语句来筛选。(用其他数据值填充的可以直接用等于
=和不等于!=来筛选)
完整数据带有null。

- 筛选age为null的数据
select
*
from
test.test001
where
age is null

- 筛选age不是null 的数据
select*
fromtest.test001
whereage is not null

组合条件 and
- 进行多条件筛选时,可以使用and给where语句添加多个条件。
- and表示筛选条件要同时满足,也就是“和”的意思。
- 下面例子表示,查询同时满足 sex = male 和 age > 60 条件的数据。
select`name`,`sex`,`age`,`fare`
fromtest.titanic
wheresex = 'male' and age > 60

组合条件 or
- 进行多条件筛选时,也可以使用 or 给 where 语句添加多个条件
- or 表示满足其中一个即可,也就是“或”的意思。
- 下面例子和上面用同样的数据,只是把条件and变为or,数据量明显要多很多,因为只要满足sex=male或者age>60其中一个条件就可以,条件限制更宽松一些
select`name`,`sex`,`age`,`fare`
fromtest.titanic
wheresex = 'male' or age > 60

and 和 or 的计算次序
- 下面例子可以看到,我们想要的结果是要满足age=40或者age=60这两个条件,且满足fare>50,需要fare都大于50。但是输出结果后面的四行数据age=40都是fare是小于50的,和想要的结果不一样。
- 这是因为,and在计算次序中的优先级高于or,系统会先计算and然后再计算or。
select
`name`,
`sex`,
`age`,
`fare`
from
test.titanic
where
age = 40 or age = 60 and fare > 50

- 解决这种问题的方法:用括号来明确分组相应的操作符,因为括号的计算优先级要高于and和or
- 具体如下,执行时会优先计算括号内的条件,然后再计算括号外的条件
select`name`,`sex`,`age`,`fare`
fromtest.titanic
where(age = 40 or age = 60) and fare > 50

in 和 not in
- in用来指定条件范围,范围中的每个条件都可以进行匹配
- in的取值全部都再括号中,由逗号分隔,当取值为字符时,需要用引号(单/双引号 都可以)来表示字符,例如
('Jack','小明') - in与or条件的功能是相同的,用的代码更少且执行速度更快。
select`name`,`sex`,`age`,`fare`
fromtest.titanic
where# 表示 满足 age=50 或者 age=55,age in (50,55)

- not in 表示否定后面的条件,如上面例子把in 改为not in 就表示所有age不是50或者55的数据。
select`name`,`sex`,`age`,`fare`
fromtest.titanic
whereage not in (50,55)

相关文章:
第六章 - 数据过滤where(where与and和or的组合用法)
第六章 - 数据过滤(where的用法)基本用法where的条件限制符等于号不等号! 或者<>小于<大于>小于等于<大于等于>between 的用法空值和非空值组合条件 and组合条件 orand 和 or 的计算次序in 和 not in基本用法 在查询语句中࿰…...
Oracle 定时任务例子
背景: 创建一个Oracle的定时任务,每天或指定时间 -----定义存储过程 create or replace procedure AAA_BBB as begin insert into AAA select * from BBB; commit; end; ----------------创建定时任务 declare xjobid number; begin DBMS_JOB.SUBM…...
Android常用9种自动化测试框架对比,Appium有哪些优势?
随着移动终端的普及,手机应用越来越多,也越来越重要。 App的回归测试用例数量也越来越多,全量回归也越来越消耗时间。移动 APP自动化测试 的难点移动 APP的UI自动化测试长久以来一直是一个难点,难点在于UI的”变”, 变化导致自动化…...
在vue2使用百度脑图的kityminder-core进行二次开发思维导图,给节点绑定数据后添加新的图标
需求说明:在给某个节点绑定文件数据后,用户并不能一眼看出哪个节点上绑定了数据,因此需要在绑定文件数据后给节点上加一个图标用于标识。 添加图标 1、在kityminder-core/src/module/file.js文件中添加代码 (file.js文件如何添加…...
FPGA时序约束与分析 --- 时序约束概述
本系列参考文献 — FPGA时序与约束分析-吴厚航 FPGA从综合到实现需要的过程如下:synth_design -> opt_design -> place-design -> phys_opt_design -> route_design 1、时序约束的理解 2、时序约束的基本路径 3、时序约束的步骤 4、时序约束的主要方法…...
2022——寒假总结
文章目录背景报名摸索结果总结背景 大一上学期,刚上大学没有尽快适应,什么都没有学到。 因为疫情,所以平时的测试以及期末都是线上进行的,就没怎么认真学,网课直接划水。 我的生活与学习很不平衡,还热衷于参…...
C++11 Lambda表达式
文章首发公众号:iDoitnow 为什么引入Lambda Lambda表达式是一个可以内联在我们代码中的函数,我们可以将他传递给另外一个函数。在没有引入Lambda表达式之前,当我们遇到需要对多个数据,按照同一规则进行操作的时候,创建…...
冰湖灾害遥感监测评价与模拟分析
查看原文>>>mp.weixin.qq.com/s?__bizMzAxNzcxMzc5MQ&mid2247582638&idx1&sna22a1697b16a5edc2b74cb1ccf011689&chksm9be29cbeac9515a8227460103ae1b9f280af688eab0ce5a43448f9fa7c9cab820c389fcdc031&token10630879&langzh_CN#rd【专家简介…...
Highcharts.Chart
Highcharts 是一个使用javascript 脚本来生成图表的工具,和jfreechart 作用类似,都用来生成各种图表,并支持图片的导出和打印。 从官网 www.highcharts.com 上下载的压缩表中的example中有各种图表的例子。 要编写生成图表的例子建议从 文…...
遍历map的几种方法
#先往map加入几个数据 Map<Integer,String> mapnew HashMap<>(); map.put(1,"美好的周一"); map.put(2,"美好的周二"); map.put(3,"美好的周三"); 1 2 3 4 方法一:普通的foreach循环,…...
RocketMQ源码分析之Broker概述与同步消息发送原理与高可用设计及思考
1、Broker概述 Broker 在 RocketMQ 架构中的角色,就是存储消息,核心任务就是持久化消息,生产者发送消息给 Broker,消费者从 Broker 消费消息,其物理部署架构图如下: 备注:以上摘录自官方 RocketMQ 设计文档…...
K8s常见面试题总结
部分内容来自:k8s面试题大全(持续更新中) 目录 k8s常考面试题 1.1.什么是k8s? 1.2.简述Docker和Kubernetes的关系 1.3.k8s的组件有哪些,作用分别是什么? 1.4.简述kubelet的功能和作用 1.5.简述pod是…...
OpenFeign 自定义解码器Decoder 失效
问题描述 项目上开发了OpenFeign的自定义解码器,用来统一处理返回结果。 开发完后测试已经生效了,过两天后,这块代码没有变动的情况下,发现请求结果突然又不走自定义的解码器了。 代码如下 解码器 BaseResponseFeignDecoder …...
c++练习题8
1.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的 不能丢,它表示do-while语句的结束。 A)0 B)1 C);…...
Python循环语句代码详解:while、for、break
目录 1 while循环 1 while循环 循环语句是程序设计中常用的语句之一。任何编程语言都有while循环,Python也不例外。while循环的格式如下所示。 while(表达式): … else: … while循环的执行过程:当循环表达式为真时,依次执行whi…...
vue父子组件传值不能实时更新
最近做项目,遇到个大坑,这会爬出来了,写个总结,避免下次掉坑。 vue父子组件传值不能实时更新问题,父组件将值传给了子组件,但子组件显示的值还是原来的初始值,并没有实时更新,为什么…...
2023美赛A题思路数据代码分享
文章目录赛题思路2023年美国大学生数学建模竞赛选题&论文一、关于选题二、关于论文格式三、关于论文提交四、论文提交流程注意不要手滑美赛A题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片,加入获取一手资源 202…...
【蓝桥杯集训·每日一题】AcWing 3768. 字符串删减
文章目录一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解三、知识风暴双指针一、题目 1、原题链接 3768. 字符串删减 2、题目描述 给定一个由 n 个小写字母构成的字符串。 现在,需要删掉其中的一些字母,使得字符串中不…...
Python|每日一练|树|深度优先搜索|数组|二分查找|链表|双指针|单选记录:填充每个节点的下一个右侧节点指针|搜索插入位置|旋转链表
1、填充每个节点的下一个右侧节点指针(树,深度优先搜索) 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *rig…...
降雨量实时监测系统压电式雨量计
压电式雨量传感器由上盖、外壳和下盖组成,壳体内部有压电片和电路板,可以固定在外径50mm立柱上和气象站横杆上。传感器采用冲击测量原理对单个雨滴重量进行测算,进而计算降雨量。雨滴在降落过程中受到雨滴重量和空气阻力的作用,到…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
