【SQL】6 SQL WHERE 子句

SQL WHERE 子句 WHERE 子句用于过滤记录。 阅读详情

WHERE 子句用于过滤记录。


SQL WHERE 子句

WHERE 子句用于提取那些满足指定标准的记录。

SQL WHERE 语法

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

 


演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
+----+--------------+---------------------------+-------+---------+

 


WHERE 子句实例

下面的 SQL 语句从 "Websites" 表中选取国家为 "CN" 的所有网站:

实例

SELECT * FROM Websites WHERE country='CN';

执行输出结果:

 


文本字段 vs. 数值字段

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。

在上个实例中 'CN' 文本字段使用了单引号。

如果是数值字段,请不要使用引号。

实例

SELECT * FROM Websites WHERE id=1;

执行输出结果:

 


WHERE 子句中的运算符

下面的运算符可以在 WHERE 子句中使用:

运算符描述
=等于
<>不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
>大于
<小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式
IN指定针对某个列的多个可能值

 


  1. Where 子句

    搜索 empno 等于 7900 的数据:

    Select * from emp where empno=7900;

    Where +条件(筛选行)

    条件:列,比较运算符,值

    比较运算符包涵:= > < >= ,<=, !=,<> 表示(不等于)

    Select * from emp where ename='SMITH';

    例子中的 SMITH 用单引号引起来,表示是字符串,字符串要区分大小写。

    逻辑运算

    And:与 同时满足两个条件的值。

    Select * from emp where sal > 2000 and sal < 3000;

    查询 EMP 表中 SAL 列中大于 2000 小于 3000 的值。

    Or:或 满足其中一个条件的值

    Select * from emp where sal > 2000 or comm > 500;

    查询 emp 表中 SAL 大于 2000 或 COMM 大于500的值。

    Not:非 满足不包含该条件的值。

    select * from emp where not sal > 1500;

    查询EMP表中 sal 小于等于 1500 的值。

    逻辑运算的优先级:

    ()    not        and         or

     

    特殊条件

    1.空值判断: is null

    Select * from emp where comm is null;

    查询 emp 表中 comm 列中的空值。

    2.between and (在 之间的值)

    Select * from emp where sal between 1500 and 3000;

    查询 emp 表中 SAL 列中大于 1500 的小于 3000 的值。

    注意:大于等于 1500 且小于等于 3000, 1500 为下限,3000 为上限,下限在前,上限在后,查询的范围包涵有上下限的值。

    3.In

    Select * from emp where sal in (5000,3000,1500);

    查询 EMP 表 SAL 列中等于 5000,3000,1500 的值。

    4.like

    Like模糊查询

    Select * from emp where ename like 'M%';

    查询 EMP 表中 Ename 列中有 M 的值,M 为要查询内容中的模糊信息。

    •  % 表示多个字值,_ 下划线表示一个字符;
    •  M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
    •  %M% : 表示查询包含M的所有内容。
    •  %M_ : 表示查询以M在倒数第二位的所有内容。
    tin

       tin

      cxt***qq.com

    1年前 (2017-03-06)
  2.    张耘翡

      869***43@qq.com

    不带比较运算符的 WHERE 子句:

    WHERE子句并不一定带比较运算符,当不带运算符时,会执行一个隐式转换。当0时转化为 false,当其他值是转化为true。例如:

    SELECT studentNO FROM student WHERE 0

    则会返回一个空集,因为每一行记录WHERE都返回false。

    SELECT  studentNO  FROM student WHERE 1

    或者

    SELECT studentNO FROM student WHERE 'abc'

    都将返回student表所有行记录的studentNO列。因为每一行记录WHERE都返回true。

使用 SQL 语句中的 “WHERE“ 条件后写上 “1=“ 的含义与数据库运维相关 在这种情况下,“1=” 可以被视为一个简单的常量表达式,其中 “1” 代表一个非零的值,而 “=” 则表示相等关系。需要注意的是,对于大多数数据库管理系统来说,使用 “1=” 作为条件并不是必需的,因为大部分情况下可以直接使用具体的条件进行过滤。总结起来,“WHERE 1=” 是一种在 SQL 查询语句中常见的用法,它可以用于测试查询结构、占位或者与其他条件组合使用来实现灵活的数据过滤。在这种情况下,可以使用 “1=” 作为条件的起始点,并根据需要添加其他条件来构建完整的查询语句。 阅读详情

