SQL中查詢語句內的相關應用

linda1000發表於2012-10-29

SQL對查詢結果多欄位排序


通過之前提到的聯合查詢,基於已查到的資訊中,如需要根據不同的欄位對結果進行排序

可在ORDER BY子句中列出需要排序的欄位,語法

select * from table1 left join table2 on table1.id compopr table2.id

order by table.id2 (desc), table.id2(desc)

order by的處理優先順序為從左到右,子句中可對每個欄位給定排序方法,預設為升序

另外,對於表內不在select查詢語句中的欄位也可以排序,只需給出欄位名稱。


SQL中查詢相關字串


在日常查詢中,有時候需要判斷某些欄位中是否包含給定的字元或字串,SQL中可以用%, 或charindex, patindex兩個函式用來搜尋字串或文字列

%

用來搜尋表中某個欄位是否包含給定字串

語法:select * from table1 where id = '%test%'

charindex

用來搜尋一個字元或字串在另一個字串中的起始位置,不能使用萬用字元

語法:charindex(expression1, expression2[, start_location])

expression1為要在expression2中查詢的字元或字串, start_location可指定查詢的起始位置

當字串中沒有查詢到給定字元,則返回0

patindex

用來搜尋一個字元或字串在另一個字串中的起始位置,其中可使用萬用字元

語法: patindex("%pattern%", expression)

pattern為要在expression中查詢的字元或字串


判斷欄位內是否為空值


在日常查詢中,會需要過濾或找出表中某些欄位為空值的記錄,

通常所說的空值分為兩種,空值 和 NULL , 空值是一個值,值就是‘’, NULL表示沒有值,這個資料庫記錄中沒有插入值

語法:對空值處理中 select * from table where table.id = ‘’

            對NULL處理中 select * from table where table.id is (not ) NULL


相關文章