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

mysql-条件查询案例

目录

案例要求:

DQL - 条件查询

实现思路:

代码:

总结:


案例要求:

DQL - 条件查询

  1. 语法
    SELECT 字段列表 FROM 表名 WHERE 条件列表 ;

  2. 条件

比较运算符功能
>大于
>=大于等于
<小于
<=小于等于
=等于
<> 或!=不等于
BETWEEN ... AND ...在某个范围之内 (含最小、最大值)
IN(...)在 in 之后的列表中的值,多选一
LIKE 占位符模糊匹配 (_匹配单个字符,% 匹配任意个字符)
IS NULL是 NULL

逻辑运算符功能
AND 或 &&并且 (多个条件同时成立)
OR 或 ||或者 (多个条件任意一个成立)
NOT 或!非,不是

-- 条件查询
-- 1. 查询年龄等于 88 的员工-- 2. 查询年龄小于 20 的员工信息-- 3. 查询年龄小于等于 20 的员工信息-- 4. 查询没有身份证好的员工信息-- 5. 查询有身份证号的员工信息-- 6. 查询年龄不等于 88 的员工信息-- 7. 查询年龄在15岁(包含) 到 20岁(包含)之间的员工信息-- 8. 查询性别为 女 且年龄小于 25岁的员工信息-- 9. 查询年龄等于18 或 20 或 40 的员工信息-- 10. 查询姓名为两个字的员工信息

实现思路:

《SQL条件查询语法详解与应用案例》 摘要:本文系统介绍了SQL中的DQL条件查询语法,通过10个典型案例详细解析了各种查询条件的应用场景。内容涵盖比较运算符(&gt;、&lt;、=等)、范围查询(BETWEEN)、空值判断(IS NULL)、逻辑运算(AND/OR)和模糊匹配(LIKE)等核心语法。每个案例均配有完整SQL语句和业务场景说明,如查询特定年龄用户、筛选实名认证用户、组合条件查询等。这些示例既展示了基础语法规则,又体现了实际业务中的查询逻辑构建方法,是掌握SQL数据筛选技能的实用指南。

代码:

-- SELECT * FROM tb_user WHERE age=88


--  SELECT * FROM tb_user WHERE age<20

-- SELECT * FROM tb_user WHERE age<=20

-- SELECT * FROM tb_user WHERE id_card  is null

-- SELECT * FROM tb_user WHERE id_card is not null

-- SELECT * FROM tb_user WHERE  age!=88

-- SELECT * FROM tb_user WHERE  age BETWEEN 18 AND 20

-- SELECT * FROM tb_user WHERE  age< 25 AND sex='女'

-- SELECT * FROM tb_user WHERE  age IN (18,20,40)

-- SELECT * FROM tb_user WHERE  name LIKE '__'

以下是对这 10 条 SQL 查询语句的详细解释,结合 SQL 语法规则和实际业务场景说明其功能和执行逻辑:

1. SELECT * FROM tb_user WHERE age = 88

  • 功能:从tb_user表中查询所有年龄(age字段)等于 88 岁的用户记录。

  • 细节SELECT *表示查询所有字段(如 id、name、age 等);WHERE age = 88是条件过滤,仅保留age字段值严格等于 88 的行。若表中没有年龄为 88 的用户,查询结果将为空。适用于精准筛选特定年龄的用户,例如查找公司中年龄为 88 岁的员工(实际业务中该年龄可能为测试数据)。

2. SELECT * FROM tb_user WHERE age < 20

  • 功能:查询tb_user表中所有年龄小于 20 岁的用户记录。

  • 细节<是比较运算符,用于筛选age字段值小于 20 的行。例如,在用户表中筛选未成年人(假设 18 岁成年),或符合 “青年用户” 定义的群体。若表中所有用户年龄均≥20,结果将为空。

3. SELECT * FROM tb_user WHERE age <= 20

  • 功能:查询tb_user表中所有年龄小于或等于 20 岁的用户记录。

  • 细节<=是 “小于等于” 运算符,与第 2 条相比,除了年龄 < 20 的记录,还会包含年龄刚好为 20 岁的用户。例如,筛选 “20 岁及以下” 的用户群体,适用于需要包含边界值的场景(如活动参与年龄限制为 “不超过 20 岁”)。

4. SELECT * FROM tb_user WHERE id_card IS NULL

  • 功能:查询tb_user表中所有身份证号(id_card字段)为空值(未填写)的用户记录。

  • 细节:在 SQL 中,NULL表示 “字段值缺失或未知”,不能用= null判断,必须使用IS NULL。该语句常用于排查数据完整性问题,例如找出未完善身份证信息的用户,以便提醒其补充资料(如电商平台中未实名认证的用户)。

5. SELECT * FROM tb_user WHERE id_card IS NOT NULL

  • 功能:查询tb_user表中所有身份证号(id_card字段)不为空值(已填写)的用户记录。

  • 细节IS NOT NULLIS NULL的反向判断,用于筛选已填写身份证信息的用户。例如,统计平台中完成实名认证的用户数量,或仅对已认证用户开放某些功能(如金融类应用的转账功能)。

