Oracle資料庫基礎(一)
Oracle 是一個數據庫管理系統,是Oracle公司的核心產品。其在資料安全性與安整性控制方面的優越效能,以及跨作業系統、跨硬體平臺的資料操作能力。基於“客戶端/伺服器”(Client/Server)系統結構。
主要特點:
1.支援多使用者、大事務量的事務處理。
2.在保持資料安全性和完整性方面效能優越。
3.支援分散式資料處理。將公佈在不同物理位置的資料庫用通訊網路連線起來,組成一個邏輯上統一的資料庫,完成
資料處理任務。
4.具有可移植性。Oracle可以在Windows、Linux等多個作業系統平臺上使用。
建立一個備份表並放入主表的資料
create table fage_01 select * from 主表
將備份表扔到原始表
insert into faqs(name,no)
select name,no from faqs_1
獲取所有列的值,啟動子查詢
select * from emp
where empname in(
select empname from emp
group by empname
having count(empname)=1
)
查詢排名第五位的資訊的示例
select * from(
select emp.*,rownum rn
from(
select * from emp
order by sal desc
)emp
)where rn=5
分頁示例
select * from(
select emp.*,rownum rn
from(
select * from emp
order by sal desc
)emp
where rownum<=6
)where rn>=4
集合操作符
集合操作符專門用於合併多條select 語句的結果,包括:UNION, UNION ALL, INTERSECT, MINUS。當使用集合操作符時,必須確保不同查詢的列個數和資料型別匹配。
集合操作符具有以下注意事項:
- 集合操作符不適用於LOB、VARRAY和巢狀表列。
- UNION、INTERSECT、MINUS操作符不使用於 LONG列。
- 如果選擇列表中包含有表示式或者函式,那麼必須為表示式或者函式定義列別名。
1、UNION (聯合):當執行UNION 時,自動去掉結果集中的重複行,並以第一列的結果進行升序排序。
2、UNION ALL (聯合所有):不去掉重複行,並且不對結果集進行排序。
3、INTERSECT (交集):取兩個結果集的交集,並且以第一列的結果進行升序排列。
select id,name,job from worker
INTERSECT
select empno,ename,job fromemp;
4、MINUS (減集):只顯示在第一個集合中存在,在第二個集合中不存在的資料。並且以第一列的結果進行升序排序。
5、另外,可以使用order by
order by 必須放在最後一條select 語句之後,當列名相同時,可以直接用列名排序,如果不同可以用位置排序,也可以使用別名使其相同。
select id, name x from new_emp
union all
select empno, ename x from emp order by x;//列名不同時使用別名排序
select id, name ename from new_emp
union all
select empno, ename from emp order by ename;//列名不同時使用別名使其相同後排序
select id, name ename from new_emp
union all
select empno,ename from emp;//合併後列名顯示以前一個表為主。