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

SQL 模糊查询 + NULL 空值。LIKE 通配符 % 和_、IS NULL

前言学会精准条件查询后工作中又会遇到新难题需要按关键词模糊搜索比如搜姓张、名字带 “明” 的用户不会写LIKE分不清%和_两个通配符到底有什么区别经常用错数据表有空值 NULL用普通查不到数据统计总是少一部分分不清NULL 空值和空字符串 筛选结果一直出错面试常考模糊查询原理、通配符含义、NULL 为什么不能用等于判断。本篇专门攻克LIKE 模糊查询、两大通配符、空值 IS NULL 判断大白话讲解 完整案例 避坑指南学完搞定所有模糊搜索和空值筛选场景。知识点一、什么是 LIKE 模糊查询LIKE专门用于字符串模糊匹配搭配通配符使用放在 WHERE 后面。 适用场景搜索姓名、昵称、地址、商品名称、备注含某个关键字。 语法格式sqlSELECT 字段列表 FROM 表名 WHERE 字段 LIKE 匹配规则;二、两大核心通配符% 百分号代表任意 0 个或多个字符可以匹配任意长度内容。_ 下划线代表任意 1 个字符只能匹配单个字符占位。三、LIKE 四种常用匹配场景张%以张开头%明以明结尾%华%中间包含华字李_李后面跟任意一个字四、空值核心知识点NULL未赋值、未知空值 空字符串有值只是内容为空绝对不能用 NULL、! NULL空值专用判断IS NULL判断是否为空IS NOT NULL判断是否不为空通俗类比 实例表格通俗类比%像万能补丁能代替任意多字_像单个空位只能填一个字IS NULL就是空白没填写空字符串 是填了但写了个空。演示数据表user 用户表表格idnameagecityemail1张三25北京zsqq.com2张小凡22上海NULL3王五28广州wangqq.com4李六30北京5李明宇35深圳lmqq.comSQL 代码演示1. % 通配符实战sql-- 1. 以张开头 SELECT * FROM user WHERE name LIKE 张%; -- 2. 以宇结尾 SELECT * FROM user WHERE name LIKE %宇; -- 3. 名字包含 明 字 SELECT * FROM user WHERE name LIKE %明%;2. _ 下划线通配符实战sql-- 李开头总共两个字李X SELECT * FROM user WHERE name LIKE 李_;3. 空值 NULL 查询sql-- 查询email为NULL的用户 SELECT * FROM user WHERE email IS NULL; -- 查询email不为NULL的用户 SELECT * FROM user WHERE email IS NOT NULL;4. 空字符串 查询sql-- 查询是空字符串的要用 SELECT * FROM user WHERE email ;易错 / 避坑点❌ 混淆 % 和 _ ✅ % 匹配任意多个字符_ 只匹配单个字符。❌ 模糊查询不加单引号 ✅ 字符串模糊匹配规则必须加单引号。❌ 用WHERE email NULL查空值 ✅ 永远无效必须用IS NULL。❌ 把 NULL 和 空字符串 当成一样 ✅ NULL 是未赋值 是有值为空统计、筛选结果完全不同。❌ 大表随意用前后模糊%关键词%✅ 会索引失效查询变慢生产尽量避免首尾都加 %。核心小结LIKE实现字符串模糊查询搭配 % 和 _ 两个通配符%匹配任意多个字符_只匹配单个字符四种常用模糊开头匹配、结尾匹配、包含匹配、固定长度匹配NULL 空值只能用IS NULL / IS NOT NULL判断空字符串 用 判断和 NULL 不是一回事大表尽量少用%关键词%全模糊容易造成索引失效、慢查询。思考题思考题 1LIKE 王_和LIKE 王%有什么区别答案LIKE 王_匹配王后面刚好 1 个字符LIKE 王%匹配王后面任意 0 个或多个字符。思考题 2查出名字中包含 “六” 字的所有用户写出 SQL。答案sqlSELECT * FROM user WHERE name LIKE %六%;思考题 3查询 email 为空值 NULL 的用户正确写法是什么答案sqlSELECT * FROM user WHERE email IS NULL;
http://www.zskr.cn/news/1349342.html

相关文章:

  • 三国杀卡牌DIY终极指南:5分钟打造你的专属武将
  • 数据库锁机制:表锁、行锁(Oracle 默认)、共享锁、排他锁、乐观锁、悲观锁、死锁、Hive 中的锁
  • TDengine Tag 设计哲学与 Schema 变更机制
  • 2026福州黄金回收新手指南排名:添价收黄金奢侈品回收中心是小白首选,六家平台友好度大比拼 - 薛定谔的梨花猫
  • 这 3 年做教育相关项目,我把一些经验整理成了一个开源 Agent Skills 项目
  • 小程序怎么制作工具?与其盲目找开发,不如先分清自己要哪一种
  • 互联网新手建站哪家好?新手第一次做网站,先别急着选品牌
  • 初创团队如何利用Taotoken以最小成本启动AI功能开发
  • 二道江区黄金回收白银回收铂金回收店铺哪家好 靠谱门店推荐 - 莘州文化
  • 随县黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化
  • DeepSeek事件驱动架构踩坑实录:Saga模式下分布式事务最终一致性丢失的3种隐性场景(含补偿日志自动修复工具)
  • Ender-3固件配置终极指南:从新手到高手的完整教程
  • Taotoken 多模型聚合能力如何赋能智能客服场景的快速迭代
  • # 2026年热门高精度三维扫描仪品牌盘点:工业级扫描仪全解析 - 科技焦点
  • 用AI写的论文,查重率一般是多少?哪些工具能把重复率和AI率都压到20%以下?
  • 华硕笔记本性能调优神器:G-Helper 轻量级控制工具完全指南
  • 5分钟掌握:Android OTA镜像终极提取指南
  • 龙圩区黄金回收白银回收铂金回收店铺哪家好 靠谱门店推荐 - 莘州文化
  • (CVPR2026)Parameter-Efficient Semantic Augmentation forEnhancing Open-Vocabulary Object Detection
  • 孝南区黄金回收白银回收铂金回收店铺哪家好 靠谱门店推荐 - 莘州文化
  • 和龙市黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化
  • DeepStream9.0 service-maker
  • 龙州县黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化
  • 百考通智能降重——为原创保驾护航 ��️
  • yolo26 语义分割特征融合:全网首发--使用 ERM 模块改进 Neck 多尺度特征融合能力 ✨
  • 隆安县黄金回收店铺哪家好 靠谱门店推荐及联系方式 - 莘州文化
  • 告别vcvars.bat!在VS2022中创建一键配置编译环境的快捷方式(支持所有终端)
  • taotoken 的 openai 兼容协议让模型切换几乎无需修改代码
  • 数据迁移避坑指南:从Oracle到国产数据库的兼容性问题
  • DeepSeek私有化不是“装完就跑”!——2024Q3最新《私有化SLA保障协议》核心条款拆解(含RTO<3min、模型热切换等6项硬指标)