PostGIS:删除重叠的多边形

PostGIS: Delete polygons that overlap

我有四个不同的多边形 shapefile,需要从多边形“a”中删除与多边形“b、c 和 d”相交的多边形,留下 table 只有“a”中不相交的多边形与任何其他层相交。有没有办法在 PostGIS 中做到这一点?

a(id,geom) b(id,geom) c(id,geom) d(id,geom)

使用EXISTS()表达式,例如:

DELETE 
  FROM <table_a> a
 WHERE EXISTS
     ( SELECT 1
         FROM <table_b> b
        WHERE ST_Intersects(a.geom,b.geom)
     )
    or EXISTS
     ( SELECT 1
         FROM <table_c> c
        WHERE ST_Intersects(a.geom,c.geom)
     )
    or EXISTS
     ( SELECT 1
         FROM <table_d> d
        WHERE ST_Intersects(a.geom,d.geom)
     )