Since SQL doesn’t allow deleting from multiple tables directly using JOIN, I split the logic into two separate DELETE statements, each using a WHERE ... IN (SELECT ...) clause.
Step 1: Delete from books
DELETE FROM books WHERE BOOK_ID IN ( SELECT b1.BOOK_ID FROM books b1 JOIN price p1 ON b1.BOOK_ID = p1.ID WHERE p1.ISBN IS NOT NULL AND p1.VALUTA = 'yen' AND b1.YEAR BETWEEN 2011 AND 2014 );
Step 2: Delete from price
DELETE FROM price WHERE ID IN ( SELECT p1.ID FROM price p1 JOIN books b1 ON p1.ID = b1.BOOK_ID WHERE p1.ISBN IS NOT NULL AND p1.VALUTA = 'yen' AND b1.YEAR BETWEEN 2011 AND 2014 );