oracle常用表操作:集合操作符以及简单函数的应用
2013-06-06 11:07
369 查看
创建表格时增加列约束
create table more_product(
prd_id integer constraint m_p_pk primary key,
prd_type_id integer constraint m_p_fk references produc_types(typeid),
name varchar(30) not null,
available char(1)
)
集合操作符的使用
union all 返回各个查询检索出的所有行,包括重复的行
select id,typeid,name from product union all select prd_id,prd_type_id,name from more_product
union 返回各个查询检索出的所有行,不包括重复的行
select id,typeid,name from product union select prd_id,prd_type_id,name from more_product
intersect 返回两个查询检索出的共有行
select id,typeid,name from product intersect select prd_id,prd_type_id,name from more_product
/
minus 返回将第一个检索出的结果减去第二个检索出结果的相同行,剩余的行
select id,typeid,name from product minus select prd_id,prd_type_id,name from more_product
函数
translate(x,fromstr,tostr),在x中查找fromstr中的字符,并将其转换成to_string中对应的字符
select translate('hello world','hello','abcde') from dual
/
decode(value,search_value,result,default_value)将value与search_value进行比较,若相等,返回result,否则返回default_value
nvl(exp1,0)若exp1 is null,返回0,否则返回 exp1
select decode(pro_price,'',0,pro_price) as price from product,实现pro_price无值的时候返回0
case
select id,typeid,case typeid when 1 then 'book' when 2 then 'food' when 3 then 'cd' else 'magazine' end from product
/
rollup 为每一个分组返回小计,并为全部分组返回总计
从一张表中向另外一张表复制数据(复制相同表中的数据)
insert into product select 8,name,typeid,pro_price from product where id=6
使用returning子句
avg_price为已定义变量
sql>variable avg_price number;
修改商品价格并将其平均值返回到变量avg_price
update product set pro_price=pro_price *0.5 returning avg(pro_price) into :avg_price
可以使用print avg_price 打出变量值
merge合并数据
merge into product p
using more_product mp on(p.name=mp.name)
when matched then update
set p.name=mp.name,
p.id=mp.prd_id,
p.typeid=mp.prd_type_id
when not matched then
insert(p.id,p.typeid,p.name)
values(mp.prd_id,mp.prd_type_id,mp.name)
create table more_product(
prd_id integer constraint m_p_pk primary key,
prd_type_id integer constraint m_p_fk references produc_types(typeid),
name varchar(30) not null,
available char(1)
)
集合操作符的使用
union all 返回各个查询检索出的所有行,包括重复的行
select id,typeid,name from product union all select prd_id,prd_type_id,name from more_product
union 返回各个查询检索出的所有行,不包括重复的行
select id,typeid,name from product union select prd_id,prd_type_id,name from more_product
intersect 返回两个查询检索出的共有行
select id,typeid,name from product intersect select prd_id,prd_type_id,name from more_product
/
minus 返回将第一个检索出的结果减去第二个检索出结果的相同行,剩余的行
select id,typeid,name from product minus select prd_id,prd_type_id,name from more_product
函数
translate(x,fromstr,tostr),在x中查找fromstr中的字符,并将其转换成to_string中对应的字符
select translate('hello world','hello','abcde') from dual
/
decode(value,search_value,result,default_value)将value与search_value进行比较,若相等,返回result,否则返回default_value
nvl(exp1,0)若exp1 is null,返回0,否则返回 exp1
select decode(pro_price,'',0,pro_price) as price from product,实现pro_price无值的时候返回0
case
select id,typeid,case typeid when 1 then 'book' when 2 then 'food' when 3 then 'cd' else 'magazine' end from product
/
rollup 为每一个分组返回小计,并为全部分组返回总计
从一张表中向另外一张表复制数据(复制相同表中的数据)
insert into product select 8,name,typeid,pro_price from product where id=6
使用returning子句
avg_price为已定义变量
sql>variable avg_price number;
修改商品价格并将其平均值返回到变量avg_price
update product set pro_price=pro_price *0.5 returning avg(pro_price) into :avg_price
可以使用print avg_price 打出变量值
merge合并数据
merge into product p
using more_product mp on(p.name=mp.name)
when matched then update
set p.name=mp.name,
p.id=mp.prd_id,
p.typeid=mp.prd_type_id
when not matched then
insert(p.id,p.typeid,p.name)
values(mp.prd_id,mp.prd_type_id,mp.name)
相关文章推荐
- oracle密码机制以及常用操作
- oracle下载地址、名词解释、常用实用命令操作语句集合
- oracle数据库常用操作集合
- oracle密码机制以及常用操作
- java常用的数组、字符串、集合操作以及数据结构与算法基本知识
- 【OC学习-20】NSSet集合对象初始化以及常用操作方法归纳
- linux下oracle常用操作以及linux基本操作
- Linux下Docker对Web应用的自动化打包和发布,以及.tar文件的导出,常用操作命令大全(收藏)!!!
- 苹果常用操作以及快捷键,安装非app store 应用
- Oracle 10G中关于表操作常用语句详解以及一点随想
- Oracle 10G中关于表操作常用语句详解以及一点随想
- Python基础:list列表以及序列常用操作
- Oracle用户、角色、权限和系统资源管理常用操作
- Postgresql常用的表字段操作语句以及其他一些SQL语句
- oracle基本操作符/运算符/操作语言..
- ORACLE集合操作符号UNION、UNION ALL、INTERSECT、MINUS来进行查询结果的合并操作
- oracle 操作中常用语句
- Datatables 定制化配置方法以及对常用操作的二次封装
- oracle 数据库操作命令集合汇总
- 动态函数调用实现下列操作,输入2个数以及操作符计算结果@ 求最大公约数 $求最小公倍数 - 求差 + 求和 等等