六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

SQL的含糊查詢案例講解

[摘要]前言說到SQL的模糊查詢,最先想到的,應(yīng)該就是like關(guān)鍵字。當(dāng)我們需要查詢包含某個(gè)特定字段的數(shù)據(jù)時(shí),往往會(huì)使用 ‘%關(guān)鍵字% 查詢的方式。例如:SELECT ... FROM 表名 WHERE 字...
前言

說到SQL的模糊查詢,最先想到的,應(yīng)該就是like關(guān)鍵字。

當(dāng)我們需要查詢包含某個(gè)特定字段的數(shù)據(jù)時(shí),往往會(huì)使用 ‘%關(guān)鍵字%' 查詢的方式。例如:


SELECT ... FROM 表名 WHERE 字段名 LIKE '%關(guān)鍵字%'

這應(yīng)該可以算是一種典型的”包含XXX”的方式,但如果我們需要查詢字段被包含于特定字符的數(shù)據(jù)時(shí)呢?

比如,我有一張聯(lián)系人數(shù)據(jù)表ConnectName,其中有個(gè)字段用于記錄姓名name。我想獲取名為小蘭和灰原的人的聯(lián)系資料。正常情況下,我們首先能想到的做法應(yīng)該是:


SELECT * FROM ConnectName 
WHERE
  name = '小蘭'
  OR name = '灰原'

這樣的做法是可以實(shí)現(xiàn)這種目的的。如果這時(shí)候,我突然想,再查一個(gè)人,比如說“柯南”,那么我們就要修改SQL的結(jié)構(gòu),添加一個(gè)Where條件句:


SELECT * FROM ConnectName 
WHERE
  name = '小蘭'
  OR name = '灰原'
  OR name = '柯南'

我們知道,OR條件查詢本身是屬于效率較低的,而且結(jié)構(gòu)變動(dòng)的語(yǔ)句在MyBatis實(shí)現(xiàn)稍微麻煩些(當(dāng)然也是可以實(shí)現(xiàn)的,遍歷插入字段就行了)。

能不能簡(jiǎn)單一些呢?我可以把所有關(guān)鍵字放在一起,只用一個(gè)Where條件去實(shí)現(xiàn)嗎?

CHARINDEX登場(chǎng)

這時(shí)候,我們就可以用 CHARINDEX 關(guān)鍵字了,CHARINDEX可以返回某個(gè)字段在一串文字中出現(xiàn)的位置,跟String的indexOf用法類似,不多廢話,我們來舉個(gè)栗子:


CHARINDEX('李白','曹操很帥') =0

在上面的栗子中,因?yàn)椴懿俸軒洸话畎钻P(guān)鍵字,所以找不到,返回0.


CHARINDEX('李白','李白很帥') =1

同樣的栗子,因?yàn)榘锢畎钻P(guān)鍵字,會(huì)返回關(guān)鍵字所在的開頭第一個(gè)字的索引,所以返回1.

了解了使用方法之后,我們就可以運(yùn)用CHARINDEX關(guān)鍵字優(yōu)化下我們的SQL語(yǔ)句:


SELECT * FROM ConnectName 
WHERE
  CHARINDEX(name ,'小蘭灰原柯南')>0

如果name字段對(duì)應(yīng)的名字在 ‘小蘭灰原柯南' 中出現(xiàn),那么CHARINDEX函數(shù)就會(huì)返回大于1,就可以得到我們想要的數(shù)據(jù)啦(他們3個(gè)人也可以在一起愉快的玩�?-^)

對(duì)應(yīng)的mybatis實(shí)現(xiàn)也相對(duì)簡(jiǎn)潔


SELECT * FROM ConnectName 
WHERE
  <!--[CDATA[ AND CHARINDEX(name ,#{傳入的參數(shù)}) --> 0 ]]>

如果后期我們想要加入一個(gè)新的人,比如毛利小五郎,只需要在傳入的參數(shù)中加入 ‘小蘭灰原柯南毛利小五郎' 就可以了,是不是簡(jiǎn)單了許多呢?

以上就是SQL的模糊查詢實(shí)例講解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。




主站蜘蛛池模板: 性视频网址 | 亚洲光棍天堂 | 日韩精品视频在线播放 | 中文字幕一区二区在线观看 | 日本免费看视频 | 欧美一级二级三级视频 | 三级欧美在线 | 日韩一区二区中文字幕 | 亚洲男人天堂网 | 日本男女动态图 | 四虎国产精品免费久久影院 | 亚洲人成网男女大片在线播放 | 视频大全在线观看免费 | 中文国产欧美在线观看 | 中文字幕一区波多野结衣 | 欧美偷拍小视频 | 四虎影院免费视频 | 伊人久久大香线蕉免费视频 | 色呦呦在线免费观看 | 视频在线一区二区 | 四虎在线免费 | 四虎影视在线影院www | 欧美一区二区三区婷婷月色 | 青春草国产成人精品久久 | 亚洲 欧美 自拍 另类 欧美 | 日本一区二区三区精品国产 | 真实国产乱子伦精品免费 | 天堂网在线新版www 天堂网在线网站成人午夜网站 | 影音先锋大型av资源 | 亚欧在线精品免费观看一区 | 日本在线视频播放 | 青春草免费视频 | 色综合中文字幕 | 日日天天 | 在线观看国产一区二区三区 | 人人澡天天澡夜夜澡 | 日夜啪啪| 日日射天天射 | 午夜精品久久久久久影视riav | 亚洲国产精品综合欧美 | 青青青国产视频 |