あいまい検索(LIKE演算子)
書籍情報テーブル(books)から署名(title)列にSQLという文字が含まれている情報だけを取り出すには以下のSQLを発行する。
なお、取り出す列はtitle,publish,publish_date列とする。
SELECT
title,
publish,
publish_date
FROM
books
WHERE
title LIKE '%SQL%'
;
%はワイルドカードと呼ばれるもので「0文字以上の文字列」を表す。
なので、’%SQL%’で、「’SQL’という文字の前後に0文字以上の文字列を含む文字列」–「’SQL’という文字列を含む文字列」という意味になる。
ワイルドカードには「任意の1文字」を表す「_」もある。
LIKE演算子では「%」や「_」のようなワイルドカードを含まない固定値を条件値として指定することも可能。その場合、=演算子を使った場合と同様、完全一致検索になる。
ただし、完全一致検索をLIKE演算子を使って行うのはまったく意味がないので、避けるようにすること。
※引用 「書き込み式SQLのドリル―ドンドン身に付く、スラスラ書ける」 山田祥寛著 ソシム