SQL可以分成以下幾組:
DML(Data Manipulation Language,數據操作語言)——用於檢索或者修改數據。
DDL(Data Defination Language,數據定義語言)——用於定義數據的結構,如創建、修改或者刪除數據庫對象。
DCL(Data Control Language,數據控制語言)——用於定義數據庫用戶的權限。
語法:
SELECT [DISTINCT] {*,column[alias],...}
FROM table;
書寫SQL語句的規則:
SQL語句不區分大小寫,除非特別指定。
SQL語句可以寫成一行或多行。
關鍵字不能簡寫或分割於多行。
子句通常置於單獨行,這樣更具可讀性並且便於編輯。
Tab和縮進的使用可以提高程序的可讀性。
關鍵字最好使用大寫,其它詞諸如列名,表名使用小寫。
在SQL*Plus中,SQL語句是在SQL promt狀態下輸入,並且每行都有編號。這叫SQL緩沖區,並且任何時候在緩沖區中只會存放當前一條語句。
數據列的選擇有兩種方式:選擇所有列和所有行,選擇指定的列
一個列寬內列標題及其結果的默認顯示方式是
字符型的列標題及其數據采用左對齊的方式
數值型的列標題及其數據采用右對齊的方式
在SQL語句的任何子句中可以使用算術運算符,但FROM子句除外。
運算符的優先順序是:先乘除再加減,在表達式中同一優先權的運算符計算次序是從左到右,如果使用了括號 括號中的運算優先,如果有多重括號嵌套 內層括號中的運算優先。
如果有SELECT所選的列後指定別名,則需要使用空格作為分隔符。默認的情況下列標題是以大寫的形式出現。如果列標題包含空格、特殊字符(如#,$)、區分大小寫則需要用雙引號將其引起來。
在一個SQL語句中,列的別名可以用於SELECT和ORDER BY子句中,但是不能用在WHERE子句中。
連接符“||”,用於列與列、列與算術表達式或列與常量之間創建一個字符表達式。連接符兩邊的列將組合成一個列作為結果輸出。
原義字符是包含在SELECT列表中的一個字符、數字或日期,而不是列名或別名。每個字符串都會在每個數據行的輸出中出現。自由形態文本中的字面字符串可以和SELECT列表中的字段一樣被包括在查詢結果中,日期和字符字面值必須用單引號引起來。
在SELECT子句中緊跟著關鍵字SELECT使用關鍵字DISTINCT可消除重復行。
如果一個數據行的某個列缺少數據,那麼這種值叫做NULL,或者說是包含空值。空值指一種無效的、未賦值的、未知的或不可用的值。空值不同於零或者空格,零是一個數,空格是一個字符。任何數據類型的列都可以包含空值,除非該列在創建時已經被定義為非空或主鍵。
在算術表達式中只要存在空值,那麼運算結果一定是空值。