orcale关键字的用法(个人总结)

1.exists(应用于条件)

EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False

EXISTS 指定一个子查询,检测 行 的存在。

NOT EXISTS 的作用与 EXISTS 正好相反。如果子查询没有返回行,则满足了 NOT EXISTS 中的 WHERE 子句。

例:select * from 表名 where exists(select null)  等同于: select * from 表名

2.case when then else end (应用于字段)

(1)用于将已知字段换做另一种表达形式

SELECT   CASE SEX  WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END  FROM STUDENT或   SELECT   CASE   WHEN   SEX='1' THEN '男'   WHEN SEX='2' THEN '女'  ELSE  '其他'  END  FROM STUDENT

 

 

(2)完成不同条件分组

SELECT SUM(population),

CASE country WHEN '中国' THEN '亚洲'

                       WHEN '印度' THEN '亚洲'

                       WHEN '日本' THEN '亚洲'

                       WHEN '美国' THEN '北美洲'

                      WHEN '加拿大' THEN '北美洲'

                      WHEN '墨西哥' THEN '北美洲'

                     ELSE '其他' END FROM Table_A GROUP BY

   CASE country WHEN '中国' THEN '亚洲'

                          WHEN '印度' THEN '亚洲'

                          WHEN '日本' THEN '亚洲'

                          WHEN '美国' THEN '北美洲'

                         WHEN '加拿大' THEN '北美洲'

                         WHEN '墨西哥' THEN '北美洲'

ELSE '其他' END;

(3)根据所定条件去更改数据

UPDATE PERSON  SET salary = salary * 1.2 WHERE salary >= 5000;(员工5000以上的涨百分之二十工资)

3.distinct

distinct跟在select后面,代表去除重复的,这个重复是整体重复的。 select 子句后面指定要查询的列 from 后面跟要查询的表 

4.dual

在Oracle数据库内有一种特殊的表Dual。Dual表是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select中。Dual表由Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2(1)类型,有一行值X。从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。

查询当前系统时间

select sysdate from dual

5.round

语法:

round(number,digits)

参数:

number,要四舍五入的数,digits是要小数点后保留的位数

如果 digits 大于 0,则四舍五入到指定的小数位。 

如果 digits 等于 0,则四舍五入到最接近的整数。 

如果 digits 小于 0,则在小数点左侧进行四舍五入。

如果round函数只有参数number,等同于digits 等于 0。

返回值:

四舍五入后的值

举例:

round(3.1415926,2)=3.14;

round(3.1415926,3)=3.142;

select round(193,-2)from dual; 200

select round(193,-1)from dual;190

select round(193,-3)from dual;0

 

6.NVL

返回值:

如果第一个参数 非空, 那么直接返回第一个参数, 忽略第二个参数。

如果第一个参数 是 空( IS NULL), 那么返回第二个参数。

7.WITH AS

使用WITH AS 提高性能嵌套

简单来说定义一张临时表来填充需求数据,在去查询一定条件的数据

with

A as

(

select CountryRegionCode from person.CountryRegion where Name like '李%'

)

select * from person.StateProvince where CountryRegionCode in (select * from A)

8.||

要添加字符靠近列名的那一边需要加||,并且要添加的字符串需要用单引号 
select ‘找到的id为:’||id||’ 找到的名字为’||last_name as Name from s_emp; 

9.upper(转大写)

select upper('daxie') from dual  ;输出结果DAXIE

10.initcap(首字母大写)

select  initcap(hELLO) from dual ;输出结果  HELLO

11.concat (字符串拼接)类似||

SELECT CONCAT ('SUPPER','MAN') FROM DUAL ;输出结果SUPPERMAN

12.substr(截取字符串)

select substr('hellworld',n,m) from dual 

从n字符开始截取后m位字符

13.length(获取字符串长度)

select length('helloworld') from dual:输出结果10

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值