【SQL練習】サンプルデータベースを用意するでMySQL公式のデータベースをローカルに作成されている方には特におすすめです。本記事の目的LIKE句を使えるようになる。映画の概要とレンタルする際のデータ(期間やレンタル料金)などが記載されたテーブルです。実際はdescriptionとspecial_featuresというカラムもあるのですが、文字列のため長く、とても見にくいので今回は排除しています。【SQL】LIKE句の具体例を行っていきますそもそもLIKE句とは?「ある文字を含むデータ」を取得したい場合LIKE句を使います。映画のタイトルに「LOVE」を含む映画を抽出したいとします。実際の使い方を見てみましょう。DESIRE」などの「LOVEを含む」単語も抽出できていますね。LIKE句LIKE句は「〇〇なような〜」という意味を持つ通り、「〇〇を含むレコード」を抽出することができます。その〇〇は「%」を使って指定することができます。「%」はワイルドカードと呼ばれており、どんな文字列にも一致することを意味する記号です。LOVEの例で使用した方法になります。‘%LOVE%’のような形で使用します。該当カラムにLOVEが含まれているレコードはすべて抽出することができます。‘LOVE%’前方一致は抽出したい文字(LOVE)の後側に「%」を置くことで、LOVE〇〇と言った文字を含むレコードを抽出することができます。LOVE以降の文字列はどんな文字列にも一致すると考えるとわかりやすいです。〇〇LOVEと言った文字を含むレコードを抽出することができます。LOVE以前の文字はどんな文字列にも一致すると考えるとわかりやすいです。「前方一致」と「後方一致」を実際に書いて見て、抽出結果を見てみましょう。LOVE〇〇のみが抽出されていますね。後方一致はどうなるのでしょう?■後方一致こちらもしっかり〇〇LOVEのみが抽出されてますね。DESIR」の2つになります。どちらも〇〇LOVEでもLOVE〇〇でもないですね。※空白は文字とみなされます。LIKEの基礎はここまでで十分理解いただいたと思います。次に否定系を見ていきます。〇〇を含む文字列以外を抽出したいと考えた時どのようにすれば良いのでしょうか。非常に簡単でNOTを使うだけになります。‘%文字列%’では実際に使ってみましょう。今回もfilmテーブルを使って、母音を「A=あ」しか使っていないタイトルを抽出します。「I=い」「U=う」「E=え」「O=お」を一切使っていないタイトルなんぞいくつあるのか不思議なもんですがw複数条件は単純に&で繋いでいます。助長ではありますが、4つくらいなら問題ないです。5つだけありましたねw合計で1,000タイトル以上はあったので、やはりかなりレアではありますwおわりにLIKE検索いかがでしたでしょうか?実務でもログ抽出などの際に頻出するので、覚えておいて損はない便利関数です。その他便利関数についても解説してますので、良ければ見てください。【SQL】COALESCE()関数を使って、NULLを0に置き換える。Shogo某Web系企業でアクセス解析やKPI管理をやってます。ShogoProfile某Web系企業でwebマーケとデータ分析をやってます。PMやインハウスマーケターに向けて、情報発信していきます。in~4【SQL】サブクエリはWTIH句が最強。可読性こそ現場での正義。5【簡単】MySQL公式サンプルデータでSQLの練習環境を作る。sampling2x。