常用的查询条件:
查询条件 | 谓词 |
---|---|
比较 | =,>,<,>=,<=,!=,<>,!>,!<, 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;