SQL基础——LIKE, BETWEEN, IN, NOT

LIKE, BETWEEN, IN和NOT都是SQL语句中用来匹配条件的关键字,它们能够帮助用户更方便地查找出需要的数据。


下面用实例展示如何使用这几个关键字来查询数据。

数据库表:

Player表:Id(PK),  Name, Number, Age


LIKE

LIKE一般和通配符一起使用。通配符有'%''_'两种,'%'用于匹配任意数量的字符,'_'用于匹配一个单一字符。

1. 查询Name以Michael开头的所有Player信息

SELECT * FROM Player WHERE Name LIKE 'Michael%';


2. 查询Name第一个球衣号码有两位,第二位是3的所有Player信息

SELECT * FROM Player WHERE Number LIKE '_3';


BETWEEN

BETWEEN关键字相当于使用<=和>=来查询某一范围内的数据。

查询年龄在25至30之间的所有Player信息

SELECT * FROM Player WHERE Age BETWEEN 25 AND 30;

等同于

SELECT * FROM Player WHERE Age >=25 AND Age<=30;


IN

IN后面跟一个集合可以代替多个OR相连的SQL语句。

查询Name为'Michael Jordan', 'Kobe Bryant', 'Allen Iverson'的Player信息

SELECT * FROM Player WHERE Name IN ('Michael Jordan','Kobe Bryant','Allen Iverson');

等同于

SELECT * FROM Player WHERE Name = 'Michael Jordan' OR Name = 'Kobe Bryant' OR Name = 'Allen Iverson';


NOT

NOT可以和前面的所有关键字一同使用表示否定。NOT一定要紧接在WHERE之后(NOT IN是个例外),当NOT和AND或OR一起使用时,一定要紧接在AND或OR之后。

1. 查询Name不是以'James'结尾的所有Player信息

SELECT * FROM Player WHERE NOT Name LIKE '%James';


2. 查询Age小于25和大于30的所有Player信息

SELECT * FROM Player WHERE NOT Age BETWEEN 25 AND 30;


3. 查询Name不是'Michael Jordan', 'Kobe Bryant', 'Allen Iverson'的Player信息

SELECT * FROM Player WHERE NOT Name IN ('Michael Jordan','Kobe Bryant','Allen Iverson');

or

SELECT * FROM Player WHERE Name NOT IN ('Michael Jordan','Kobe Bryant','Allen Iverson');


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值