1. 程式人生 > >sql語句中select語句檢索的過濾

sql語句中select語句檢索的過濾

限制結果: 1.distinct關鍵字 只返回不同的行,放在列名前,作用於查詢的所有的列 select distinc 列名 from 表名 2.top 返回前多少行的資料 select top 5 列名 form 表名 返回前5的行 3.limit 5 offset 5 limit:返回多少行 offset 從第幾行開始,預設是0開始,offset 1 是第二行 select 列名 form 表名 limit 3 offset 5 返回 從第5行開始的資料,返回3行

order by 排序: desc:降序 只對前面列有作用 asc:升序 select 欄位1 ,欄位1,欄位3 form 表名 order by 欄位1 按欄位1排序 select 欄位1 ,欄位1,欄位3 form 表名 order by 欄位1,欄位2 先按欄位1排序,再按欄位2排序

過濾資料: where 在同時使用where和order 時,應該讓order by 位於where之後,否則會產生錯誤 where的易混淆操作符: 1.判斷null: is null select 欄位名 form 表名 where 欄位名 is null 2. 不等於: != 與 <> 通常可以互換 select 欄位名 form 表名 where 欄位名<> ‘欄位值’ select 欄位名 form 表名 where 欄位名!= ‘欄位值’ 3.between 範圍值 低值和高值用and關鍵字分割 select 欄位名 form 表名 where between 5 and 10

分割線----------------------高階過濾---------------------------------------------------------------------

//連線多個where 1.and select 欄位名1,欄位名2 form 表名 where 欄位名1=‘值’ and where 欄位名2 <‘值’ 2. or select 欄位名1,欄位名2 form 表名 where 欄位名1=‘值’ or where 欄位名2 <‘值’ 一般一行的資料滿足條件1之後,就不會再再執行第二個條件 3.and和or

select 欄位名1,欄位名2,欄位3 form 表名 (where 欄位名1=‘值’ or where 欄位名2 <‘值’) and 欄位名3>=‘值’ 由於and的優先順序更高,因此必須用圓括號將or的兩個條件明確分組,優先執行

//萬用字元過濾 需要結合like操作符使用 不同mysql可能會出現區分匹配的值的大小寫 萬用字元只能搜尋字串的欄位 like指示dbms,後面的搜尋模式是利用萬用字元,不是簡單的匹配比較 1.% 任何字元出現任意次數 select 欄位名 form 表名 where 欄位名 like ‘值%’ : 檢索 以值開頭的之後的任意字元,在where之後的欄位中搜索 2._ 與%使用方式一樣,但是隻能匹配一個, 連續兩個__代表2個字元

字元:一個英文、阿拉伯數字、標點符號都是一個字元 一個漢子佔用2個字元 SELECT * FROM test WHERE NAME LIKE ‘___c’; 搜尋name欄位中c之前 2個字元 SELECT * FROM test WHERE NAME LIKE ‘__c’; 搜尋name欄位中c之前1個字元 3.[]