SQL 語法能不能使用 LIKE IN (…)
寫 SQL 語法時會常用到像這樣子的寫法:
WHERE NAME IN (‘AAA’, ‘BBB’, ’CCC’,….),那麼當遇到要模糊判斷多組字串時,你會怎麼做?
試試這個方法
WHERE NAME LIKE ‘AAA%’ OR NAME LIKE ‘BBB%’ OR NAME LIKE ‘CCC%’ OR …
夠了,你還要寫下去嗎?
如果有 50 組字串,這樣有比較好維護程式嗎?
那麼換個方法
WHERE NAME LIKE IN (‘AAA%’,’BBB%’,’CCC%’);
好像不支援這樣子的語法,有沒有其它方法?
有,終極解法
假設有二個 TABLE,要判斷多組的關鍵字並將結果同時回傳,可以將 TABLE INNER JOIN 起來,再使用 LIKE 的語法進行判斷。
這樣子的方式,在維護模糊判斷的關鍵字也更方便。
最後呈現結果如下:
如果有其它更漂亮的解法,也歡迎一起交流喔。