1. 程式人生 > >SQL——模糊查詢

SQL——模糊查詢

前言

    在這個大資料時代,我們都離不開對資料的增刪改查,增加、刪除、修改這些看似都是一步完成的事情,但是對於查詢來說,好的查詢SQL可以大大的減少系統記憶體執行時間,提高系統的反應速度。這裡簡單的介紹一下查詢中的模糊查詢。

內容

    模糊查詢語句格式為:

<span style="font-family:KaiTi_GB2312;font-size:18px;">--模糊查詢格式如下:

select 欄位 FROM 表 WHERE 某欄位 LIKE 條件;</span>

1. %:任意零個或多個字元

    匹配任意型別和長度字元,表示中文的格式為(%%)

  • 單個字元限制:

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%';</span>

    將把T_USER表中的欄位名為USERNAME中含有“周”的記錄全部搜尋出來。“周武王,童第周,周麗同”等

  • 多個字元無序查詢:

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%' ADN USERNAME LIST '%王%';</span>

    將把T_USER表中的欄位名為USERNAME中既含有“周”又含有“王”的記錄全部搜尋出來。“周王爺,王周大人”等。這裡注意:這樣寫和關鍵字的前後位置無關。

  • 多個字元有序查詢

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%王%';</span>

    將把T_USER表中的欄位名為USERNAME中既含有“周”又含有“王”並且“周”在“王”的前面的記錄全部搜尋出。“周王爺”,此時“王周大人”就搜尋不出來了。

2. _:任意單個字元

  • 匹配單個任意字元,常用來限制表示式的字元長度。

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '_周_';</span>

    此時限制查詢記錄為:三個字,中間為“周”的記錄全部搜尋出來。

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周__';</span>

    此時顯示查詢記錄為:三個字,開頭為“周”的記錄全部搜尋出來。

3. [ ]:表示括號內任意字元

  • 匹配括號中任意字元,通常指一個字元或者字串的範圍。

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '[周王李]一';</span>

    此時查詢記錄為:“週一、王一、李一”(不是周王李一)

  • 特殊情況處理

    如果“[ ]”內顯示為連續的數字或者字母,可以略寫範圍即可。

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周[1-3]';</span>

    此時查詢記錄為:“周1、周2、周3”

4. [^ ]:不存在括號內任意字元

  • 匹配除括號內的字元外的物件(匹配物件為指定字元以外的任一字元)
<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周[^1-3]';</span>

    此時查詢記錄為:“周4、周5、周6等除(周1、周2、周3)以外的物件。

小結

    1、適合需求,適合程式的程式碼才是好程式碼。

    2、技巧查詢很好的符合了需求,提高了查詢效率。

感謝您的寶貴時間~~~