博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL where子句及查询条件语句(六)
阅读量:3886 次
发布时间:2019-05-23

本文共 2262 字,大约阅读时间需要 7 分钟。

WHERE 子句用于提取那些满足指定条件的记录。

下面的运算符可以在 WHERE 子句中使用:

SELECT column_name1,column_name2 FROM table_name WHERE column_name operator value;
运算符 描述
= 等于
<>或!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
between and 在某个范围内
LIKE 模糊查询,匹配相似值
IN 指定针对某个列的多个可能值
exists 指定子查询以测试行的存在
and 逻辑与 同时满足两个条件的值
or 逻辑或 满足其中一个条件的值
not 逻辑非 满足不包含该条件的值
is null 空值判断

1、=/<>/>/</>=/<=运算符

=/<>/>/</>=/<= 运算符直接用于值得比较。这些值可以是数值、文本或者日期。以下是 =/<>/>/</>=/<= 运算符的语法:

select * from Person where name = 'Mike';//查询 name 为 MIke 的列select * from Person where name != 'Mike';//查询 name 不为 MIke 的列select * from Person where ID > 15;//查询 ID 大于 15 的列select * from Person where ID < 15;//查询 ID 小于 15 的列select * from Person where ID >= 15;//查询 ID 大于等于 15 的列select * from Person where ID <= 15;//查询 ID 小于等于 15 的列

2、between and

between and操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。以下是 between and 运算符的语法:

select * from Person where ID between 15 and 20;//查询 ID 在15和20之间的列

注意between包含边界问题:

在某些数据库中,BETWEEN 选取介于两个值之间但不包括两个测试值的字段。
在某些数据库中,BETWEEN 选取介于两个值之间且包括两个测试值的字段。(SQL Server/)
在某些数据库中,BETWEEN 选取介于两个值之间且包括第一个测试值但不包括最后一个测试值的字段

3、Like

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式,一般与相搭配。以下是 Like 运算符的语法:

select * from Person where name like 'Pe%';//查询 name 以 Pe 开头的列

4、IN

IN 操作符允许您在 WHERE 子句中规定多个值。以下是 IN 运算符的语法:

select * from Person where name in ('Peter' ,'Bob');//查询 name 为 Peter 或 Bob 的列

IN 与 = 的异同:

相同点:在WHERE中使用作为筛选条件之一、均是等于的含义,单个值时等同于 = 操作;
不同点:IN可以规定多个值,等于规定一个值;
转换:IN相当于多个=执行逻辑或运算;

6、exists

EXISTS运算符用于指定子查询以测试行的存在。 以下是 EXISTS 运算符的语法:

select * from Person where EXISTS (select * from Person where name='Peter');//查询 name 为 Peter 或 Bob 的列

in 与 exists 区别:

1、exists 强调的是是否返回结果集,exists引导的子句有结果集返回,那么exists这个条件就算成立了;
2、in引导的子句只能返回一个字段,而exists可以返回任意数量字段

7、and

and 运算符,逻辑与,用于同时满足两个及两个以上条件的记录进行筛选。 以下是 and 运算符的语法:

select * from Person where name='Mike' and ID > 15 and ID<30;//查找 name 为 Mike 且 ID 大于15小于30 的记录

8、or

or 运算符,逻辑或,用于满足一个或一个以上条件的记录进行筛选。 以下是 or 运算符的语法:

select * from Person where name='Mike' or ID = 15;//查找 name 为 Mike 或 ID 为 15 的记录

9、 is null

IS NULL 操作符用来判断值是否为NULL值。以下是 is null 运算符的语法:

select * from Person where address is null;//查找 address 为空的记录

10、not

not 操作符用于否定它之后所跟的任何条件。可以使用 NOT 操作符对 IN、BETWEEN、EXISTS子句进行取反。

select * from Person where address is not null;//查找 address 不为空的记录select * from Person where name not in ('jack','Mike');

转载地址:http://sushn.baihongyu.com/

你可能感兴趣的文章
信号量、互斥锁,读写锁和条件变量的区别
查看>>
UNIX网络编程——Posix共享内存区和System V共享内存区
查看>>
js循环语句
查看>>
js中时钟的写法
查看>>
js事件冒泡
查看>>
京东金融曹鹏:通过JDD大赛,实现“比你更懂你”的极致价值,让金融更简单,更平等
查看>>
HTML我的家乡杭州网页设计作业源码(div+css)~ HTML+CSS网页设计期末课程大作业 ~ web前端开发技术 ~ web课程设计网页规划与设计 ~HTML期末大作业
查看>>
HTML网页设计期末课程大作业~动漫樱桃小丸子5页表格div+css学生网页设计作业源码
查看>>
HTML学生网页设计作业成品~化妆品官方网站设计与实现(HTML+CSS+JS)共8个页面
查看>>
web课程设计网页规划与设计~在线阅读小说网页共6个页面(HTML+CSS+JavaScript+Bootstrap)
查看>>
HTML期末大作业~棋牌游戏静态网站(6个页面) HTML+CSS+JavaScript
查看>>
XmlValidationModeDetector源码分析
查看>>
解析 xml 为Document
查看>>
中国银行2013年校园招聘机试回忆录(综合部分专业题 考点)
查看>>
广发银行2013校园招聘笔试回忆录
查看>>
Android canvas rotate():平移旋转坐标系至任意原点任意角度-------附:android反三角函数小结...
查看>>
Matlab读取avi视频并播放 你必须要知道的
查看>>
word字体大小与公式编辑器字体对照表
查看>>
visio画图-----如何克服两箭头交叉变形 及 箭头自动重绘?
查看>>
Android开发:安装NDK,移植OpenCV2.3.1,JNI调用OpenCV全过程
查看>>