2015年9月4日 星期五

SQL 語法

SELECT 學生編號 , 學生姓名 , 姓別 , 年齡 , 住址               FROM tb_Student
SELECT 學生姓名 As 姓名 , 年齡 As 學生年齡 , 姓別 As 學生姓別  FROM tb_Student
SELECT 學生編號 , 學生姓名 , 數學 + 英文 As 數學加英文的分數   FROM tb_Grade

SELECT 學生編號 , 學生姓名 , 姓別 , 年齡 , 住址               FROM tb_Student         WHERE LEN(學生姓名)=3
SELECT 學生編號 , 學生姓名 , 姓別 , 年齡 , 住址               FROM tb_Student         WHERE 年齡=20
SELECT 學生編號 , 學生姓名 , 姓別 , 年齡 , 住址               FROM tb_Student         WHERE 學生姓名='王*立'
SELECT 學生編號 , 學生姓名 , 姓別 , 年齡 , 住址               FROM tb_Student         WHERE 學生姓名 LIKE '王_'
SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址               FROM tb_Student         WHERE 生日='1981/11/2'
SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址               FROM tb_Student         WHERE 生日 BETWEEN '2005/01/01" AND '2010/12/01'
SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址               FROM tb_Student         WHERE 生日 LIKE '%1981%'
SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址               FROM tb_Student         WHERE 住址 IS NULL OR 住址=''
SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址               FROM tb_Student         ORDER BY 學生編號 ASC
SELECT TOP 10 * FROM tb_Grade ORDER BY 總分 ASC             ==> 前 10 名
SELECT TOP 10 * FROM ( 
        SELECT TOP 20 * FROM tb_Grade ORDER BY 總分 DESC
)ORDER BY 總分 ASC                                          ==> 第 10 ~ 20 名
SELECT TOP 50 PERCENT 書號,書名,sum(銷售數量) as 合計銷售數量 FROM tb_BOOK group by 書號,書名,作者 order by 3 DESC

SELECT 金額 , CASE WHEN ISNUMERIC(金額)=1 THEN '是數值' ELSE '非數值' END FROM tb_Book

string connStr = string.format("SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址   FROM tb_Student    WHERE 學生姓名='{0}'",Name);
string connStr = string.format("SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址   FROM tb_Student    WHERE 學生編號={0}",IdNumber);
string connStr = string.format("SELECT 學生編號 , 學生姓名 , 姓別 , 生日 , 住址   FROM tb_Student    WHERE 生日={0}",dateTime.ToShortDateString());


萬用字元:
_  : 代表單個字元
%  : 代表 0 ~ n 個字元
[] : 代表範圍內的單個字元    eg. 2[0-7]  ==> 20~27
[^]: 代表非範圍內的單個字元  eg. [^a-z]

ASC : 昇冪排列
DESC: 降冪排列