SQL(2)(重点关注MySQL)

本文深入解析SQL查询的多种高级技巧,包括谓词、比较、范围确定、集合确定、字符匹配、空值处理、多重条件组合等。通过具体示例,如使用LIKE进行字符串匹配、IN运算符简化多值查询、BETWEEN实现区间筛选和LIMIT限制结果数量,帮助读者掌握高效数据检索的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常用的查询条件:

查询条件谓词
比较=,>,<,>=,<=,!=,<>,!>,!<, NOT+上述运算符
确定范围BETEWEEN AND,NOT BETWEEN AND
确定集合IN,NOT IN
字符匹配LIKE,NOT LIKE
空值IS NULL,IS NOU NULL
多重条件AND,OR

LIKE

在WHERE子句中使用LIKE运算符来搜索列中的指定模式。
通配符:
百分号表示零个,一个或多个字符
_ 下划线表示单个字符
举例:(截图自W3C)
来自W3C字符串匹配:在WHERE子句的<比较条件>中使用谓词[NOT] LIKE ‘匹配串’ [ESCAPE ‘ 换码字符’]。其中匹配串指定了匹配模板,匹配模板就是固定字符串或含通配符的字符串,当匹配模板为固定字符串时,可以用 =取代 LIKE ,用 != 或 < >取代 NOT LIKE 。
举例:
查询DB_Design课程的课程号和学分。

SELECT Cno,Ccredit  FROM SCourse     
WHERE Cname LIKE 'DB\_Design'  ESCAPE '\';

询以DB_开头、且倒数第3个字符为 i的课程的详细情况。

SELECT  *  FROM  SCourse  
WHERE  Cname LIKE  'DB\_%i__' ESCAPE  '\';

SELECT LIMIT

指定要返回的记录数量

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

IN

IN运算符使得在WHERE子句中能指定多个值,是多个OR条件的简写。

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...);
//或者
SELECT column_name(s)
FROM table_name
WHERE column_name IN (SELECT STATEMENT);

BETWEEN

BETWEEN运算符选择给定范围内的值,是包含性的:包括开始和结束值。值可以是数字,文本或日期。

ELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值