6. SELECT * FROM tb_user WHERE age != 88

  • 功能:查询tb_user表中所有年龄不等于 88 岁的用户记录。

  • 细节!=是 “不等于” 运算符(等价于<>),筛选出age字段值不是 88 的所有行。例如,在排除特定年龄(如 88 岁的测试账号)后,统计剩余用户的信息。若表中所有用户年龄均为 88,结果将为空。

7. SELECT * FROM tb_user WHERE age BETWEEN 18 AND 20

  • 功能:查询tb_user表中所有年龄在 18 到 20 岁之间(包含 18 和 20 岁)的用户记录。

  • 细节BETWEEN ... AND ...用于筛选字段值在指定范围内的行,包含左右边界值(等价于age >= 18 AND age <= 20)。例如,筛选 “18-20 岁” 的用户群体,适用于年龄区间统计(如校园活动的目标用户)。

8. SELECT * FROM tb_user WHERE age < 25 AND sex = '女'

  • 功能:查询tb_user表中所有年龄小于 25 岁且性别为女性的用户记录。

  • 细节AND是逻辑运算符,表示 “并且”,需同时满足两个条件:age < 25(年龄小于 25)和sex = '女'(性别为女)。例如,筛选 “25 岁以下的女性用户”,适用于针对性别和年龄的精准营销(如美妆产品的年轻女性用户)。

9. SELECT * FROM tb_user WHERE age IN (18, 20, 40)

  • 功能:查询tb_user表中所有年龄为 18 岁、20 岁或 40 岁的用户记录。

  • 细节IN(...)用于筛选字段值匹配列表中任意一个值的行,等价于age = 18 OR age = 20 OR age = 40。相比多个OR拼接,IN更简洁,适用于已知多个目标值的场景(如统计特定年龄用户的分布)。

10. SELECT * FROM tb_user WHERE name LIKE '__'

  • 功能:查询tb_user表中所有姓名(name字段)为两个字符的用户记录。

  • 细节LIKE是模糊匹配运算符,_是通配符,代表单个任意字符。__(两个下划线)表示匹配刚好包含两个字符的姓名(如 “张三”“李四”,但不匹配 “张三丰”“王”)。适用于按姓名长度筛选(如中文双字名用户),若需匹配多个字符,可使用%通配符(如%三匹配所有以 “三” 结尾的姓名)。

这些语句覆盖了 SQL 中常见的条件查询场景,包括精准匹配、范围筛选、空值判断、逻辑组合和模糊查询,是数据筛选和分析的基础操作。实际使用时需结合表结构和业务需求,确保字段名、运算符和条件逻辑正确。

总结:

《SQL条件查询语法详解与应用案例》 摘要:本文系统介绍了SQL中的DQL条件查询语法,通过10个典型案例详细解析了各种查询条件的应用场景。内容涵盖比较运算符(&gt;、&lt;、=等)、范围查询(BETWEEN)、空值判断(IS NULL)、逻辑运算(AND/OR)和模糊匹配(LIKE)等核心语法。每个案例均配有完整SQL语句和业务场景说明,如查询特定年龄用户、筛选实名认证用户、组合条件查询等。这些示例既展示了基础语法规则,又体现了实际业务中的查询逻辑构建方法,是掌握SQL数据筛选技能的实用指南。

http://www.dtcms.com/a/332721.html

相关文章:

  • zabbix部署问题后常见问题
  • Codeforces 无路可走
  • 分布式系统设计的容错机制
  • AI优质信息源汇总:含X账号,Newsletter,播客,App
  • 如何在 FastAPI 中玩转 APScheduler,让任务定时自动执行?
  • 上下文块嵌入(contextualized-chunk-embeddings)
  • collections:容器数据类型
  • C语言——深入理解指针(四)
  • 完整技术栈分享:基于Hadoop+Spark的在线教育投融资大数据可视化分析系统
  • 使用XXL-SSO实现登录认证以及权限管控
  • 解决 MySQL 查询速度缓慢的问题
  • Filebeat 轻量级日志采集实践:安装、配置、多行合并、JSON 解析与字段处理
  • Java集合Map与Stream流:Map实现类特点、遍历方式、Stream流操作及Collections工具类方法
  • 【软件设计模式】前置知识类图、七大原则(精简笔记版)
  • C++ 调试报错 常量中有换行符
  • 基于桥梁三维模型的无人机检测路径规划系统设计与实现
  • Cursor 分析 bug 记录
  • 3D视觉与空间智能
  • imx6ull-驱动开发篇25——Linux 中断上半部/下半部
  • 智谱开源了最新多模态模型,GLM-4.5V
  • 关系型数据库从入门到精通:MySQL 核心知识全解析
  • 高并发系统性能优化实战:实现5万并发与毫秒级响应
  • Kafka生产者——提高生产者吞吐量
  • LeetCode 面试经典 150_数组/字符串_最长公共前缀(20_14_C++_简单)(暴力破解)(求交集)
  • 简单使用 TypeScript 或 JavaScript 创建并发布 npm 插件
  • 从零到一:发布你的第一个 npm 开源库(2025 终极指南)
  • IT资讯 | VMware ESXi高危漏洞影响国内服务器
  • Day62--图论--97. 小明逛公园(卡码网),127. 骑士的攻击(卡码网)
  • 嵌入式 C 语言编程规范个人学习笔记,参考华为《C 语言编程规范》
  • 使用CMAKE-GU生成Visual Studio项目