范围运算符
范围运算符 BETWEEN、NOT BETWEEN查询值在范围内
列表运算符 IN、NOT IN查询值属于列表值之一
SELECT * FROM Tb_Student
WHERE Age BETWEEN 20 TO 22
---------------------------------------------------------------------------------------
SELECT * FROM Tb_Student
WHERE Age NOT BETWEEN 20 TO 22
---------------------------------------------------------------------------------------
SELECT * FROM Tb_Student
WHERE Age IN (20,21,22)
---------------------------------------------------------------------------------------
相当于
SELECT * FROM Tb_Student
WHERE Age=20 OR Age=21 OR Age=22
通配符
通配符 说明示例
% 匹配零个或多个字符的任意字符串。LIKE '%林%'
姓名中包含有“林”的信息。
_
下划线 匹配任何单个字符。
一个汉字只使用一个"_"表示 LIKE '林_'
姓名第一个字为“林”并且名字只有两个字。
[ ] 匹配指定范围 ([a-f]) 或集合([abcdef]) 中的任何单个字符。LIKE '[张王]%'
姓张或姓王的信息。
[^] 匹配不属于指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符。LIKE '王[^林]%'
姓王且第二个字不是林的信息。
SELECT * FROM Tb_Student WHERE StuName LIKE '张%'
未知值条件
NULL表示未知的,不可用或将在以后添加的数据。NULL值与零、零长度的字符串的含义不同。
在WHERE子句中,使用IS NULL或IS NOT NULL条件可以查询某一数据值是否为NULL的数据信息。
例如:
SELECT * FROM Tb_Course WHERE CourseName IS NULL
SELECT * FROM Tb_Grade WHERE RetestScore IS NOT NULL
order by的语句的应用
SELECT (列名)FROM(表) ORDER BY(列) desc
ORDER BY应该在SELECT的最后一条指定ORDER BY 不然语句会出现语句错误
WHERE 语句
WHERE 语句和ORDER BY 语句 应该让ORDER先
WHERE操作符:
解释!!!:图片中操作符并非支持所有的DBMS为了确定你的DBMS支持那些请参考阅读想关的手册
不匹配检查
{{
select novel_id
from novelcatalogue
where novel_id <>13 不匹配检查
select novel_id
from novelcatalogue
where novel_id !=13
用!= 还使用<>这个有的不支持!=
}}
范围检查匹配
{{
select novel_id from novelcatalogue where novel_id BETWEEN 11 AND 14
}}
检查空值
{{
select novel_id from novelcatalogue where novel_id IS NULL
}}
select novel_id
from novelcatalogue
where novel_id <=15
IN操作符:
select * from novelcatalogue where novel_id IN(13,14)ORDER BY novel_id
通用操作符:
前面讲的都是已经知道的值,下面讲解模糊查询
查询首字select * from novelcatalogue where title LIKE '文章%' ORDER BY novel_id
关键字like
首个和最后一个select * from novelcatalogue where title LIKE '文%空'
请注意!用函数取出空格
下环线 SELECT * FROM novelcatalogue where catalogue LIKE '_ei%';
不能处理数字
计算功有几行 select count(testtb1.id) from testtb1,testtb2 where testtb1.id=testtb2.depId limit 2;
SELECT CONCAT(novel_id,'(',ID,')') FROM novelcatalogue LIMIT 2;