Among other questions, this one asked how to delete from a join.
My question: How much of this is standard SQL? On which databases would this actually work (most not
The last time I looked at the ANSI standard, the preferred method was subqueries and not JOINs. When dealing with only one implementation, where porting your code is not an issue, then you can use vendor-specific extensions freely, when they are more efficient (though UPDATE FROM, and I imagine DELETE FROM in some scenarios, has proven unpredictable: https://sqlserverfast.com/blog/hugo/2008/03/lets-deprecate-update-from/). Personally, I typically use CTEs for a lot of DELETE operations... but my development is restricted to SQL Server and I don't have to worry much about portability at all. MERGE can also be a good choice when you are performing multiple DML operations, but again this is not implemented the same (or at all) across all vendors.
In your case, I would say stay away from DELETE FROM ... JOIN because the syntax will vary slightly on the three platforms. If you use stored procedures this is less of an issue than if the SQL is embedded in your application(s), but still a hassle nonetheless.