oracle 常用语句汇总

一.复制表数据至另一张表
直接建相同的表并将数据复制过去:
create table students_backup as select * from students;
只建相同的表结构:
create table students_backup as select * from students where 1=2;
表已建好,直接复制数据:
insert into students_backup select * from students
二.两表(多表)关联update

  1.仅在where子句中的连接


SQL 代码
--这次提取的数据都是VIP,且包括新增的,所以顺便更新客户类别
update customers a -- 使用别名
set customer_type='01' --01 为vip,00为普通
where exists (select 1
from tmp_cust_city b
where b.customer_id=a.customer_id
)

 

  2. 被修改值由另一个表运算而来


SQL 代码
update customers a -- 使用别名
set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id)
where exists (select 1
from tmp_cust_city b
where b.customer_id=a.customer_id
)
-- update 超过2个值
update customers a -- 使用别名
set (city_name,customer_type)=(select b.city_name,b.customer_type
from tmp_cust_city b
where b.customer_id=a.customer_id)
where exists (select 1
from tmp_cust_city b
where b.customer_id=a.customer_id
)

 

 
posted @ 2016-07-15 11:19  Franson  阅读(389)  评论(0编辑  收藏  举报