SQL Server 数据库设计--SELECT语句之二

2021-11-09 10:14:43 浏览数 (1)

JZGKCHINA

工控技术分享平台

在上一篇文章中介绍了SQL SERVER的SELECT语句的简单使用方法《SQL Server 数据库设计--SELECT语句》,这篇文章继续介绍其他常用的查询方法。

第一,查询结果中使用LIKE和通配符

上图中介绍了4中通配符的使用方法。下面以实际例子介绍

代码语言:javascript复制
'当在查询中使用中文时,有时会查询不到数据,实际记录中是有对应的记录的,一般是
'由于编码问题,可以在中文字符前面加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 选取介于两个值之间的数据范围。值可以是数值、文本或者日期。

代码语言:javascript复制
SELECT * FROM Result WHERE Result BETWEEN 50 AND 90
SELECT * FROM Result WHERE Result NOT BETWEEN 50 AND 90

(2)比较的使用,不等于有两种:<>, !=

代码语言:javascript复制
SELECT * FROM Result WHERE (Result > 50) AND (Result < 80)

(3)操作符 IN 允许在WHERE子句中规定多个值。也可以使用 NOT IN

代码语言:javascript复制
SELECT StudentName,phone, Address, IDENTITYcard
FROM Student WHERE StudentName IN (N'李雷',N'李莫愁')

(4)对查询结果排序(ASC:升序,DESC:降序)

代码语言:javascript复制
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 ”

代码语言:javascript复制
SELECT * FROM Student WHERE phone IS NULL --查询phone为空的记录
SELECT * FROM Student WHERE phone IS NOT NULL --查询phone不为空的记录

别走开,下一篇文章继续介绍更多高级查询功能。

姿势已摆好

就等你点啦

作者简介

剑控老罗

具有10年工业自动化领域SCADA,DCS,PLC等项目实施经验,熟悉石化行业,油田数字化行业,熟悉多个品牌PLC,HMI,SCADA,数据库等。

0 人点赞