oracle any 语法,Oracle Any/Some
oracle函数 的 Oracle Any/Some
在本教程中,您将学习如何使用Oracle ANY运算符将值与列表或子查询进行比较。
Oracle ANY运算符简介
Oracle ANY运算符用于将值与子查询返回的值或结果集列表进行比较。下面举例说明ANY运算符与列表或子查询一起使用时的语法:
operator ANY ( v1, v2, v3)
operator ANY ( subquery)
在这个语法中:
ANY运算符前面必须有一个运算符,例如:=,!=,>,>=,
列表或子查询必须用圆括号包围。
使用ANY运算符将值与列表进行比较时,Oracle将初始条件扩展到列表的所有元素,并使用OR运算符将它们组合,如下所示:
SELECT
*
FROM
table_name
WHERE
c > ANY (
v1,
v2,
v3
);
Oracle将上述查询转换为以下内容:
SELECT
*
FROM
table_name
WHERE
c > v1
OR c > v2
OR c > v3;
如果使用ANY运算符将一个值与子查询返回的结果集进行比较,则Oracle使用EXISTS运算符将查询转换为等效的查询,而不使用ANY运算符。 例如,以下语句返回列表价格大于类别编号:1中产品的任何标价的所有产品:
SELECT
product_name,
list_price
FROM
products
WHERE
list_price > ANY(
SELECT
list_price
FROM
products
WHERE
category_id = 1
)
ORDER BY
product_name;
由于查询与ANY运算符一起使用子查询,因此Oracle执行了单个转换,如下所示:
SELECT
product_name,
list_price
FROM
products p1
WHERE
EXISTS(
SELECT
list_price
FROM
products p2
WHERE
category_id = 1
AND p1.list_price > p2.list_price
)
ORDER BY
product_name;
请注意,如果子查询不返回任何行,则以下条件的计算结果为false:
operator ANY (subquery)
因此,整个查询不返回行:
SELECT
*
FROM
table_name
WHERE
col operator ANY(subquery);
在Oracle中,SOME和ANY的行为完全相同,因此它们完全可以互换。
Oracle ANY运算符的例子
如果子查询返回行或列表具有值,则以下语句适用于ANY运算符:
1. col = ANY ( list )
如果col在列表中匹配一个或多个值,则表达式的计算结果为true,例如:
SELECT
product_name,
list_price
FROM
products
WHERE
list_price = ANY(
2200,
2259.99,
2269.99
)
AND category_id = 1;
执行上面示例代码,得到以下结果 -
2. col != ANY(list)
如果列与列表中的一个或多个值不匹配,则表达式的计算结果为true。参考以下查询语句 -
SELECT
product_name,
list_price
FROM
products
WHERE
list_price != ANY(
2200,
2259.99,
2269.99
)
AND category_id = 1
ORDER BY
list_price DESC;
执行上面示例代码,得到以下结果 -
3. col > ANY (list)
如果col大于列表中的最小值,则表达式的计算结果为true。
SELECT
product_name,
list_price
FROM
products
WHERE
list_price > ANY(
2200,
2259.99,
2269.99
)
AND category_id = 1
ORDER BY
list_price DESC;
执行上面示例代码,得到以下结果 -
3. col >= ANY (list)
如果col大于或等于列表中的最小值,则表达式的计算结果为true。参考以下查询语句 -
SELECT
product_name,
list_price
FROM
products
WHERE
list_price >= ANY(
2200,
2259.99,
2269.99
)
AND category_id = 1
ORDER BY
list_price DESC;
执行上面示例代码,得到以下结果 -
5. col < ANY (list)
如果col小于列表中的最大值,则表达式的计算结果为true。
SELECT
product_name,
list_price
FROM
products
WHERE
list_price < ANY(
2200,
2259.99,
2269.99
)
AND category_id = 1
ORDER BY
list_price DESC;
执行上面示例代码,得到以下结果 -
6. col <= ANY (list)
如果col小于或等于列表中的最大值,则表达式的计算结果为true。
SELECT
product_name,
list_price
FROM
products
WHERE
list_price <= ANY(
2200,
2259.99,
2269.99
)
AND category_id = 1
ORDER BY
list_price DESC;
执行上面示例代码,得到以下结果 -
在本教程中,您已学习如何使用Oracle ANY运算符将值与列表或子查询进行比较。
oracle any 语法,Oracle Any/Some相关推荐
- Oracle+DML语法,Oracle DML
DML是"数据操纵语言"( Data Manipulation Language )的简写. 如果说SELECT语句对数据进行的是读操作,那么DML语句对数据进行的是写操作. DM ...
- oracle any 语法,Oracle:apos;= ANY()apos;与apos;IN()apos; Dovov编程网
IN- Equal to any member in the list ANY- Compare value to **each** value returned by the subquery AL ...
- Oracle存储过程语法
原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 ...
- oracle经典增删该查,oracle基本语法(增删改查
<oracle基本语法(增删改查>由会员分享,可在线阅读,更多相关<oracle基本语法(增删改查(7页珍藏版)>请在人人文库网上搜索. 1.安装 PL/SQL Develop ...
- oracle中触发器的语法,Oracle 触发器语法及实例
Oracle 触发器语法及实例 Oracle触发器语法(一) 一Oracle触发器语法 触发器是特定事件出现的时候,自动执行的代码块.类似于存储过程,触发器与存储过程的区别在于:存储过程是由用户或应用 ...
- Oracle基本语法查询语句
Oracle基本查询语法 本文含含: 基础/基本查询/排序/函数(单/多) 一.前言知识 1.oracle如何操作硬盘上的文件,最终都是以进程方式操作硬盘上的文件,最基本进程:读 写 ,还有其他客户端 ...
- Oracle存储过程语法学习
Oracle存储过程: 1.1 第一个存储过程 --创建存储过程 create or replace procedure proc1( p_para1 varchar2, p_para2 out va ...
- mysql 、oracle存储过程语法区别
mysql .oracle存储过程语法区别 1. 条件语句:mysql使用elseif关键字,oracle是elsif关键字: oracle: if表达式 then 表达式: elsif 表达式: ...
- sql和mysql和oracle的区别吗_sql和oracle的语法上有什么区别
sql和oracle语法上的区别有:1.数据类型不同:2.获得当前系统时间的函数不同:3.创建用户的方式不同:4.连接变量和字符串的方式不一样:5.条件语句"if-else-"的语 ...
最新文章
- “996 是福利,007 才是常态”?!千万程序员怒怼每日优鲜!
- Spark on k8s提交测试任务失败报错解决办法:User “system:serviceaccount:default:default“ cannot get resource “pods
- 4月数据库流行度排行出炉:MySQL 成事实王者
- nginx入门(4):FastCGI代理
- kratos的返回值问题与错误返回问题
- Construct Maximum Binary Tree
- 从开源爱好者到 Apache 董事,他花了 11 年
- C++中Set的使用
- 芯故事 心感动:英特尔企业文化的力量
- dns遭到劫持_关于网站pr劫持的问题,PR劫持是如何实现的呢?
- iPhone苹果手机iOS14更新升级到iOS15需要多久?
- STM32开发,使用IAR软件建立工程
- 图像分割论文 “RANet : Region Attention Network for Semantic Segmentation”
- 去商场淘打折商品时,计算打折以后的价钱是件颇费脑子的事情。例如原价 ¥988,标明打 7 折,则折扣价应该是 ¥988 x 70% = ¥691.60。本题就请你写个程序替客户计算折扣价。
- 基础知识--pcre
- 史上最全4S店维修潜规则 看完绝不被坑
- win10管理员已阻止你运行此应用解决方法
- PyCharm谷歌翻译插件Translation提示:更新 TKK 失败,请检查网络连接
- alpha因子常见问题_多因子模型是否真的可以带来阿尔法(alpha)?
- FC6安装配置详细介绍
热门文章
- openoffice使用总结001---版本匹配问题unknown document format for file: E:\apache-tomcat-8.5.23\webapps\ZcnsDms\
- C#.NET验证码智能识别学习笔记---06 解决java jre问题:JTessBoxEditor.jar打开的时报找不到或无法加载主类 com.sun.tools.javac.Main错误
- VC助手使用问题————all instance of the license* are in use .VA will be disabled
- 双模sa_七句话讲清NSA单模与SA+NSA双模手机的真实区别
- vs code c语言json文件配置,解析VScode在Windows环境下c_cpp_properties.json文件配置问题(推荐)...
- 使用php 发送邮件,使用PHPMailer实现邮件发送代码分享
- ios kvo 要引入_iOS KVO 实现原理 和 自己实现KVO
- SSH三大框架的概述
- Android监听作用,Android开发之CheckBox的简单使用与监听功能示例
- c#arcgis engine开发_湖南web开发学习网站要多久