select string that doesn't contain a substring/field TableA.content is varchar2(4000), which was populated from a CLOB value that contains markup and text for a website, paragraphs actually.
TableB.keyword contains a string that I want to find in TableA.content.

I want to do something like this, but it is not quite right.  What am I missing?

select tableA.content from TableA
where (select distinct(TableB.keyword) from TableB) not in TableA.content;


So I want all the rows in TableA that don't have any of the values in TableB.keyword.

I was checking out MATCH or CONTAINS but I can't get it right using those.
I believe the problem could be summarised like this:


  Select a row from TableA if no row exists in TableB such that TableB.keyword is a substring of TableA.content.


It would probably be fair to say that the previous answer implements roughly the same logic. At the same time, it does so in a less straightforward way, in my opinion. The query below matches the proposed logic more directly and is arguably easier to follow:

SELECT
  content
FROM
  TablA
WHERE
  NOT EXISTS
  (
    SELECT
      *
    FROM
      TableB
    WHERE
      TableA.content LIKE '%' || TableB.keyword || '%'
  )
;