SQL文法書寫很長,而且SQLPLUS裡沒有自動補齊,忘記格式時可通過文檔擷取協助
官方文檔中的SQL文法描述圖:
1.關鍵字和參數
方塊是關鍵字 橢圓是參數
2.選擇性參數和關鍵字
紅色是可選,有多個直接選取,也就是 schema 和點是可選的,FORCE和VALIDATE是可選的或關係
3.迴圈文法
可以使用多個運算式 運算式之間用逗號間隔
4.跨行文法
文法書寫順序用箭頭描述 一行不夠描述會另起一行
5.當語句帶有clause(從句)時 會在下方有單獨的從句文法
整個學習SQL過程是使用SCOTT使用者的表來學習的 預設scott是被鎖定的 解鎖的方法
SQL> conn / as sysdba
SQL> alter user scott account unlock identified by tiger;
通過sys解鎖scott使用者 並將scott的密碼設定成tiger
SQL> conn scott/tiger
在以後的學習過程中 scott的表經常被修改 如果想將scott環境恢複預設 使用系統內建指令碼即可
SQL> show user
USER is "SYS"
SQL> @?/rdbms/admin/utlsampl.sql
如果是windows版本則是 @?/rdbms/admin/scott.sql
官方教材中使用的是hr使用者 在建立資料庫時選中樣本模板
也可以通過指令碼建立 指令碼見下小結
@是載入OS中的SQL儲存檔案
?是$Oracle_HOME的替代
執行完指令碼 會自動結束 重新登入 再對scott解鎖即可
select 簡易文法構成(之所以說是簡易的 因為實際的select文法是很複雜的
這隻是一小部分 也是我們最常用的文法結構.)
SELECT {*|DISTINCT column|expression [[alias],...]}
FROM table [[alias],...]
WHERE expression
ORDER BY {column|number} [DESC|ASC];
上述文法中不區分大小寫 有大小寫只是為了便於描述
實際書寫時只有字串是大小寫敏感的,而且要用單引包含起來
描述中的大寫為關鍵字
描述中的小寫為表或者選擇的列 別名 運算式
一個完整的SQL命令叫語句(statement),每個關鍵字和後面跟著的選項叫子句(clause)
select 指定查詢的列
from 指定查詢的表
where 過濾的條件
order by 排序的列
DESC|ASC 排序方法