常用的查询条件:
| 查询条件 | 谓词 |
|---|---|
| 比较 | =,>,<,>=,<=,!=,<>,!>,!<, NOT+上述运算符 |
| 确定范围 | BETEWEEN AND,NOT BETWEEN AND |
| 确定集合 | IN,NOT IN |
| 字符匹配 | LIKE,NOT LIKE |
| 空值 | IS NULL,IS NOU NULL |
| 多重条件 | AND,OR |
LIKE
在WHERE子句中使用LIKE运算符来搜索列中的指定模式。
通配符:
% 百分号表示零个,一个或多个字符
_ 下划线表示单个字符
举例:(截图自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;
本文深入解析SQL查询的多种高级技巧,包括谓词、比较、范围确定、集合确定、字符匹配、空值处理、多重条件组合等。通过具体示例,如使用LIKE进行字符串匹配、IN运算符简化多值查询、BETWEEN实现区间筛选和LIMIT限制结果数量,帮助读者掌握高效数据检索的方法。
1464

被折叠的 条评论
为什么被折叠?



