OCP 複習筆記之PL/SQL (1)
最近打算把9i 的OCP教程看一遍,作一些簡單的筆記,作為備忘。
PL/SQL看似簡單,但實際使用起來還是很很多技巧和誤區的。以下記錄的是複習過程中想到的、和容易出現錯誤的地方。
這些東西在教程大部分是沒有記載的。
第一章:編寫基本的SQL語句
1.1 SELECT語句
1) 基本語法
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
2) 幾個需要注意的地方
Ø 如果SQL語句中需要用到DISTINCT,則該關鍵字只能出現在緊接著SELECT的地方(在聚合函式中使用除外)
Ø SQL語句一般不區分大小寫,但包含在單引號中的字元是區分大小寫的。
1.2 幾個概念
1) KEYWORD
關鍵字,如select、where、from等。
2) CLAUSE
子句。包括select子句、where子句、from子句、order by子句、group by子句、having子句等。如
select id,count(1) from t where id=1 group by id having count(1)>0 order by id;
每一個顏色代表一個子句。
3) STATEMENT
完整的SQL句子。
1.3 寫SQL的幾個規則(有些不是必須,但為了可讀性強最好遵循)
1) 關鍵字大寫,其他小寫
2) 縮排
3) 同一個關鍵字或欄位名、列名不能寫在兩行中。
1.4 算術表示式
1) 算術表示式可以包含列名、數值、算術運算子
2) 算術表示式可用於除from子句以外的所有子句
1.5 空值NULL
1) NULL不等於0,也不等於’’,NULL與NULL也不相等。
NULL=NULL、NULL<>NULL都不成立。
2) 只有NOT NULL和主鍵可以避免NULL值;UNIQUE約束下列也可以包含一個或多個NULL值。
3) 判斷一個某表示式是否為NULL,只能用EXPR IS (NOT) NULL的形式,不能用EXPR=NULL。
1.6 欄位別名
1) 包含了空格或其他特殊字元的別名要用雙引號括起來。
2) 可以用AS關鍵字定義別名,也可以不用
3) 如果在定義別名時不加雙引號,則別名在顯示時(heading)時會把別名全部轉換為大寫;如果加了雙引號,則在顯示時與包含在雙引號中的內容是一樣的。
4) 別名可以用於同層的order by子句中,但不能用於同層的where子句、group by子句中。
1.7 DISTINCT關鍵字
1) 如果SQL語句中需要用到DISTINCT,則該關鍵字只能出現在緊接著SELECT的地方(在聚合函式中使用除外)
2) 如果DISTINCT關鍵字後接了多個欄位,則ORACLE會對這些欄位的組合進行唯一性過濾。
1.8 SQL與iSQL*PLUS
1) SQL是語言,iSQL*Plus是工具
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/231499/viewspace-63768/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OCP 複習筆記之PL/SQL (3)筆記SQL
- OCP 複習筆記之PL/SQL (5)筆記SQL
- OCP 複習筆記之PL/SQL (4)筆記SQL
- OCP 複習筆記之PL/SQL (2)筆記SQL
- PL/SQL學習筆記-1SQL筆記
- PL/SQL學習筆記-2SQL筆記
- PL/SQL學習筆記-3SQL筆記
- PL/SQL學習筆記-4SQL筆記
- PL/SQL學習筆記-5SQL筆記
- PL/SQL學習筆記-6SQL筆記
- [PL/SQL]10g PL/SQL學習筆記(一)SQL筆記
- [PL/SQL]10g PL/SQL學習筆記(二)SQL筆記
- [PL/SQL]10g PL/SQL學習筆記(三)SQL筆記
- PL/SQL學習筆記-總結SQL筆記
- 複習電商筆記-1筆記
- 面試複習筆記三(sql)面試筆記SQL
- PL/SQL經典學習筆記(6-10)SQL筆記
- PL/SQL經典學習筆記(2-5)SQL筆記
- PL/SQL 學習日記SQL
- oracle學習筆記(十七) PL/SQL高階應用Oracle筆記SQL
- 【OCP學習筆記】配置網路環境 -- 1筆記
- 史上最全的SQL Server複習筆記一SQLServer筆記
- 程式設計之美複習筆記程式設計筆記
- Oracle之PL/SQL基礎學習OracleSQL
- oracle學習筆記(十五) PL/SQL語法結構以及使用Oracle筆記SQL
- 計量經濟學複習筆記(1)筆記
- Vue(1)之—— Vuex學習筆記Vue筆記
- Redis 複習筆記Redis筆記
- MyBatis複習筆記MyBatis筆記
- 醫學資訊學(1)——複習筆記提綱筆記
- pl/sql練習SQL
- pl/sql 練習SQL
- VC++深入詳解--之複習筆記(一)C++筆記
- VC++深入詳解--之複習筆記(二)C++筆記
- Oracle之PL/SQL基礎學習之二OracleSQL
- C++複習筆記C++筆記
- JS複習個人筆記JS筆記
- 面試複習筆記(框架)面試筆記框架