1. 程式人生 > >Oracle資料庫基礎(一)

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;//合併後列名顯示以前一個表為主。