Sometimes, I prefer to write a LEFT JOIN and sometimes I prefer to write a correlated subquery. Essentially, the following two queries are the same:
FROM customer c
LEFT JOIN address a ON c.customer_id = a.address_id;
(SELECT address FROM address a WHERE c.customer_id = a.address_id)
FROM customer c;
I haven't worked out the formalisms about when they're really the same and when they're only "similar", but you probably get the idea.
It would be great to be able to refactor the SQL query in a way to transform the syntaxes into one another