存取數據
select語句
1. 選擇表中的所有列
“*”對Select語句有特殊意義。它指定表中的所有列,而不用列出列的名字。列的順序和表中的順序相同。
2. 選擇不同的值
如果被選擇列表中的列有重復值,這時“distinct”關鍵字可以用來忽略重復值。
注意: 如果Select list中多於一列,則distinct關鍵字對它們總體有效。如果一列有重復值,而其他列的值是唯一的,則有重復值的一列包含在結果中。
3. 在結果數據集合中對列重命名
結果中列的默認名字是源數據庫中的列名,用戶可以用自己指定的列名來代替默認的列名。
Select AuthorFirstName = au_fname from authors
--將列名由“au_fname”改成“AuthorFirstName”
4. 選擇計算值
在Select list中可以包含計算值或常量。計算值是在算術表達式的基礎上計算而來的,它可包含在表中的一列或多列。
Select totalSale = price * ytd_sales from titles
條件選擇(Where子句)
使用一個比較或邏輯操作在Where子句中指定過濾條件,來生成表中想得到的行。
1. 比較操作
比較操作能比較數值、字符和日期數據,返回TRUE或FALSE。
比較操作符
<(小於)
>(大於)
=(等於)
<>(不等於)
>=(大於等於)
<=(小於等於)
!=(不等於)
!<(不小於)
!>(不大於)
2. 邏輯操作
邏輯操作測試某些條件是否正確,並根據測試結果返回TRUE或FALSE。
· LIKE 如果操作和指定的字符串相同,則返回TRUE,指定的字符串也可包含通配符。
有通配符的like操作更有用。
· “%”規定所有字符串可代替字符“%”的位置。任何在“%”之前或之後的指定字符串視為常量。如:“New%”表示所有以“New”開頭的字符串,“%New”表示以“New”結尾的字符串。
· “_”規定任何單個字符可代入“_”的位置。這在只有一個字符不同的相近字符的情況下非常有用。
· “[]”規定使用方括號中定義的字符代替一個字符。方括號中可能是獨立的字符(如[ahg]),也可是字符范圍(如[c-i])。
· “[^]”規定方括號中“^”之後的字符為不能用來代入的字符,它可以是獨立字符(如[ahg]),也可是字符范圍(如[c-i])。
注意:可以在一個表達式中組合運用這些通配符。
· BETWEEN 如果操作數在提供的范圍之內,則返回TRUE。
BETWEEN可和NOT操作符一同使用,如果數據在指定范圍之外,則返回TRUE。
注意:BETTEN操作符是指定范圍。例如,BETWEEN A and B表示所有在A和B之間的值,包括A和B。
· IN 如果操作數和任意的指定值相匹配,則IN操作符返回TRUE。指定值可以是一個常量值列表,也可由另外的查詢(稱為子查詢)產生。
IN操作符也可和NOT操作符聯合使用,如果數據不在指定值中,它返回TRUE。
· AND 它結合兩個表達式,如果兩個表達式都為TRUE,則它返回TRUE,否則返回FALSE。
· OR 它結合兩個表達式,如果兩個表達式中有一個為TRUE,則它返回TRUE,如果兩個都為FALSE,則返回FALSE。
· NOT 它對邏輯操作值求反,它可和大多數邏輯操作聯合使用,對操作返回的值求反。
· SOME|ANY 這兩個操作有相同的格式。它們把操作數和指定值的集合比較。如果操作數與任意指定值的比較返回TRUE,則它返回TRUE。比較操作可以是任意SQL Server定義的比較操作。指定值列表可以由另一個查詢產生。
· ALL ALL操作和SOME及ANY有相似的格式。不同的是,如果所有操作數和指定值的比較返回TRUE,它才返回TRUE。