传智播客我的Oracle复习‘路’2

【第二步:熟练sql语句】
练习一:从一个表查询,主要考察函数的使用
[函数复习]
单行函数---->横向     返回值只有一个
多行函数/分组函数----->纵向    返回值是多条记录

[字符函数]
replace/translate
rpad/rtrim
substr/instr
[时间日期函数]
add_months
last_day
months_between
next_day

d1-2  = d3
d1-d2 = 天数差 222.222
d1+3  = d3
d1+d2 = d3  不允许日期+日期

[转换函数]
to_char(sysdate,'mm')
to_date('1999-01-22','yyyy-mm-dd')
to_number('1111.11','999d99')

[数学函数]
ceil/floor
trunc/round

[混合函数]
nvl  注意不能冲突
user

[复杂的函数]
decode(x,y1,z1,y2,z2,z3)

练习二:从多个表查询,主要考察关联查询、子查询、外连接
8:30开始 暂停 15分钟
10:12开始 11:20

关联查询
等值连接
外连接

子查询
1)where 子句中嵌套子查询
2)用子查询的结果 作为字段来出现
相关子查询   -- 先执行子查询再执行主查询
无关子查询   -- 先执行主查询再执行子查询


练习三:多个表的复杂查询




【第三步:熟练oracle对象】
[用户]
增、删、改、查
[表]
增、删、改、查
[约束]
增、删、改、查
主键约束、唯一约束、为空约束、外键约束、检查约束、默认值约束

增:   alter table stu add constraint pk_01 primary key(xh);
删:   alter table stu drop constraint pk_01;
改:   删了再加
查:   user_constraints数据字典

[序列]
sequence

增:  create sequence seq1;  从1开始 每次自动增加1 没有最大值
create sequence seq2
start with 1000        --起始值1000
increment by 2         --步长2
maxvalue 9000          --最大值9000
minvalue 900           --最小值900
cycle                  --循环序列
删: drop sequence seq1;
改:     起始值不能修改
alter sequence seq002
maxvalue 9000    --最大值
minvalue 10    --最小值
increment by 10 --步长
cycle/nocycle   --循环
查:select * from user_sequences
.currval  .nextval(先)

[试图]
view  需授权

增:   create view v0 as select * from student;
create view v2 as select * from emp with read only;(只读试图)
删:   drop view v0;
改:   create or replace view v0 as select * from cla;
查:   select * from user_views;

[同义词]
synonym  需授权

增:   create synonym sy01 for cla;
删:   drop synonym sy01;
改:   删了再加
查:   select * from user_synonyms

公共同义词
create public synonym ok001 for emp;   
drop public synonym ok001;

可以给序列、表、索引等对象皆可创建同义词

[索引]
index

增:     create index i01 on cla(cname);
删:     drop index i01;
改:     删了再加
查:     select * from user_indexes;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值