Left joining table with existing data negative match
I think you need a simple anti-semijoin. Either with LEFT JOIN - IS NULL:

SELECT x.* 
FROM table_X AS x
    LEFT JOIN TYPE_GOODS_ASSOC AS g
    ON g.GOOD_ID = x.GOOD_ID
WHERE g.GOOD_ID IS NULL ;


or with NOT EXISTS:

SELECT x.* 
FROM table_X AS x
WHERE NOT EXISTS
      ( SELECT 1
        FROM TYPE_GOODS_ASSOC AS g
        WHERE g.GOOD_ID = x.GOOD_ID
      ) ;