oracle利用现有表创建新表

本文介绍使用SQL语句创建新表的方法,包括完全复制旧表结构及数据、仅复制结构而不填充数据两种情况,并演示如何利用分析函数row_number()找出每个部门中薪资最低的员工。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CREATE TABLE <newtable> AS SELECT {* | column(s)} FROM <oldtable> [WHERE <condition>];
exp:
    SQL> CREATE TABLE yonghu_bak AS SELECT * FROM yonghul;
    SQL> CREATE TABLE yonghu_bak AS SELECT id, name,sex FROM yonghu;
    SQL> CREATE TABLE yonghu_bak AS SELECT * FROM yonghu WHERE 1=2;

当遇到一个部门有多个员工记录,需要去取出每个部门薪水最少的那笔时,就可以用到分析函数row_number()
select * from(

        select manager_id,employee_id,first_name,salary,row_number()
        over(partition by manager_id order by salary) as currowid
       from hr.employees)
where currowid = 1

 

 

PS:

(1)建一个新表,架构、字段属性、约束条件、数据记录跟旧表完全一样:

Create Table print_his_0013 as Select * from print_his_0007

(2)建一个新表,架构跟旧表完全一样,但没有内容:

Create Table print_his_0013 as Select * from print_his_0007 where 1=2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值