【正文】
0, /*定義默認(rèn)值約束 */ 備注 varchar2(200) NULL ) 【 例 】 在修改表時(shí)定義一個(gè)字段的默認(rèn)值約束。 ALTER TABLE XS ADD(Addcolumn number(2) DEFAULT 0)。 oracle集合操作 集合操作符專門用于合并多條 select 語(yǔ)句的結(jié)果,包括:UNION, UNION ALL, INTERSECT , MINUS。 UNION (無(wú)重并集 ):當(dāng)執(zhí)行 UNION 時(shí),自動(dòng)去掉結(jié)果集中的重復(fù)行,并以第一列的結(jié)果進(jìn)行升序排序。 ? UNION ALL (有重并集 ):不去掉重復(fù)行,并且不對(duì)結(jié)果集進(jìn)行排序。 ? INTERSECT (交集 ): 取兩個(gè)結(jié)果集的交集,并且以第一列的結(jié)果進(jìn)行升序排列。 ? MINUS (差集 ):只顯示在第一個(gè)集合中存在,在第二個(gè)集合中不存在的數(shù)據(jù)。并且以第一列的結(jié)果進(jìn)行升序排序。 ? 除了 union all之外的所有集合操作符號(hào)都會(huì)進(jìn)行默認(rèn)排序和去除重復(fù)行,這需要占用一定的資源,只有 union all回將數(shù)據(jù)以原始的方式呈現(xiàn)出來(lái)。所以在對(duì) oracle中進(jìn)行性能優(yōu)化時(shí)盡量使用 union all 而不是 union。 ? 對(duì)于每一個(gè)查詢中,必須要具有相同的列的數(shù)目和列的類型,但沒(méi)有必要使列名相同。 select id,name,job from worker INTERSECT select empno,ename,job from emp。 oracle集合操作 ? select ename,sal from where sal 2022 union all ? select to_char(empno),0 from where sal 3500。 ? 這里我們使用了 類型轉(zhuǎn)換函數(shù)來(lái) to_char將 empno轉(zhuǎn)由數(shù)值型換為字符型,并給出了一個(gè)填充列 0,來(lái)湊足和前一個(gè)查詢的相同的列數(shù)。 oracle集合操作 總結(jié) ? Merge函數(shù)和集合操作