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 )