SQL 之 小技巧总结

一、如何查询一个字段数据中是否包含特定字符

eg:查看是否包含逗号(",")

sql 复制代码
SELECT *
FROM table_name
WHERE column_name LIKE '%,%';

这里,% 是通配符,表示任意数量的任意字符。'%,%' 表示查询column_name中包含逗号(",")的任何值。

二、如何查询SQL表中某个字段值不为固定值

eg:要查询SQL表中 test 字段值不为 - 的记录

1. <>

sql 复制代码
SELECT *
FROM your_table
WHERE test <> '-';

2. not

sql 复制代码
SELECT *
FROM your_table
WHERE NOT (test= '-');

3. 如果想确保 test 字段不仅不为 - ,而且也不为空(NULL),可以添加额外的条件检查:

sql 复制代码
SELECT *
FROM your_table
WHERE fin_asin <> '-'
  AND fin_asin IS NOT NULL;

三、利用 limit 和 offset 限制查询sql数据量过大或者实现分页查询的问题

sql 复制代码
SELECT *
FROM products
ORDER BY release_date DESC
LIMIT 20 OFFSET 40;

其中 limit 20 表示展示的数据量为 20条,offset 40 表示从第41条数据开始展示。

四、 使用 EXISTS 或 NOT EXISTS 检查子查询结果

sql 复制代码
SELECT orders.order_id, customers.customer_name
FROM orders
JOIN customers ON orders.customer_id = customers.customer_id
WHERE NOT EXISTS (
  SELECT 1
  FROM order_returns
  WHERE order_returns.order_id = orders.order_id
);

后续待补充。。。

相关推荐
.Shu.28 分钟前
Mysql InnoDB 底层架构设计、功能、原理、源码系列合集【四、事务引擎核心 - MVCC与锁机制】
数据库·mysql
多工坊34 分钟前
【DataGrip】连接达梦数据库后,能查询数据但是看不到表的几种情况分析,达梦数据库驱动包下载DmJdbcDriver18.jar
java·数据库·jar
何中应1 小时前
如何用Redis作为消息队列
数据库·redis·缓存
liulilittle2 小时前
.NET反射与IL反编译核心技术
开发语言·数据库·c#·.net·反射·反编译·il
老纪的技术唠嗑局2 小时前
向量数据库在 UGC 社区个性化推荐的落地指南
数据库
张鱼小丸子2 小时前
MySQL企业级部署与高可用实战
运维·数据库·mysql·云原生·高可用·mha·组从复制
GalaxyPokemon2 小时前
MYSQL的默认隔离级别都有什么
数据库·mysql
DONG9132 小时前
《三驾马车:MySQL、MongoDB、Redis对比与融合实战》
数据库·redis·sql·mysql·mongodb·database
程序边界3 小时前
从 Oracle 到 KingbaseES:企业信创改造的“抄作业”模板,直接套用!
数据库·oracle
funfan05173 小时前
奇怪的“bug”--数据库的“隐式转换”行为
数据库·bug