oracle 培訓筆記 3

2021-05-28 05:40:55 字數 2205 閱讀 9805

在輸入sqlplus / assysdba時,自動鏈結上的資料庫不一定是本機的資料庫,而是系統環境變數中oracle_sid所指定的變數,安裝oracle後,會預設將windows下的這個環境變數設定成你新建的這個sid

archiveloglist可以顯示出當前資料庫的歸檔模式

如果要長期的修改sql_prompt的值需要到/sqlplus/admin/glogin.sql檔案中修改

sql語句中,null值不參與統計

oracle單雙引號的區別:單引號為字串,雙引號表示名稱(可用於區別欄位的大小寫),根據雙引號的內容是什麼,select等操作的結果就顯示什麼,主要用於表和字段展現的別名

distinct= unique (說實話,我還真是不知道)

sql與sqlplus命令中,sql的關鍵字無法所寫,sqlplus可以,只要不出現與其他命令衝突,sql語句必須以」;」結尾,而sqlplus直接回車即可執行.

sqlplus中修改快取語句後,執行run命令即可直接執行,使用list命令可以檢視快取中的語句

sqlplus中sql>@1.sql 的效果與  sql>start 1.sql的效果是一樣的,如果使用sql>get1.sql命令,那僅僅是把1.sql指令碼中的語句調入快取,並不執行.使用」/」或者run命令執行語句.

目前排序不是根據每個會話都申請一塊單獨的快取區域作為排序緩衝區了,而是在oracle中直接劃出一塊總的區域作為排序的緩衝區的.每個會話大小的排序區域引數為sort_area_size,總的區域引數為sort_area_retained_size,其中至於哪個生效,則要看引數workarea_size_policy,如果該引數的值是auto,則第二個生效.

sql中,出現between…and…中兩個值包括臨界值.另外,oracle中,rownum是不能使用between...and…標示符的,這個在zte的面試筆試題中出現過這樣的陷阱,雖然是細節,但是要注意.

根據where語句的效率問題也是我們關注的重點,目前我所知道的效能效率是 exsit > in > or ,這樣的執行效率,在以後的sql撰寫中,需要注意.

like語句在報表中時常遇到,有時候會出現需要匹配 「_」和」%」的情況,這個時候是不是很痛苦,那麼escape就登場了,示例:

select * from table_name where column1 like『$%』 escape 『$』;

此時,$符號就變成了轉義符號,如果出現兩個」_」的情況,則需要寫成like 『$_$_%』 escape 『$』;最後乙個%則是萬用字元的含義.

所有的oracle的表都heaptabel(堆表),資料均是無序排放的.在order by 子句後面,新增數字,表示排序的列,如果使用的明確列的查詢sql,那麼,排序子句後的數字則為寫出的字段的順序,從1開始,如果是select * from table_name order by 1;那麼這個1就表示是table裡面第乙個欄位的作為排序的參照.

單行函式的含義:針對每一行的資料都會返回乙個值

多行函式的含義:即為多行彙總返回乙個值

instr是很常見的函式,但是出現了instr(a,b,c,d)這樣四個引數的函式讓人感到很驚訝.實話,我當時聽說功能這麼強大,我真後悔當初在湖南寫湖南移動統計報表的時候,沒有好好的學習函式.該函式a表示原始字串,b表示需要查詢的字串,c表示開始的位數,d表示第幾次出現.oracle的函式是很強大的,需要做乙個專題來學習.

關於經典的自關聯scott下的emp表中的empno和mgrno,以下是乙個經典sql:

select lpad(『  『,2*(level-1))|| ename as ename

from emp

connect by prior empno = mgrno

start with ename=』king』;

start with,這個很好理解,是從哪乙個字元內容開始,connectby如何理解,這是關鍵,老師給出了乙個很好理解的辦法,首先,我們確定誰是父鍵,按照表emp的結構,mgrno是**於empno,所以empno是父鍵,mgrno作為子鍵,prior 後面跟父鍵,則表示,從樹形的頂端往枝節點,如果prior後面跟隨子鍵,則表示是從葉子節點追述到根節點,展示出查詢的過程.

關於日期的格式問題,出現的有中文,英文的情況,這是由於nls引數控制的,設定nls_language,

關於to_char(sal,』l0,999.99』)sal from emp l表示本地貨幣,如何修改本地的所屬,檢視引數nls_territory

Oracle 培訓筆記

how to create and manage view?1 create user create user username identified by password 2 set authority grant authorityname to username 3 set authorit...

oracle 培訓筆記 約束

約束分類 primary key not null foreign key check unique 查詢約束狀態 drop table t01 purge create table t01 id number primary key,name varchar2 20 select from use...

oracle學習筆記3

1.子查詢 select ename,sal,deptno from emp where sal in select max sal from emp group by deptno 求在不同部門薪水最高的雇員的資訊 錯誤!因為查詢的結果是工資是在所有部門下的最高工資範圍中,就是說存在一種結果 同一...