SQL语法-where关键字的条件解析

在sql语言中有很多命令需要或者可以通过where关键字来筛选符合条件的数据

例如修改数据用到的命令——

update 表名 set 字段名1=值1, 字段名2=值2,...where 条件;

例如删除数据用到的命令——

delete from 表名 where 条件;

例如查询数据用到的命令——

select 字段名1, 字段名2... from 表名 where 条件;

本篇就来归纳一下where关键字之后的条件有哪些类型


条件的逻辑运算符

对于条件可以通过逻辑运算符连接(都是编程基础

  • and:并且,要求连接的条件同时成立,其等价符号是&&
  • or:或者,要求连接的条件任意一个成立,其等价符号是||
  • not:取反,对条件取相反结果,其等价符号是!


比较运算型

描述:用于筛选某字段在数值上满足的比较条件

特殊的,如果要判断某字段的数据为空,不能写成【where 字段名=NULL】而应写成【where 字段名 is NULL】,即在判断数据为空时应采用【is关键字而不是【=符号

符号描述命令样例
>大于select name from users where age>18;
>=大于等于select name from users where age>=18;
<小于select name from users where age<18;
<=小于等于select name from users where age<=18;
=等于select name from users where age=18;
!=不等于(等价符号<>)select name from users where age!=18;


 范围筛选型

描述:本质上和通过逻辑运算符连接的多个比较运算型条件是相同的

例如要写判断范围在[0, 60)的整数的条件,既可以使用条件【where number between 0 and 59】,也可以使用条件【where number >= 0 && number < 60】,但显然后者会比较灵活更容易控制范围

但是这个【in】关键字在筛选多个无规律条件值的情况下确实挺不错的


 模糊匹配型

描述:在需要查找数据是否含有指定字符时,通过模糊匹配能够很好完成工作

例如身份证号末尾是X的数据,可以使用模糊匹配条件【where idcard like "%X"

模糊匹配的关键字是【like

它有两个相关匹配符号,分别是【_】(下划线)和【%】(百分号)

一个下划线匹配一个字符,一个百分号匹配任意个字符

例如需要查询姓名为两个字符的数据,可以使用条件【where name like "__"】(用两个下划线匹配两个字符)

例如需要查询身份证号中含有511的数据,可以使用条件【where idcard like "%511%"】(%匹配任意个字符)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值