After some testing, I have a solution that works performantly across the volume of data I need, however Yitzhak Khabinsky, I want to thank you for the effort you put to into your answer, which was very clever in it's approach.
For any:
select distinct s.ID
from
Sentences s
inner join Keywords k on s.Sentence like concat('%', k.keyword, '%')
For all:
select
s.ID
from
Sentences s
inner join Keywords k on s.Sentence like concat('%', k.keyword, '%')
group by s.ID
having count(*) = (select count(*) from Keywords)