SQL語法小技巧-WHERE條件

by zhi hao
WHERE 條件 SELECT 欄位 FROM 表格名 WHERE Condition(運算式) WHERE條件運算式說明: 字串的完全比對 SELECT 姓名 FROM 學生資料 WHERE 姓名='王小明' 做為字串的資料必須用『'』單引號包起來,單引號以外的字元,系統都會嘗試解釋為程式語法。 字串的部分比對LIKE 及 萬用字元% SELECT 姓名 FROM 學生資料 WHERE 姓名 LIKE '王%' 萬用字元變化說明:(只有文字型態欄位可以使用) %:任何含有0個或更多字元的字串。 WHERE 住址 LIKE '%中山北路%',可找出所有住址中含有『中山北路』的紀錄。 (底線):任何單一字元。 WHERE 住址 LIKE '台北',可找出住址開頭為『台北』,且字數等於3個字 的紀錄。 []:在指定範圍([a-f])或集合([abcdef])中的任何單一字元。 WHERE PID LIKE '[A-C]%',可找出PID開頭為『A-C』的紀錄。(括號內的範圍只可以是數字或英文字母) [^]:不在指定範圍([^a-f])或集合([^abcdef])中的任何單一字元。 WHERE PID LIKE 'A[^2]%',可找出PID開頭為『A』,並排除第二位是2 的紀錄。 ※萬用字元如已做為資料本身的話(例如:30%),此時必須使用跳脫字元(ESCAPE) '\' 。 WHERE 欄位 LIKE '%30\%%' 空值NULL的比對 SELECT 電話 FROM 學生資料 WHERE 電話 Is Null SELECT 電話 FROM 學生資料 WHERE 電話 Is Not Null 空字串不等於NULL。(字串型態的欄位,可設定空字串為預設值) 欄位內完全為空,才是NULL。 相反的比對NOT SELECT * FROM 學生成績 WHERE NOT (英文成績 BETWEEN 60 AND 100) BETWEEN .. AND .. 必須由小而大。只有日期及數字格式可以使用。 這段語法的結果,將會找出英文成績不在60~100的學生資料。 包含的比對IN SELECT 欄位 FROM 表格名 WHERE 欄位 IN ('值1', '值2', …) 可代替OR的設計,且較為精簡。 例如: SELECT 姓名 FROM 學生資料 WHERE (姓名 IN ('王小明','蘇小美','陳大同')) 等於 SELECT 姓名 FROM 學生資料 WHERE (姓名='王小明' OR 姓名='蘇小美' OR 姓名='陳大同') 也可使用NOT IN,例如:WHERE (姓名 NOT IN ('王小明','蘇小美','陳大同')) 多個條件的比對AND/OR SELECT 欄位 FROM 表格名 WHERE 條件 [AND|OR] 條件 

相關文章

發表回應

本網站放置cookies,務求為您提供最佳的網上瀏覽體驗。 接受 閱讀更多