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 (2)筆記SQL
- OCP 複習筆記之PL/SQL (4)筆記SQL
- OCP 複習筆記之PL/SQL (5)筆記SQL
- oracle學習筆記(十七) PL/SQL高階應用Oracle筆記SQL
- 複習電商筆記-1筆記
- oracle學習筆記(十五) PL/SQL語法結構以及使用Oracle筆記SQL
- Vue(1)之—— Vuex學習筆記Vue筆記
- Redis 複習筆記Redis筆記
- MyBatis複習筆記MyBatis筆記
- SpringMVC複習筆記SpringMVC筆記
- SQL學習筆記SQL筆記
- VC++深入詳解--之複習筆記(一)C++筆記
- VC++深入詳解--之複習筆記(二)C++筆記
- 醫學資訊學(1)——複習筆記提綱筆記
- C++複習筆記C++筆記
- FFT & NTT 複習筆記FFT筆記
- PL/SQL 宣告SQL
- Oracle PL/SQLOracleSQL
- 【Mybatis之sql複習】多表關係MyBatisSQL
- Oralce之PL/SQL程式設計(遊標)SQL程式設計
- html+css複習筆記HTMLCSS筆記
- 動態dp複習筆記筆記
- 康託の複習筆記筆記
- spark學習筆記--Spark SQLSpark筆記SQL
- 《SQL 反模式》 學習筆記SQL模式筆記
- SQL複習SQL
- 學習筆記1筆記
- 學習筆記-1筆記
- HQYJ嵌入式學習筆記——C語言複習day1筆記C語言
- pl/sql to_dateSQL
- PL/SQL 運算子SQL
- PL/SQL 條件SQL
- PL/SQL 迴圈SQL
- PL/SQL 遊標SQL
- ORACLE_OCP之SQL_子查詢OracleSQL
- Python複習筆記跳躍版Python筆記
- Ubuntu複習筆記-認識LinuxUbuntu筆記Linux