Oracle语句总结

1,开始之前先看张图

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);

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

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

sql注入

反引号是个比较特别的字符,下面记录下怎么利用0x00SQL注入反引号可利用在分隔符及注释作用,不过使用范围只于表名、数据库名、字段名、起别名这些场景,下面具体说下1)表名payload:select\from\users\whereuser\_id1limit0,1;!(https://o

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

030 SSM综合练习06

1.权限操作涉及的三张表(1)用户表信息描述users!(https://oscimg.oschina.net/oscnet/a4a2b1f943cbc2db1c8ddd613e7ed00a9ae.png)sql语句:CREATETABLEusers(idVARCHAR2(32)DEFAU

oracle查询表数据并重新插入到本表

oracle查询表数据并重新插入到本表CreateTime2018年5月17日10:30:10Author:Marydon1.情景描述查询表中数据SELECTFROMat_aut

Oracle一张表中实现对一个字段不同值和总值的统计(多个count)

需求:统计WAIT\_ORDER表中的工单总数、未处理工单总数、已完成工单总数、未完成工单总数。表结构:为了举例子方便,WAIT\_ORDER表只有两个字段,分别是ID、STATUS,其中STATUS为工单的状态。1表示未处理,2表示已完成,3表示未完成总数。 SQL:  1.SELECT   2