Oracle学习笔记(五)

组合集总计:
group by with rollup/cube
grouping sets
子查询按执行方式分:标准子查询、关联子查询
标准子查询:嵌套子查询
标量值查询
case with then
使用exits查询
select user_id,user_name from tb_001 tb
where [not] exists (select 'x'
from tb_001
where manager_id=tb.user_id )
关联更新
update table1 alias1
set column=(select expression
from table2 alias2
where alias1.column=alias2.column);
关联删除
delete from table1 alias11
where column operator
(select expression
from table2 alias2
where alias1.column=alias2.column);
分层结构
分层检索
select [level],column,expr...
from table
[where with condition(s)]
[connect by prior condition(s)]
connect by prior column1=column2
top down:
colum1=parentkey
column2=childkey
bottom up:
column1=childkey
column2=parentkey

插入语句insert statement
insert into table[(column[,column...])]
values(value[,value...])
修改语句update statement
update table
set column=value[,column=value,...]
[where condition];

多表插入语句(Multitable Insert Statements)

insert [all] [conditional_insert_clause]
[insert_into_cause values_clause](subquery)
conditional_insert_clause
[all][first]
[when condition then][insert_into_clause values_clause]
[else][insert_into+clause values_clause]
列:
intsert all
into tb_user values(id,uid,upwd)
into tb_user_info values(id,name,sex,age)
select id,uid,upwd,name,sex,age
from tb_u_10
where id>10000;
待条件的多行插入
insert all
when id>11000 then
into tb_user values(id,uid,upwd)
when age>40 then
into tb_user_info values(id,name,sex,age)
select id,uid,upwd,name,sex,age
from tb_u_10
where id>10000;
insert first
when conditional then
into ...
when conditional then
into ...
else
into...
select...
创建索引
cretate table t_10
(id number(6) not null primary key using index (create index index1 on t_10(id)),
name varchar2(50));
查询索引
select * from user_indexes;

(0)

相关推荐

  • Oracle学习笔记(四)

    一.控制用户存取 1.创建修改用户Creating Users Create/alter user new_user identified by password; 例:create user user_1 indentified by pwd_1 alter user user_1 identified by pwd_2 2.给用户授予权限 grant privilege[,privilege] to user [,user|role,public...] 一些系统权限: create ses

  • oracle学习笔记(三)

    一.创建和管理表 1.创建表语法 create table 表名(column datatype [default expr][,column ...]) default 约束 说明略 2.利用子查询创建表 create table 表名 as select * from u表 二.修改表 1.添加一个新列 oracle:alter table table_name add(column datatype [default expr][,column datatype]...); 2.修改现有的

  • Oracle学习笔记(六)

    一.oracle oracle服务器有Oracle instace 和Oracle database instance有memory structure 和 background process 组成. memory structure包括shared pool. SGA(System Global Area). SGA包括:Database buffer cache 和 Redo log buffer cache. show sga; show parameter shared; show p

  • oracle学习笔记(二)

    一.多行函数又称组合函数(Group Functions).聚合函数 1. Types of Group Functions avg.count.max.min.stddev.sum.variance avg 求平均数 select avg(nvl(列1,0)) from 表1 count求行数 在where条件中不允许使用聚合函数,但可以使用having avg(列1)>1000 having所起的作用和where一样 二.子查询Subqueries 查询前10行数据 oracle: sele

  • Oracle学习笔记(一)

    一.基本的查询语句,特殊符号||.制定列的别名AS,唯一标示distinct 1.字符连接符"||"与"+"符 oracle:select  列名||'111111111111111' from 表名sql:select  列名+'111111111111111' from 表名T 2"AS"符号oracle:select  列名 as 新列名 from 表名 (空格,不能有as)新表名sql:select  列名 as 新列名 from 表名T

  • Oracle学习笔记(五)

    组合集总计: group by with rollup/cube grouping sets 子查询按执行方式分:标准子查询.关联子查询 标准子查询:嵌套子查询 标量值查询 case with then 使用exits查询 select user_id,user_name from tb_001 tb where [not] exists (select 'x' from tb_001 where manager_id=tb.user_id ) 关联更新 update table1 alias1

  • Oracle学习笔记之视图及索引的使用

    目录 一.视图的使用 1.概念 2.视图分类 3.视图语法 4.视图实例 二.索引 1.索引概念 2.索引分类 2.1.按物理存储方式分类 2.2.按逻辑功能分类 3.索引原则 4.索引语法 一.视图的使用 1.概念 视图概念: 视图是基于一个表或多个表或视图的逻辑表(虚表),本身不包含数据,通过它可以对表里面的数据进行查询. 基表:视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中.那些用于产生视图的表叫做该视图的基表. 视图优点: 简化性 安全性 2.视图分类 视图分为简单视图和复

  • 《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析

    本文实例讲述了Javascript面向对象程序设计工厂模式.分享给大家供大家参考,具体如下: 工厂模式和单例模式(https://www.jb51.net/article/184230.htm)应该是设计模式中应用最多的模式了,工厂模式的定义:提供创建对象的接口(来自百度百科:http://baike.baidu.com/view/1306799.htm),意思就是根据领导(调用者)的指示(参数),生产相应的产品(对象). 1.简单工厂模式 简单工厂也就是按照上面的定义,根据不同的参数返回不同的

  • python网络编程学习笔记(五):socket的一些补充

    1.半开放socket 利用shutdown()函数使socket双向数据传输变为单向数据传输.shutdown()需要一个单独的参数,该参数表示了如何关闭socket.具体为:0表示禁止将来读:1 表示禁止将来写:2表示禁止将来读和写. 2.timeouts控制超时 调用socket的settimeout()函数,向其传递参数,表明超时时间设置.当访问一个socket,如果经过了参数设定的时间后,什么都没有发生,则会产生一个socket.timeout异常.例如:当程序运行后,会等待数据传入.

  • ORACLE学习笔记-新建用户及建表篇

    一.用户相关SQL语句 /*新建用户*/ create user SA identified by 2013; 说明:SA用户名,2013密码 /*授权connect,resource给用户sa*/ grant connect,resource to sa; 说明:CONNECT角色: --是授予最终用户的典型权利,最基本的 . ESOURCE 角色: --是授予开发人员的 /*查询所有的用户*/ select * from all_users; /*将表STU查询权限授予SA*/ GRANT

随机推荐