SQL で単語を検索するにはどうすればいいですか?

SQL で単語を検索するにはどうすればいいですか?

たとえば、語句に「Engineer」という単語が含まれる列の行をフィルタリングしているとします。すべての可能性がわからない場合、「Engineering」や「Engineered」または「Engineers」などの単語を除外するにはどうすればよいでしょうか。

例の行には次のものが含まれます。

1|System Engineering
2|System Engineer
3|System Engineers
4|System Engineer Department

したがって、2 行目と 4 行目のみが表示されます。

私は使用していますWHERE title LIKE '%Engineer%'

答え1

WHERE title LIKE '%Engineer' OR title LIKE '%Engineer %'

最初のWHERE句は「システム エンジニア」のようなフレーズに一致し、2 番目の句は「システム エンジニア部門」のようなフレーズに一致します。

答え2

WHERE title LIKE '%Engineer %' (最後の % の前にスペースを入れます) を試してください。

これにより、Engineer がその単語を含む他の単語から分離されるようになります。

答え3

SELECT * FROM table1 WHERE MATCH (search_column1) AGAINST ("エンジニア");

UPD: リンク先ドキュメンテーション

関連情報