精华内容
下载资源
问答
  • oracle使用子查询插入和修改数据

    千次阅读 2010-01-29 15:28:00
    使用子查询插入数据:示例一:insert into employee (empno,ename,sal,deptno) select empno,ename,sal,deptno from emp where deptno=20;示例二:insert /*+APPEND*/ into employee (empno,ename,sal,dept

    使用子查询插入数据:

    示例一:insert into employee (empno,ename,sal,deptno)

               select empno,ename,sal,deptno from emp

              where deptno=20;

    示例二:insert /*+APPEND*/ into employee (empno,ename,sal,deptno)

               select empno,ename,sal,deptno from emp

              where deptno=20;

    尽管执行结果一样,但第二条语句使用/*+APPEND*/来表示采用直接装载方法可以使执行速度加快。

    使用子查询修改数据:

    示例一:select job,sal,comm from emp where ename='SMITH';

               update emp set job='check',sal=2200,comm=200

               where ename='SCOTT';

    示例二:update emp set (job,sal,comm)=(

               select job,sal,comm from emp where ename='SMITH')

               where ename='SCOTT';

    这个例子说的是:使雇员SCOTT的岗位、工资、补助与雇员SMITH的完全相同。这时候使用子查询只需要编写一条sql语句就可以完成任务,从而降低了网络开销。

    展开全文
  • 1.insert into employee select * from emp where deptno=20; 2.insert /*+APPEND*/ into employee select * from emp where deptno=20; 同样是大批量插入数据,第二种比第一种效率高很多。

    1.insert into employee select * from emp where deptno=20;

    2.insert /*+APPEND*/ into employee select * from emp where deptno=20;

    同样是大批量插入数据,第二种比第一种效率高很多。

    展开全文
  • Oracle插入数据

    万次阅读 2019-04-03 11:26:14
    1、创建表格并指定结构 CREATE TABLE DB3.STUINFO( STUID INT, STUNAME VARCHAR(10), SEX INT, AGE INT, CLASSNO VARCHAR(10), STUADDRESS VARCHAR(10), ...2、插入数据 规范用法 INSE...

    1、创建表格并指定结构

    CREATE TABLE DB3.STUINFO(
    STUID INT,
    STUNAME VARCHAR(10),
    SEX INT,
    AGE INT,
    CLASSNO VARCHAR(10),
    STUADDRESS VARCHAR(10),
    GRADE INT,
    ENROLDATE DATE,
    IDNUMBER VARCHAR(20));
    

    2、插入数据

    规范用法

    INSERT INTO table(col1,col2...) VALUES(value1, value2...)
    

    如:

    INSERT INTO DB3.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values ('1', '龙七', '1', 26, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'),
     '3503021992XXXXXXXX');
    

    可以发现数字即便加上引号,Oracle也能智能识别。

    当前后一一对应时也可省略table后的列名声明:

    INSERT into DB3.STUINFO 
    values (2, '龙八', 1, 25, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    

    省略列名声明的情况下,前后类型不对应或缺失信息时将报错。

    指定列名时,未指定值的列默认填充为null:

    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (2, '龙八', 1, 25, '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    

    在这里插入图片描述

    也可在创建表结构的同时为列指定默认值,当无对应输入时自动填充:

    CREATE TABLE a (
    id INT,
    name CHAR(10) default 'a',
    class INT NOT NULL
    );
    
    INSERT INTO a
    VALUES (1,NULL,1);
     
    INSERT INTO a (id,class)
    VALUES (1,1);
    

    可得到:
    在这里插入图片描述

    3、可与子查询合用

    INSERT INTO a(id,class)
    VALUES ((SELECT STUID FROM STUINFO WHERE STUNAME='龙七'),2);
    

    在这里插入图片描述

    STUINFO构建总命令:

    CREATE TABLE DB3.STUINFO(
    STUID INT,
    STUNAME VARCHAR(10),
    SEX INT,
    AGE INT,
    CLASSNO VARCHAR(10),
    STUADDRESS VARCHAR(10),
    GRADE INT,
    ENROLDATE DATE,
    IDNUMBER VARCHAR(20));
    
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values ('1', '龙七', '1', 26, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'),
     '3503021992XXXXXXXX');
      
    INSERT into DB3.STUINFO 
    values (2, '龙八', 1, 25, 'C201801', '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (2, '龙八', 1, 25, '厦门市', '2018', to_date('01-09-2018', 'dd-mm-yyyy'), '3503021993XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (3, '龙九', 2, 23, '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE,CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (3, '龙九', 2, 23, 'C201702', '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');
    
    INSERT into DB3.STUINFO (STUID, STUNAME, SEX, AGE,CLASSNO, STUADDRESS, GRADE, ENROLDATE, IDNUMBER)
    values (4, '龙十', 2, 23, 'C201702', '三门市', '2017', to_date('01-09-2017', 'dd-mm-yyyy'), '3503041995XXXXXXXX');
    
    展开全文
  • 1、通过查询快速创建表 create table test1(id,job,mgr,sal) as (select * from (select rownum rn,a.JOB,a.MGR,a.SAL from emp a where rownum<=10) where rn>=6) ---这是一个分页查询 ok,表创建成功 2...

    1、通过查询快速创建表

    create table test1(id,job,mgr,sal)
    as
    (select * from  (select rownum rn,a.JOB,a.MGR,a.SAL from emp a where rownum<=10)  where rn>=6)   ---这是一个分页查询

    ok,表创建成功

     

    2、通过查询快速创建视图

    create or replace view V_test1
    as
    (select * from  (select rownum rn,a.JOB,a.MGR,a.SAL from emp a where rownum<=10)  where rn>=6)   ---这是一个分页查询

    ok,视图创建成功

    注意:resource角色可能无法创建视图,所以你在创建视图的时候,可能会遇到权限不足的情况,解决方案是:以dba身份登录数据库,然后执行如下语句:

    ok,可以创建视图了。

     

    3、通过查询结果集结合Insert语句快速填充表

    create table test2(id varchar2(100),mgr number(4),sal number(7,2))  --创建一张表test2
    insert into test2 
    select * from (select rownum rn,a.* from (select MGR,SAL from emp) a where rownum<=10)  where rn>=6   

    注意:此处是insert into 的省略用法,insert into 表名 values(值1,值2......); 省略了values和后面的括号。

    ok,成功创建数据表,数据是自查询查出来的数据,注意表字段需要和子查询的结果集保持一致

     

    4、通过子查询修改表数据

    例:希望员工scott员工的岗位、工资、补助和smith的一样。

    update emp set (job,sal,comm)=
    (select job,sal,comm from emp where ename='SMITH')
    where ename='SCOTT';
    
    select job,sal,comm from emp where ename in ('SMITH','SCOTT')

    ok,批量更新成功。

    使用子查询更新,这样我们就不用一条条语句进行更新了

    转载自:https://www.cnblogs.com/GreenLeaves/p/6635566.html

    展开全文
  • Oracle子查询

    千次阅读 2019-01-23 19:59:56
    1.子查询 语法: select 字段列表 from table where 表达式 operator (select 字段列表 from table); 说明:operator 是比较运算符(&gt;,&gt;=,&lt;,&lt;=,=,&lt;&gt;) 被()包裹的查询语句...
  • Oracle_子查询和常用函数

    千次阅读 2018-09-06 10:38:45
    1、子查询 子查询在 SELECT、UPDATE、DELETE 语句内部可以出现 SELECT 语句。内部的 SELECT 语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表。子查询的类型有: 单行子查询:不向外部...
  • 子查询的结果为1个数据) --查询最高工资的员工信息 --1.查询出最高工资 --5000 select max(sal) from emp; --2. 工资等于最高工资 select * from emp where sal = (select max(sal) fr...
  • 4.1 插入新记录问题向表中插入一条新的记录。解决方案使用带有values子句的insert语句来插入一行。insert into dept(deptno,dname,loc) values(19,'xgj','BEIJING');讨论作为一种简便方式,在insert语句中,可以省略...
  • 宕需要创建临时表来暂时存储一个表的数据时,可以用子查询来实现,语法很简单: SQL> create global temporary table temp1 as select * from table1; 我们通过查询临时表temp1,发现只是创建了永久表的一个结构...
  • oracle学习分组查询子查询

    千次阅读 2016-09-01 22:53:58
    oracle学习总结 group by 与order by运用 having运用与where区别 ------------------------------------------------------------------------- group by 和 having子句  group by用于对查询的结果分组统计,...
  • Oracle循环插入数据

    千次阅读 2017-04-28 12:01:34
    declare i number; begin  for i in 1..1000 loop  insert into employee (ID, CREATETIME, ADDER_ID, ADDER_NAME,SOURCE_TYPE) values (i, '2017-02-10 12:11:29', '8888', 'admin' , 'web') ...
  • Oracle:批量插入多条数据

    千次阅读 2019-08-29 13:59:41
    Mysql中可以这样: insert into test_table (id, name, age) values (1, '...以上语句不能在oracle数据库运行。 Oracle中可以这样: insert all into test_table (ID, NAME, AGE) values ('1', 'ab', 23) into test...
  • oracle+mybatis批量插入数据

    千次阅读 热门讨论 2019-07-13 18:06:23
    1.Oracle批量操作 我的表结构是 1.1批量插入 1.1.1主键不使用序列 insert into students(sid,sname,ssal,ssex) select 9,'张三',3000,'男' from dual union all select 10,'李四',4000,'男' from dual union all ...
  • 背景:往sql里面传数据时以list集合的形式,因为你要批量插入。 1.sql语句如下写 <insert id="insertAll" parameterType="java.util.List"> insert into 你的表名 (主键ID , 字段1名字 , 字段2名字 , ...
  • 或者你在查询的时候这样写:select * from “表名”。 提问者评价 是的,要加引号~郁闷。究其原因 因为创建表的时候偷懒用Navicat自动生成的语句创建的 默认带了引号 所以表名实际上是有引号的如“tablename” ...
  • oracle学习——插入多行数据到表中

    千次阅读 2014-11-18 17:04:49
    insert的语法,使用values时,一次只能插入一条记录。... select ...,子查询的方式。 如你的例子: 一、 insert all into students values ('0515101143','蔡雪松','','05工本2班') into students value
  • 目标:插入某表,三个字段 ,第一个字段为uuid,第二个字段定死,第三个字段为另表的的一个字段。 首先错误示范: insert into s_module_function_info (module_function_id,module_id,function_id) values(sys_...
  • oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。 1、Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限, CREATE SEQUENCE emp_sequence ...
  • Oracle子查询性能优化一例

    千次阅读 2012-05-23 10:30:03
     要做一个birt报表,数据库是oracle10g,但数据源是从多个数据表中得到的,所以只能写存储过程,把数据整合到一个临时表中去。完成的存储过程大致如下(只保留主要代码): createor replace procedure Rpt_Dyhgl_...
  • oracle查询树状表结构,需求是这样,最近项目同样的资源需要区分管理端和端,之前的权限体系不能满足现有需求,遂记录一下,首先表结构如下,带有父id就好附上脚本SELECT level, s.* FROM sys_action s START ...
  • Oracle中向表中插入数据

    千次阅读 2016-06-30 21:41:27
    Oracle中向表中插入数据的方式有两种: 第一种:插入单行数据 insert into table_name(attr1,attr2,...) values( val1, val2,...); 第二种:插入多行数据 insert into table_name sub_query; 其中第二种方式...
  • Oracle 千万级别数据查询优化

    千次阅读 2016-04-12 09:50:00
    说明:平时很少接触到大数据分页,今天有兴趣在数据库插入1000万条数据进行测试,经过查询相关资料得到如下说明:笔者在工作中有一上百万条记录的表,在jsp页面中需对该表进行分页显示,便考虑用rownum来做,下面是...
  • Oracle数据查询优化

    万次阅读 2018-01-18 22:31:51
    前言:平常写的SQL可能主要以实现查询出结果为主,但如果数据量一大,就会突出SQL查询语句优化的性能独特之处.一般的数据库设计都会建索引查询,这样较全盘扫描查询的确快了不少.下面总结下SQL查询语句的几个优化效率的...
  • SQL查询数据Oracle实验)

    千次阅读 2018-07-17 17:05:09
    插入、删除、修改是数据库中更新数据的基本方法,对数据库进行数据更新操作必须满足数据的完整性要求。通过本次实验,掌握数据库中插入数据、修改数据、删除数据的基本语法,理解和掌握完整性约束条件的作用和使用...
  • 其实最后得出的结论,就是关联查询速度快于子查询 写这篇的目的主要是把尝试过的方法给记录下,同时复习下有一段时间没有用过的oracle存储过程、自定义函数、包的写法 一、问题说明 为了说清楚问题的核心,我把...
  • table_name(子查询) where sal=(子查询) [分类]查询结果分为单行单列和多行单列 关联程度分为关联子查询与非关联子查询 单行单列--------------- 案例17:查询出工资最高员工信息 ...
  • oracle数据量分页查询

    千次阅读 2014-03-10 18:36:44
    Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM ) WHERE RN >= 21 其中最...
  • Oracle基本操作六:子查询,rownum,rowid

    千次阅读 2017-04-24 23:46:30
    --子查询子查询(内部查询)在主查询前执行一次,结果被用于主查询(外部查询) --子查询-例:查出比Allen工资高的人 select ename from emp where sal>(select sal from emp where ename='allen') --子查询-...
  • Oracle数据库多表插入

    千次阅读 2018-07-15 15:03:33
    一、使用背景 当我们需要根据不同条件将一个子查询结果集的数据分别插入不同表中时可以使用多表插入,快速插入数据记录。二、如何使用1、在此我新建三个表用于存储满足不同条件的数据CREATE TABLE small_customers...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,138
精华内容 24,455
关键字:

oracle插入子查询数据