例えば以下のような二つのテーブルがあったとします。

table1: user_info

user_id name address
1 小田常雄 香川県 仲多度郡多度津町 東浜 1-14-12
2 松井昭司 鳥取県 米子市 淀江町小波 4-16-13
3 田中美涼 大阪府 守口市 大久保町 3-3-10
4 有賀沙也佳 宮城県 刈田郡七ヶ宿町 矢立 1-13
5 寺島勇次 大分県 中津市 片端町 4-5

table2: prefecture

pref_id pref_name pref_population
1 北海道 5,348,102
2 青森 1,278,581
... ... ...
46 鹿児島 1,625,434
47 沖縄 1,447,134

で、 user_infoのaddressを見て、prefectureのpref_nameでLIKE検索かけて、人口をJOINさせてあげたい。(ここでLEFT()でaddressから都道府県名取ればいいじゃんって話は受け付けません:no_good_tone1:

SQLはこうやって書くらしい

SELECT 
  t1.user_id,
  t1.user_name,
  t1.address,
  t2.pref_population
FROM 
  user_info t1
LEFT JOIN
  prefecture t2
  ON t1.address LIKE CONCAT(t2.pref_name, '%')

まさかCONCATを使って、LIKE検索の %keyword% のやつを作るとは・・・

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.