I use the following Oracle SQL to delete records using inner join
DELETE FROM A
WHERE EXISTS
(SELECT /*+ PARALLEL(A) */
1
FROM A
INNER JOIN B
ON CAST(A.UT AS DATE) BETWEEN
B.STRAT_DATE AND B.END_DATE);
and get 26831495 deleted, but not what I want
SELECT /*+ PARALLEL(A) */
COUNT(*)
FROM A
INNER JOIN B
ON CAST(A.UT AS DATE) BETWEEN
B.STRAT_DATE AND B.END_DATE;
-- only 343936 records selected
I only want to delete the above 343936 records.
select count(*) from A
--26831495 selected
how to delete the above 343936 records? thanks
the version of Oracle is 12c