龙空技术网

Oracle学习笔记

阿达斯加饿了 229

前言:

现时朋友们对“oracle自学”大致比较重视,看官们都想要知道一些“oracle自学”的相关资讯。那么小编也在网上搜集了一些对于“oracle自学””的相关知识,希望朋友们能喜欢,看官们快快来学习一下吧!

1.在拼接表格的时候直接加入另一张表满足条件的数据行作为一张新的拼接表,如:

select b.id, a.name

from (select * from A where city = '北京') a, b

where b.user = a.user;

表示从A表中筛选city列为北京的数据行来创建a表,将b表与a表 通过user列拼接起来,再选取b表的id和a表的name列

2.group by将表格根据某一列分组,一般配合排序或者函数一起使用,如:

select a.id, sum(b.grade)

from a, b

where a.name=b.name

group by a.id;

表示将a表和b表通过name列拼接在一起,使用a表的id列来分组,计算每一个不同的id的grade的和。

注意:使用group by之后select语句的第一列必须为用来分组的列,在示例中为a.id。

3.nvl(列名,值1) 函数表示当列名为空时,显示值1,否则显示列的值,常在计算的时候使用,如:

select (nvl(a.num1, 0) + nvl(a.num2, 0)) sum from a;

表示从a表里选取num1列与num2列的和,如果num1或num2列为空时,它们的值为0,这样可以避免空值影响计算结果。

4.alter table table_name add(col_name, data_type)增加表格列数,如:

alter table A add(amount number)表示在表格A中加入数据类型为number的amount列

5.合并表格merge into,如:

merge into a

using b

on(a.id=b.id )

when matched then update set a.name=b.name;

表示在a表的id列与b表的id列匹配,如果相同,就将a表的name更新为b表的name。

标签: #oracle自学