最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql模糊匹配多個值的兩種方法實例

 更新時間:2022年12月15日 10:48:22   作者:科學(xué)鴻  
我們平時使用msyql需要模糊的匹配字段的時候,我們第一反應(yīng)就是使用like查詢語句來模糊匹配,下面這篇文章主要給大家介紹了關(guān)于mysql模糊匹配多個值的兩種方法,需要的朋友可以參考下

要求:實現(xiàn)mysql中對同個字段進行多個匹配值的模糊查詢

先看數(shù)據(jù)表:

請?zhí)砑訄D片描述

請?zhí)砑訄D片描述

目標(biāo)是在user表中,匹配出姓氏在family_info表中的記錄。

方法一:將like作為連接條件

將查詢表與需要匹配的多個值(可以是表或select子句結(jié)果)進行左連接,以字段使用like模糊匹配作為連接條件,再對連接結(jié)果進行非空過濾。

先看like模糊匹配作為連接條件的結(jié)果:

select u.*,fi.* from `user` u left join family_info fi 
on u.name like concat(fi.family_name, '%')

能看到,沒有對應(yīng)匹配值的數(shù)據(jù)在查詢中,family_name字段結(jié)果是null,此時再把語句進行調(diào)整,將匹配后family_name為null值的數(shù)據(jù)進行過濾,得到所需要的查詢語句:

select u.* from `user` u left join family_info fi 
on u.name like concat(fi.family_name, '%')
where fi.family_name is not null

能得到姓名為“張”、“王”開頭的記錄。

方法二:正則表達式搭配group_concat函數(shù)

使用group_concat函數(shù)來生成任意字符串左匹配的正則表達式字符串:

select group_concat(concat('^',fi.family_name) SEPARATOR '|')  from family_info fi 

請?zhí)砑訄D片描述

使用regexp操作符來使用正則表達式:

select * from user u where u.name regexp
( select group_concat(concat('^',fi.family_name) SEPARATOR '|')  from family_info fi )

請?zhí)砑訄D片描述

結(jié)果是查詢出了姓名為“張”、“王”開頭的記錄。

示例表的表語句:

CREATE TABLE `user` (
  `name` varchar(32) DEFAULT NULL COMMENT '姓名',
  `age` int(11) DEFAULT NULL COMMENT '年齡'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶表'

INSERT INTO `user` (name,age) VALUES
	 ('張三',21),
	 ('李四',22),
	 ('王五',23),
	 ('張六',24),
	 ('李七',25),
	 ('王八',26);

CREATE TABLE `family_info` (
  `family_name` varchar(32) DEFAULT NULL COMMENT '姓氏'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='姓氏表'

INSERT INTO family_info (family_name) VALUES
	 ('張'),
	 ('王');

總結(jié)

到此這篇關(guān)于mysql模糊匹配多個值的文章就介紹到這了,更多相關(guān)mysql模糊匹配多個值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL 讀寫分離實例詳解

    MySQL 讀寫分離實例詳解

    這篇文章主要介紹了MySQL 讀寫分離實例詳解的相關(guān)資料,這里對讀寫MySQL分離進行了簡單介紹,并附實例代碼,需要的朋友可以參考下
    2016-11-11
  • 詳解MySQL數(shù)據(jù)庫、表與完整性約束的定義(Create)

    詳解MySQL數(shù)據(jù)庫、表與完整性約束的定義(Create)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫、表與完整性約束的定義(Create),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2025-04-04
  • mysql添加備注信息的實現(xiàn)

    mysql添加備注信息的實現(xiàn)

    這篇文章主要介紹了mysql添加備注信息的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • MySQL百萬級數(shù)據(jù)分頁查詢優(yōu)化方案

    MySQL百萬級數(shù)據(jù)分頁查詢優(yōu)化方案

    在mysql中l(wèi)imit可以實現(xiàn)快速分頁,但是如果數(shù)據(jù)到了幾百萬時我們的limit必須優(yōu)化才能有效的合理的實現(xiàn)分頁了,否則可能卡死你的服務(wù)器哦。
    2017-11-11
  • MySQL?根據(jù)表名稱生成完整select語句詳情

    MySQL?根據(jù)表名稱生成完整select語句詳情

    這篇文章主要介紹了MySQL?根據(jù)表名稱生成完整select語句,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • mysql數(shù)據(jù)庫亂碼之保存越南文亂碼解決方法

    mysql數(shù)據(jù)庫亂碼之保存越南文亂碼解決方法

    做一個包含越南文的網(wǎng)站,用戶說在保存包含越南文的文章時,MSYQL亂碼了,看下面的解決方法
    2013-12-12
  • 通過DML更新MySQL數(shù)據(jù)庫數(shù)據(jù)的示例代碼

    通過DML更新MySQL數(shù)據(jù)庫數(shù)據(jù)的示例代碼

    這篇文章主要給大家介紹了如何通過DML更新MySQL數(shù)據(jù)庫的數(shù)據(jù),通過DML來對數(shù)據(jù)庫種地表的數(shù)據(jù)記錄進行增刪改查操作,文中給大家了詳細(xì)的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下
    2024-01-01
  • MySQL創(chuàng)建內(nèi)部臨時表的所有場景盤點

    MySQL創(chuàng)建內(nèi)部臨時表的所有場景盤點

    這篇文章主要為大家介紹了MySQL創(chuàng)建內(nèi)部臨時表的所有場景盤點,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • mysql8新特性之binlog_expire_logs_seconds淺析

    mysql8新特性之binlog_expire_logs_seconds淺析

    MySQL8中新增了不少新特性,這些特性提高了數(shù)據(jù)庫的安全性和性能,使數(shù)據(jù)庫管理員能夠更靈活地進行賬戶管理工作,下面這篇文章主要給大家介紹了關(guān)于mysql8新特性之binlog_expire_logs_seconds的相關(guān)資料,需要的朋友可以參考下
    2023-02-02
  • MYSQL中獲取得最后一條記錄的語句

    MYSQL中獲取得最后一條記錄的語句

    MYSQL中獲取得最后一條記錄的語句,需要的朋友可以參考下。
    2010-03-03

最新評論

阆中市| 准格尔旗| 江孜县| 长寿区| 建瓯市| 西平县| 信阳市| 晋州市| 通许县| 禹州市| 曲周县| 寿光市| 翁源县| 西充县| 绥棱县| 通城县| 五寨县| 高密市| 远安县| 台南市| 巴里| 兴仁县| 台东县| 略阳县| 石家庄市| 靖西县| 仪陇县| 资中县| 上杭县| 长子县| 菏泽市| 丰都县| 桃源县| 云浮市| 陇川县| 巢湖市| 东海县| 佛学| 叙永县| 乌苏市| 罗源县|