Oracle select 关键字 all_some_any

any检查条件左边的表达式是否存在于条件右边的任何行中
some 和any进行一样的比较,some是为了区分关键字any和英文中的any,现在any仍然是关键字其和some的功能一样。
all检查条件左边的表达式对于条件右边的结果组中的所有行是否是正确的。
使用的语法相同 expression relational_operator(<、>、=等条件) ALL|SOME|ANY sub-query| expression
例:SELECT * FROM SCOTT.EMP WHERE JOB !='SALESMAN' AND SAL>(SELECT (SAL+COMM) FROM SCOTT.EMP WHERE JOB='SALESMAN')
会返回一个错误说“一个单行查询返回多个结果”
SELECT * FROM SCOTT.EMP WHERE JOB !='SALESMAN' AND SAL>ANY(SELECT (SAL+COMM) FROM SCOTT.EMP WHERE JOB='SALESMAN')
这个sql的意思就是查询出非销售人员的工资大于销售人员工资加提成的人员
的结果是
1 7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
2 7566 JONES MANAGER 7839 1981-4-2 2975.00  20
3 7698 BLAKE MANAGER 7839 1981-5-1 2850.00  30
4 7782 CLARK MANAGER 7839 1981-6-9 2450.00  10
5 7788 SCOTT ANALYST 7566 1987-4-19 3000.00  20
6 7839 KING PRESIDENT 1981-11-17 5000.00  10
7 7902 FORD ANALYST 7566 1981-12-3 3000.00  20
也就是说any,some,all 可以用来和一个结果集来对比。

SELECT * FROM SCOTT.EMP WHERE JOB !='SALESMAN' AND SAL>all(SELECT (SAL+COMM) FROM SCOTT.EMP WHERE JOB='SALESMAN' )
这个sql的意思是确定比销售人员工资高的员工也就是说他的工资要大于所有的销售人员,而any是大于任何一个销售人员
结果是
1 7566 JONES MANAGER 7839 1981-4-2 2975.00  20
2 7698 BLAKE MANAGER 7839 1981-5-1 2850.00  30
3 7788 SCOTT ANALYST 7566 1987-4-19 3000.00  20
4 7839 KING PRESIDENT 1981-11-17 5000.00  10
5 7902 FORD ANALYST 7566 1981-12-3 3000.00  20

 

 

 

1.parseCnMoney(cnMoney) 将中文大写钱数转换为小写 字符串 cnMoney:中文大写钱数。
如:parseCnMoney(“壹万两仟叁佰陆拾伍元叁角伍分”),返回值为12365.35。
2.toCnMoney(money) 将钱数转换为中文大写 字符串 money:小写钱数。
如:toCnMoney(12365.35),返回值为壹万两仟叁佰陆拾伍元叁角伍分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值