在上一篇文章中介绍了SQL SERVER的SELECT语句的简单使用方法,这篇文章继续介绍其他常用的查询方法。
第一,查询结果中使用LIKE和通配符
上图中介绍了4中通配符的使用方法。下面以实际例子介绍
'当在查询中使用中文时,有时会查询不到数据,实际记录中是有对应的记录的,一般是 '由于编码问题,可以在中文字符前面加N,如: N‘李%’ '使用通配符%,查询StudentName中第一个字是李,后面任意多个或者一个字 SELECT StudentName, phone, Address, IDENTITYcard FROM Student WHERE StudentName LIKE ‘李%’ '使用通配符_,查询StudentName中第一个字是李,后面任意一个字 SELECT StudentName, phone, Address, IDENTITYcard FROM Student WHERE StudentName LIKE ‘李_’ '使用通配符[],查询StudentName中第一个字是张王李任意一个字符,后面任意多个字 SELECT StudentName, phone, Address, IDENTITYcard FROM Student WHERE StudentName LIKE ‘[张王李]%’ '使用通配符[^],查询StudentName中第一个字不在张王李任意一个字符 SELECT StudentName, phone, Address, IDENTITYcard FROM Student WHERE StudentName LIKE ‘[^张李]%’第二,查询中使用操作符
在上图中介绍了常用的操作符的含义。下面以实际例子介绍
(1)操作符 BETWEEN ... AND 选取介于两个值之间的数据范围。值可以是数值、文本或者日期。
SELECT * FROM Result WHERE Result BETWEEN 50 AND 90 SELECT * FROM Result WHERE Result NOT BETWEEN 50 AND 90(2)比较的使用,不等于有两种:<>, !=
SELECT * FROM Result WHERE (Result > 50) AND (Result < 80)(3)操作符 IN 允许在WHERE子句中规定多个值。也可以使用 NOT IN
SELECT StudentName,phone, Address, IDENTITYcard FROM Student WHERE StudentName IN (N'李雷',N'李莫愁')(4)对查询结果排序(ASC:升序,DESC:降序)
SELECT * FROM Result ORDER BY Result ASC --默认升序,不加ASC SELECT * FROM Result WHERE Result > 50 ORDER BY Result DESC SELECT * FROM Student ORDER BY [ID] ASC, [IDENTITYcard] DESC --多列排序(5)使用IS NULL 查询空值,不能使用” =NULL ”
SELECT * FROM Student WHERE phone IS NULL --查询phone为空的记录 SELECT * FROM Student WHERE phone IS NOT NULL --查询phone不为空的记录别走开,下一篇文章继续介绍更多高级查询功能。