相关推荐

SQL查询:如何在where条件中使用子查询

子查询在 WHERE 条件中的使用能够极大地增强 SQL 查询的灵活性和表达能力,可以满足复杂查询需求。但是在使用子查询时,需要注意查询效率和结果集的大小,避免性能问题和不必要的复杂性。

sg_knight的专栏 3598

MySQL-数据库表数据查询基础(DISTINCT、WHERE)

SELECT 语句:SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。DISTINCT:在表中,一个列可能会包含多个重复值,DISTINCT 关键词用于返回唯一不同的值。SELECT DISTINCT column_name,column_name FROM table_name;WHERE:WHERE 子句用于提取那些满足指定标准的记录。SELECT column_...

star_in_shy的博客 1151

9、SQL 查询实用技巧与操作指南

本文详细介绍了SQL查询的实用技巧与操作指南,涵盖MySQL 5.6查询的保存与重新运行、查询结果排序、WHERE子句的多种使用方式(包括复合条件、范围匹配和通配符)、以及SQL内置函数(如SUM、AVG、COUNT等)的使用方法。同时,还讨论了SQL表达式的应用,包括算术运算和字符串连接,帮助开发者更高效地从数据库中提取有价值的信息。文章还强调了不同数据库管理系统(如Microsoft SQL Server、Oracle、MySQL和Microsoft Access)在语法和功能上的差异,并提供了解决方案

sand8的博客 63

mysql的where表达式

在学习过mysql的where 条件后,做个总结。(不对之处欢迎指正) 操作数据库的时候,有时候只要操作一些有条件限制的数据,这时可以在SQL语句中添加WHERE子句来规定数据操作的条件。 建立数据表table1: 1."=":等于,完全匹配条件。 例如:查找表中name为abc的数据,SELECT * FROM `table1` WHERE name = 'abc'; 运行结果

LingTing12116的博客 5031

保姆级教程:用VESTA软件5分钟搞定纳米颗粒Wulff Construction建模(以Au金为例)

本文提供了一份详细的VESTA软件教程,指导用户如何在5分钟内完成纳米颗粒Wulff Construction建模,特别以金(Au)为例。从环境搭建、基础晶体结构创建到Wulff Construction设置和可视化优化,涵盖了全流程操作步骤和常见问题解决方案,适合科研新手快速上手。

weixin_29311017的博客 436

鸿蒙读书笔记1:《鸿蒙操作系统设计原理与架构》

