网站首页 > 技术文章 正文
在select语句中使用where子句可以实现对数据行的筛选操作,只有满足where子句中判断条件的行才会显示在结果中,而那些不满足where子句判断条件的行则不包括在结果集中。
语法格式如下:
select column_list
from table_name
where conditional_expression;
1.比较筛选
可以在 where 子句中使用比较运算符来筛选数据,这样只有满足条件的数据行才会被查询到,主要由下面6种情况:
a、A=B : 比较 A 与 B 是否相等
b、A!B 或 A <>B : 比较 A 与 B 是否不相等
c、A > B : 比较 A 是否大于 B
d、A < B :比较 A 是否小于 B
e、A >= B : 比较 A 是否大于或等于 B
f、A <= B : 比较 A 是否小于或等于 B
除了上面的6种,还有两个特殊的“比较筛选”操作
g、A { operator }ANY (B) :表示 A 与 B 中的任何一个元素进行operator 运算符的比较,只要有一个比较值为true,就返回数据行
h、A { operator } ALL (B):表示 A 与 B 中的所有元素都进行 operator 运算符的比较,只有与所有元素比较值都为 true,才返回数据行
下面看一个例子:
SQL> select empno,ename,sal from emp where sal <> all (3000,950,800);
表示从emp 表中使用 all 关键字过滤工资(sal) 同时不等于300、950和800的数据行。
2.使用特殊关键字筛选
特殊关键字主要有:like、in、between、is null来筛选。
2.1 like关键字
like关键字需要使用通配符在字符串内查找指定的模式。常用通配符有下划线"_",代表任意一个字符;百分号"%",代表任意数量的字符。
SQL> select empno,ename,job from emp where ename like 'S%';
2.2 in关键字
in关键字的格式是in(目标值1,目标值2,...),目标值的项目之间必须使用逗号分隔,并且括在括号中。
SQL> select empno,ename,job from emp where job in('PRESIDENT','MANAGER');
2.3 between关键字
需要返回某一个数据值是否位于两个给定的值之间,可以使用范围条件进行检索。
SQL> select empno,ename,sal from emp where sal between 1000 and 3000;
表示从emp 表中查询工资大于等于1000并且小于等于3000的数据行。
2.4 is null关键字
空值(NUll)从技术上来说就是位置的、不确定的值,但空值与空字符串不同,空值是不存在的值,而空字符串是长度为 0 的字符串。
空值代表的是未知的值,但是并不能用空值来互相比较,这点需要特别注意。
SQL> select address from student where address is null;
表示从 student 表中查询住址目前为空值的数据行。
3.逻辑筛选
使用逻辑运算符 AND、OR、NOT可以进行逻辑筛选,可以把多个筛选条件组合起来,这样便于获取更加准确的数据记录。
AND 表示两个表达式之间 “逻辑与” 的关系,需要满足多个两个或者多个表达式才能成立。
OR 表示两个表达式“逻辑或” 的关系,两个表达式中有一个为 true,则这个逻辑表达式的值就为 true。
NOT 表示对表达式执行“逻辑非” 的运算。
SQL> select empno,ename,sal from emp where sal >= 1000 and sal < 3000;
SQL> select empno,ename,sal from emp where sal >= 1000 or sal < 3000;
猜你喜欢
- 2024-10-27 Oracle检索数据——简单查询 oracle查询技巧
- 2024-10-27 Oracle查询扩展 oracle查询空间大小
- 2024-10-27 Oracle递归查询 oracle递归查询下级
- 2024-10-27 Oracle 分页查询与数据去重深入理解
你 发表评论:
欢迎- 633℃几个Oracle空值处理函数 oracle处理null值的函数
- 626℃Oracle分析函数之Lag和Lead()使用
- 614℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 608℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 606℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 599℃【数据统计分析】详解Oracle分组函数之CUBE
- 588℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 573℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- oracle 19cOCM认证有哪些内容(oracle认证ocm月薪)
- Oracle新出AI课程认证,转型要持续学习
- oracle 表的查询join顺序,可能会影响查询效率
- Oracle DatabaseAmazon Web Services正式可用,Oracle数据库上云更容易了
- Oracle 19.28 RU 升级最佳实践指南
- 汉得信息:发布EBS系统安装启用JWS的高效解决方案
- 如何主导设计一个亿级高并发系统架构-数据存储架构(三)
- Java 后端开发必看!工厂设计模式轻松拿捏
- ORA-00600 「25027」 「x」报错(抱错孩子电视剧 爸爸是武术 另一个爸爸是画家)
- 新项目终于用上了jdk24(jdk新建项目)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)