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

【SQL教程|07】sql中条件查询where用法示例

SQL WHERE 条件查询教程

在SQL中,WHERE 条件用于在 SELECT 语句后过滤结果集,只返回符合条件的记录。它帮助我们从大量数据中提取所需的信息。以下是使用 WHERE 条件的逐步指南。


1. 基本语法

SELECT [字段] FROM [] WHERE [条件];
  • SELECT:指定要返回的字段。
  • FROM:指定数据来自的表。
  • WHERE:过滤符合条件的记录。

2. 示例数据

假设有一个 employees 表,包含以下列:

  • id(员工ID)
  • name(员工名字)
  • department(部门)
  • age(年龄)

数据如下:

CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,department VARCHAR(30) NOT NULL,age INT NOT NULL
);INSERT INTO employees (id, name, department, age)
VALUES (1, 'Alice', 'Marketing', 28),(2, 'Bob', 'Sales', 36),(3, 'Charlie', 'HR', 25),(4, 'Diana', 'IT', 30);

3. 常用 WHERE 条件类型

(1)等于(=)

筛选特定值的记录。

SELECT id, name FROM employees WHERE age = 28;

结果:返回年龄为28岁的员工。


(2)不等于(!= 或 <>)

筛选不等于特定值的记录。

SELECT id, name FROM employees WHERE age != 30;

结果:返回所有年龄不为30岁的员工.


(3)大于(>)、小于(<)

筛选大于或小于特定数值的记录。

-- 大于
SELECT id, name FROM employees WHERE age > 25;-- 小于
SELECT id, name FROM employees WHERE age < 35;

结果:分别返回年龄大于25岁和小于35岁的员工.


(4)大于等于(>=)、小于等于(<=)

筛选大于或等于、小于或等于特定数值的记录。

-- 大于等于
SELECT id, name FROM employees WHERE age >= 28;-- 小于等于
SELECT id, name FROM employees WHERE age <= 30;

结果:分别返回年龄大于等于28岁和小于等于30岁的员工.


(5)IN 条件

筛选记录包含在给定列表中的值。

SELECT id, name FROM employees WHERE department IN ('Sales', 'Marketing');

结果:返回部门为’Sales’或’Marketing’的员工.


(6)LIKE 条件

模式匹配,用于文本字段的筛选。

SELECT id, name FROM employees WHERE name LIKE '%Alice';

结果:返回名字包含’Alice’前缀的员工.


(7)BETWEEN 条件

在两个值之间过滤记录。

SELECT id, name FROM employees WHERE age BETWEEN 25 AND 30;

结果:返回年龄在25岁到30岁之间的员工.


4. WHERE 子句的位置

WHERE子句必须放置在 SELECTFROM 之间。以下是正确的语法结构:

SELECT [字段] FROM [] WHERE [条件];

如果 WHERE 条件不正确,SQL会返回空结果集。


5. 示例:完整的 SQL 查询

查询所有年龄大于25岁的员工
SELECT id, name FROM employees WHERE age > 25;

结果:返回所有年龄大于25岁的员工.


查询部门为 ‘Sales’ 或 ‘Marketing’ 的员工
SELECT id, name FROM employees WHERE department IN ('Sales', 'Marketing');

结果:返回部门是’Sales’或’Marketing’的员工.


查询名字包含 ‘John’ 的员工
SELECT id, name FROM employees WHERE name LIKE '%John%';

注意:LIKE 条件需要在数据库支持的编程语言中使用。


通过这些步骤和示例,你可以有效地使用 WHERE 条件在SQL中过滤数据。记住,WHERE 条件可以帮助你快速找到所需的数据!

http://www.lryc.cn/news/539473.html

相关文章:

  • 项目实战(13)-双频RFID语音播报阅读器
  • 基本控制环节的幅频和相频特性
  • vue3 ref和reactive的区别
  • Maven 构建报告与文档生成
  • 复制内容到软件内部,软件内部内容不刷新
  • C# 实现完善 Excel 不规则合并单元格数据导入
  • C#功能测试
  • C++17并行化加速STL算法——std::execution
  • 从sumsub获取用户图片
  • DeepSeek + Mermaid编辑器——常规绘图
  • ARM64 Trust Firmware [五 ]
  • Excel核心函数VLOOKUP全解析:从入门到精通
  • KTransformers如何通过内核级优化、多GPU并行策略和稀疏注意力等技术显著加速大语言模型的推理速度?
  • 审计级别未启用扩展模式导致查询 DBA_AUDIT_TRAIL 时 SQL_TEXT 列为空
  • 微信小程序项目 video 组件失效问题,无法播放本地视频
  • 若依-@Excel新增注解numberFormat
  • 网络安全行业有哪些公司
  • 存储区域网络(SAN)管理
  • 如何使用Spark SQL进行复杂的数据查询和分析
  • sass报错:[sass] Undefined variable. @import升级@use语法注意事项
  • 使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)安装适配 Java 8 的 Maven
  • anythingllm服务器部署+ollama+deepseek+实现本地知识库问答
  • 深度学习04 数据增强、调整学习率
  • 2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第10套模块A:网络构建
  • 2023年河北省职业院校技能大赛网络系统管理赛项样题解法
  • vite+vue3开发uni-app时低版本浏览器不支持es6语法的问题排坑笔记
  • Linux系统编程基础详解
  • 钉钉应用开发
  • 打破限制!自定义 Hooks 如何提升 React 组件的灵活性
  • 使用arthas测试接口响应时间