MySQL是一種常用的關系型數據庫管理系統,常常遇到需要對兩個表進行關聯查詢的情況。而在實際情況中,很多時候需要模糊匹配數據而不是完全匹配。
SELECT * FROM TableA INNER JOIN TableB ON TableA.columnA LIKE CONCAT('%', TableB.columnB, '%')
上面的代碼使用INNER JOIN關鍵字將TableA和TableB兩個表進行關聯查詢。關鍵對于的是ON語句,使用LIKE和CONCAT函數實現對columnA和columnB的模糊匹配。
SELECT * FROM TableA LEFT JOIN TableB ON TableA.columnA LIKE CONCAT('%', TableB.columnB, '%') WHERE TableB.columnB IS NULL
上面的代碼中,使用LEFT JOIN關鍵字來實現TableA和TableB的關聯查詢。關鍵點還是在ON語句中使用LIKE和CONCAT函數進行模糊匹配。此外,WHERE語句也非常重要。查詢結果中,如果TableB中出現的數據可能出現多次,而且在TableA中的一個匹配的值也會被重復計算,導致查詢結果中數據條數出現偏差。因此,使用WHERE語句過濾掉TableB中出現多次的數據,可以保證查詢結果的準確性。
上一篇mysql兩個表關聯修改
下一篇如何將css文件自動換行