Oracle语句总结

1,开始之前先看张图

170102_jwKM_2008084.png

A表和B表是数据有重复部分的表,现在如果想获取A表中B表不存在的数据语句有两种:

①. 使用left join ;[假设俩张表中都有共同字段id]

select a.id,b.id from A a left join B b on a.id = b.id where b.id is null 

②. 使用not in ;

select a.id,b.id from a where a.id not in (select b.id from B b)

    综合两种的效率,第一种较快些,数据多的可选第一种,数据少就无所谓。

2,操作数据的时候难免会遇到根据查询到的表数据来操作其他数据的需求,oracle满足了有根据sql语句直接创建表的需要。

create table 表名 as 查询语句

egg:  create table student  as select * from test where id >10

3,如果说表中的某一列数据有特殊的符号,而这些符号你不想要,好的,oracle满足你。

update 表名 set 列名=replace(列名,符号);

egg: 来个更新的语句【假设student表的id数据包含符号 '-'】:

update student set id = replace ( id , '-' );

4,数据多了,难免数字的一列有空值【注意这里的空值不是0】这时候如果把空值变为0,oracle也帮你想到办法啦。

update 表名 set 列名= nvl(列名,0);

egg: update student set money = nvl(money,0);

先这些吧,以后慢慢整理!

转载于:https://my.oschina.net/u/2008084/blog/381359

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值