Using OR in LIKE Query in MySQL to compare multiple fields
mysql, sql-like
Solution
Use this::
SELECT * FROM MyTable WHERE (Column1 LIKE '%keyword1%' OR Column2 LIKE
'%keyword1%') AND (Column1 LIKE '%keyword2%' OR Column2 LIKE '%keyword2%');
Problem
I always thought that you could use `OR` in a `LIKE` statment to query things in MySQL. So, if I wanted to compare multiple fields in a row to 1 keyword or term: ``` SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword%'; ``` and if I had an array of words to compare: ``` SELECT * FROM MyTable WHERE Column1 OR Column2 LIKE '%keyword1%' AND Column1 OR Column2 LIKE '%keyword2%'; ``` I don't believe that syntax is correct, however. Is there an efficient method of writing this aside from something like: ``` SELECT * FROM MyTable WHERE Column1 LIKE '%keyword1%' OR Column2 LIKE '%keyword1%' AND Column1 LIKE '%keyword2%' OR Column2 LIKE '%keyword2%'; ``` Am I going about this correctly?