mySql多列模糊查詢
一般資料庫進行多欄位模糊查詢的時候是這樣的:
select * from table where name like '%xxx%' or sex like '%xxx%' or phone like '%xxx%'
這樣資料庫執行起來效率十分低下,一個兩個欄位還好,一旦需要模糊查詢的欄位比較多的時候,問題就會出現,同時,開發人員需要拼接多個like
更好的辦法:
在mysql中可以使用concat函式,將多個欄位先拼接起來,然後再進行like的模糊匹配,這種就相當於前臺一個輸入框可以同時搜尋姓名,性別,電話。
select * from Table1 where concat('name','sex','phone') like '%xxx%'
相關推薦
mySql多列模糊查詢
一般資料庫進行多欄位模糊查詢的時候是這樣的:select * from table where name like '%xxx%' or sex like '%xxx%' or phone like '%xxx%'這樣資料庫執行起來效率十分低下,一個兩個欄位還好,一旦需要模糊
MySQL多項模糊查詢
logs alt 查找 cat com 關鍵字 導師 concat 復雜 最近有個需求,就是要根據搜索框裏面的關鍵字,找到符合條件的數據。 如果是單個條件的話,其實就是一個普通的select語句。 但是需求是這個關鍵字,要在id,desc,step等多個字段模糊查找。 然後
MySQL中根據if標籤實現多條件模糊查詢(動態SQL語句)
if標籤 if標籤可用在許多型別的sql語句中,我們以查詢為例。首先看一個很普通的查詢: Xml程式碼 <!-- 查詢學生list,like姓名 --> <select id="getStudentListLikeName" pa
mysql多表關聯查詢left join 去掉結果集重複列。已解決。
最先聽說,用別名:結果是:結果集增加了一個 別名列。沒法去重,還多加了一個列。~~~~ 先是百度到這個答案:http://blog.sina.com.cn/s/blog_6ab0cbbe0102v53q.html 第一次沒看懂。太長,還有個不認識的using關鍵字。 原本已
mysql 多列索引的生效規則
都是 toc limit alt rim mys 就是 .cn incr mysql中 myisam,innodb默認使用的是 Btree索引,至於btree的數據結構是怎樣的都不重要,只需要知道結果,既然是索引那這個數據結構最後是排好序;就像新華字典他的目錄就是按照a,b
DevExpress控件cxGrid實現多列模糊匹配輸入的完美解決方案
change chang pro 檢索 res ble tableview 封裝 完美解決 本方案不需要修改控件源碼,是完美解決cxgrid或TcxDBExtLookupComboBox支持多列模糊匹配快速輸入的最佳方案!! 小哥摸索多日,終於搞定cxgrid和TcxDBE
多值模糊查詢報表的制作
程序 字段名 text 遇到 ODB 模板 區域 one ima 在數據查詢系統中,經常會涉及到模糊查詢和多值查詢。對於模糊查詢,我們可能都有所了解。就是根據用戶在參數框中輸入的關鍵字進行模糊匹配,這在SQL中是通過like條件實現的。而多值查詢則大多是一次在參數框中輸入2
php mysql 分詞 模糊查詢 並根據分詞匹配度排序
close desc highlight this then 中文 sql 一個數 exec 中文分詞用 SCWS 的api http://www.xunsearch.com/scws/api.php 1.php中用 curl獲取分詞結果 protected functi
Mysql 多表聯合查詢效率分析及優化
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
mysql中like模糊查詢的優化
這是我在一個百萬級資料庫資料匯出遇到的問題 比如這個語句在這個資料庫查詢很慢: select a from tms where b like ‘%haha%’ order by time limit 100; 第一種優化方法(注意:這種方法只適用於haha開頭的): //將haha欄位和
mysql多欄位查詢去重
當資料表有主鍵時,使用group by 獲取相同欄位的最大主鍵即可,code如下: SELECT rn.* FROM table_name rn WHERE rn.id IN ( SELECT MAX(r.id) from table r GROUP BY a,b,c,d )
PostgreSQL 模糊查詢最佳實踐 - (含單字、雙字、多字模糊查詢方法)
作者digoal 日期2017-04-26 標籤PostgreSQL , 模糊查詢 , 正則查詢 , pg_trgm , bytea , gin , 函式索引 背景前模糊(有字首的模糊),後模糊(有後綴的模糊),前後模糊(無前後綴的模糊),正則匹配都屬於文字搜尋領域常見的需求。 PostgreSQL擁
mysql多列索引的建立和優化
文章目錄 0.首先來了解索引的物理結構: 1.where 子句中的多列索引 1.1 完全使用索引的情況 1)where中條件只有col1等於常量 2)where中條件只有col1為範圍(>,<,>=,
MySQL多表連線查詢
多表查詢:當查詢結果來自多張資料表的時,就需要用到連線查詢。 多表連線查詢:會出現笛卡爾積的現象:a表有m行,b表有n行,查詢結果=m*n行,消除笛卡爾積現象就必須加上關聯條件,關聯條件的個數=n個表-1。 多表連線查詢按照能分類為: 1、內連線:  
DevExpress控制元件cxGrid實現多列模糊匹配輸入的完美解決方案
本方案不需要修改控制元件原始碼,是完美解決cxgrid或TcxDBExtLookupComboBox支援多列模糊匹配快速輸入的最佳方案!! 小哥摸索多日,終於搞定cxgrid和TcxDBExtLookupComboBox可以支援多列模糊查詢輸入了! 縱觀網上的方案,不是
thinkphp5 一個欄位對應多個模糊查詢
$condition['kname'] = array(array('like','%保健%'), array('like','%護膝%'), array('like','%保健護膝護腰護頸%'), 'or'); 如果是動態的多個條件可以如下: $con
MYSQL多表子查詢練習
CREATE TABLE emp( empno INT, ename VARCHAR(50), job VARCHAR(50), mgr INT, hiredate DATE, sal DECIMAL(7,2), comm DECIM
mysql 優化 - like模糊查詢優化
在使用msyql進行模糊查詢的時候,很自然的會用到like語句,通常情況下,在資料量小的時候,不容易看出查詢的效率,但在資料量達到百萬級,千萬級的時候,查詢的效率就很容易顯現出來。這個時候查詢的效率就顯得很重要! 一般情況下like模糊查詢的寫法為(field已建立索引): SE
mysql 多表管理 查詢的時候資料為null
1.1原sql查詢的時候left join的 某張表的資料為null SELECT t.bill_no billNo, t.item_code itemCode, t.status pickTicketStatus, a.status pickTick
MySQL 多表連線查詢練習 (四)
測試用資料來源於Oracle資料庫中的測試資料MySQL資料庫表: employees員工表,departments部門表, locations地址表#----表連線查詢練習 SELECT * FROM departments; select * from departme