左外联--左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。(a.aa = b.bb(+))
右外联--右边外部联接将包含了从第二个(右边)开始的两个表中的全部记录,即使在第一个(左边)表中并没有匹配值的记录。(a.aa(+) = b.bb)
内连接--(a.aa = b.bb)
DECODE的语法
DECODE(value,if1,then1,if2,then2,if3,then3,...,else),如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。
eg: 给员工加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15% select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary) from employee
根据一张表修改另一张表
方法一:(被更新的那张表需有主键) UPDATE (SELECT T1.DOC DOC_1, T2.DOC DOC_2 FROM T1, T2 WHERE T1.ID = T2.ID) SET DOC_2 = DOC_1;
Oracle中的分页查询语句
select * from (select * from (select rownum record_id,a.* from service a) b ) c where rownum < #pagesize# and c.record_id > #from#;
根据一张表往另一表插记录
INSERT INTO T1(DOC_1,DOC_2) SELECT DOC_1,DOC_2 FROM T2
根据一张表往另一表插记录
INSERT INTO T1(DOC_1,DOC_2) SELECT DOC_1,DOC_2 FROM T2
Oracle中between...end包前也包后
多行合并成一行
select a.flow_Id,
max(decode(col, '1', a.remark, '')) ||
max(decode(col, '2', a.remark, '')) ||
max(decode(col, '3', a.remark, ''))
from (select flow_id,
remark,
row_number() over(Partition by flow_id order by flow_id) col
from concatColumn) a
group by a.flow_Id;
◑▂◐ ◑ω◐ ◑^◐ 初来置业,从一钉一铆开始 ◑△◐ ◑﹏◐ ◑0◐