I have a table full of strings, I want to search for a bunch of words, and retrieve the strings that contains at least 1 of them, for example: 

The words I want to search are "cat", "dog" and "bat".

And some strings in a table are:

```
1  "hi cat, I like dogs and owls"
2  "hi cat"
3  "hey bat, cat, owl, dog"
4  "orange is sweet"

```

This query should return 1, 2, & 3, but not 4.

I know join might be a solution, but I have no idea how to implement it with more than 6 words for instance.

Edit: 
Is there a way I can sort the results by the biggest match? meaning I want first results to be the ones that contains most of the keys, if any, that's why I ignored the LIKE-OR combination.