GUI、 语 音 控 制 方 式 的 VUI(Voice User Interface, 语 音 用 户 界。电话、多媒体、DFX、MSDP(Multimodal Sensor Data Platform,多。面)、手势/姿态控制的CVUI(Computer Vision User Interface,计算。KAL(Kernel Abstract Layer,内核抽象层)通过屏蔽多内核差异,JavaScript、C、C++等多语言的用户程序开发框架,以及UI框架、

jackyrongvip的专栏 2449

SQL语句进阶学习一(where、通配符、正则表达式、计算字段、数据处理函数、分组数据)

SQL语句进阶学习MYSQL的基本概念主键(primary key):其值能够区分表中的每一行sql(strutured query language)过滤数据where子句操作符1.检查单个值2.不匹配检查3.范围值检查4.or和and同时存在的情况注意事项:计算次序,当and和or同时在场时,先执行and的语句再执行or的语句5.in操作符两者的差别not语句通配符进行过滤百分号(%)通配符,...

codesweetpotato的博客 2017

机器学习---xgboost算法

问题上表现的十分顶尖,本节将较详细的介绍XGBoost的算法原理。成和剪枝分别对应了经验风险最小化和结构风险最小化, XGBoost的决策树生成是结构风险最小。式(1.1)称为经验风险最小化,训练得到的模型复杂度较高。出结果, 是模型的输出结果;等式右边第⼀部分是模型的训练误差,第⼆部分是正则化项,这里。其中,F是假设空间,假设空间是在已知属性和属性可能取值的情况下,对所有可能满足目标的情。最小化,结构风险最小化的模型往往对训练数据以及未知的测试数据都有较好的预测。的正则化项是K棵树的正则化项相加而来的。

weixin_43961909的博客 1万+

第6章 SQL WHERE 子句教程

WHERE 子句用于过滤记录。

573

CPRI原理及应用--帧结构

对于CPRI 控制字,协议将1个超帧(256基本帧)的控制数据划分为一个“子通道”,将子通道内超帧内的控制字进行行列划分,分为4列X64行,每64个基本帧组成1列。如下图所示。每个Xs子通道内Ns的定义基本相同,在做控制字设计时,主要已Xs和Ns和X.Y.Z开展控制字映射。

u014035968的博客 2325

DeepSeek-OCR又更新:一起看下OCR1和OCR2

DeepSeek-AI 最近又又开源了,这次是DeepSeek-OCR2,结合之前发布的DeepSeek-OCR ,可以发现DeepSeek走出了一条不同于主流 OCR 方案的技术路线。第一代模型探索了**“视觉作为文本压缩介质”的可行性,打破了传统的序列长度限制;第二代模型则通过“Visual Causal Flow(视觉因果流)”**架构,将因果推理引入视觉编码器,解决了复杂排版下的阅读顺序难题。本文将从架构设计、逻辑结构、训练范式及工程实现四个维度,深度剖析这两代模型的异同与创新。

kakaZhui的博客 623

零基础学习sql记录Part.6 WHERE子句、比较运算

WHERE子句、比较运算

luxiaoxiao_的博客 223

【ComfyUI】Flux + ControlNet 边缘搭配深度、瓷砖、姿态引导图生图

本文介绍了一个基于 Wan 2.1 的 ComfyUI 文生视频工作流,通过 UNet、CLIP 和 VAE 三个核心模型,将文本提示转化为动态视频。工作流包含模型加载、提示词解析、潜空间采样等7个环节,支持分辨率、帧数等参数设置,最终输出高质量视频文件。该方案适用于创意设计、教育培训和多媒体制作等场景,能快速生成符合语义的动态内容。文章还提供了相关开发资源和学习链接,适合AI视频生成领域的研究者和实践者参考。

Mr数据杨 1634

SQL Cookbook:一、检索记录(6)在WHERE子句中引用取别名的列

问题 前面已经使用了别名为查询提供更有意义的列名,而且也使用WHERE子句将一些数据排除掉,然而,我们还想在WHERE子句中引用别名。 select sal as salary, comm as commission from emp where salary < 5000 解决方案 将查询作为内联视图就可以就可以引用其中别名的列了: select *...

anranbing3284的博客 199

自定义View系列教程04--Draw源码分析及其实践

通过之前的详细分析,我们知道:在measure中测量了View的大小,在layout阶段确定了View的位置。 完成这两步之后就进入到了我们相对熟悉的draw阶段,在该阶段真正地开始对视图进行绘制。按照之前的惯例,我们来瞅瞅View中draw( )的源码 public void draw(Canvas canvas) { final int privateFlags = mPriv

谷哥的小弟 2万+

8.DJI-PSDK:一站式项目功能开发总结(空中气象站项目/激光甲烷检测项目)

本文将以一篇文章的幅度快速完成: 项目一:空中气象站项目; 项目二:激光甲烷项目; 项目所使用的PSDK来源于第0章节末尾的百度网盘;解压:Payload-SDK-3.8.zip代码所在目录:双击打开: 修改打印串口和相关波特率,我们修改如下: 进行相关编译选项配置如下: :

哒宰的博客 294

sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句

MYSQL本资料为产品岗位作为日常工作参考,语言口语化At 2019/4/26 By David.Yang如何使用限定条件来进行数据过滤?在前问当中,我们已经学会到了SELECT查询,在过程当中多次接触了WHERE这个关键词,打过预防针应该知道他就是用来做数据查询的过滤使用的。如果没有他,我们将获取所有有限行内的数据,这会给我们的查询结果带来麻烦,因为返回的结果集当中包含了我们不需要的很多数据。比...

weixin_39614521的博客 283

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Atitit sql查询语法 SQL SELECT完整语法 3 1.SELECT语法 3 2.FROM子句 5 3.WHERE子句 6 下面两张表将在后面使用到 7 1.比较运算符 7 2.逻辑

Atitit sql查询语法 SQL SELECT完整语法 3 1.SELECT语法 3 2.FROM子句 5 3.WHERE子句 6 下面两张表将在后面使用到 7 1.比较运算符 7 2.逻辑运算符 8 3.范围运算符BETWEENNOT BETWEEN 9 4.列表运算符IN关键字 9 5.字符匹配符LIKE或NOT LIKE 10 6.未知值IS NU...

attilax的专栏 385

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

es where_SQL基础知识——WHERE

SQL执行顺序按惯例先上SQL Server查询顺序,小括号()里面的数字代码数据库引擎在执行查询语句时候的先后顺序,从1开始:(8)SELECT (9)DISTINCT (11) (1)FROM [left_table](3) JOIN (2) ON (4)WHERE (5)GROUP BY (6)WITH (7)HAVING (10)ORDER BY WHERE 子句如需有条件地从表中选取数据...

weixin_39854730的博客 821

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SQL入门之第六讲——LIMIT子句

定义:LIMIT子句是用来限制返回记录的数量。 基本语法: SELECT <字段名> FROM <表名> LIMIT <限制行数>; 1. 取前几条记录 可以使用LIMIT n 的方式来取的前几条的记录 实例1:返回学生标中前2条记录 select * from students LIMIT 2 执行结果: 2. 跳过前几条记录 可以使用LIMIT x ,y 的方式来跳过结果集中前x条的记录后前y条记录 实例1:返回学生表中第7-9条记录 解析如下 :需要取

henry_rhy的博客 1558

sql中where和having的区别

用的地方不一样 where可以用于select、update、delete和insert into values(select * from table where ..)语句中。 having只能用于select语句中 执行的顺序不一样 where的搜索条件是在执行语句进行分组之前应用 having的搜索条件是在分组条件后执行的 即如果where和having一起用时,where会先执行,having后执行 子句有区别 where子句中的条件表达式...

北国有鱼的博客 300

where子句和having子句区别

where子句和having子句的区别:     1.where  不能放在group by后面     2.having   是跟group by连在一起用的,放在group by 后面,此时的作用相当于where     3.where  后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING可以。 一、where子句     where子句:where子句仅仅用于

XiaopinOo的博客 1万+

Having子句和Where子句

where 子句和having子句中的区别(此文章为借鉴的总结) 1.where 不能放在GROUP BY 后面 2.HAVING 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当于WHERE 3.WHERE 后面的条件中不能有聚集函数,比如SUM(),AVG()等,而HAVING 可以 一、聚合函数 说明前我们先了解下聚合函数:聚合函数有时候也叫统计函数...

胡振涛 1万+

6.2 WHERE子句

本专栏涵盖了SQL的基本概念、数据定义、数据操作、数据查询、数据优化以及在不同数据库系统中的SQL应用等多个方面。本专栏的内容基于SQL的通用概念和多个流行的数据库系统,如MySQL、PostgreSQL、SQL Server和Oracle。虽然不同的数据库系统可能会有细微的差别,但SQL的核心概念和语法是一致的。在这个数据驱动的时代,SQL作为最流行的数据库查询和编程语言之一,对于任何与数据打交道的专业人士来说都是一项必不可少的技能。子句时需要考虑索引的使用、条件的简化和数据类型的匹配。

Python老吕的博客 1775
上一篇: 【SQL】5 SQL SELECT DISTINCT 语句
下一篇: 【SQL】7 SQL AND &amp; OR 运算符
HelloZEX
博客等级 码龄11年 486粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值