sql

来源:互联网 发布:js获取元素高度 编辑:程序博客网 时间:2024/06/06 20:53

范围运算符

范围运算符 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;

原创粉丝点击