d query, so nothing is gained from the
 transformation.

* When you want to see the exception. For example, suppose the question is:
 what books are longer than Das Kapital? These two queries are effectively
 almost the same:

SELECT DISTINCT Bookcolumn_1.*                     
FROM   Books AS Bookcolumn_1 JOIN Books AS Bookcolumn_2 USING(page_count) 
WHERE  title = 'Das Kapital';

SELECT DISTINCT Bookcolumn_1.* 
FROM   Books AS Bookcolumn_1 
WHERE  Bookcolumn_1.page_count > 
 (SELECT DISTINCT page_count
 FROM   Books AS Bookcolumn_2
 WHERE  title = 'Das Kapital');

* The difference is between these two SQL statements is, if there are two
 editions of Das Kapital (with different page counts), then the self-join
 example will return the books which are  longer than the shortest edition
 of Das Kapital. That might be the wrong answer, since the original
 question didn't ask for "... longer than ANY book named Das Kapital"
 (it seems to contain a false assumption that there's only one edition).

URL: https://mariadb.com/kb/en/subqueries-and-joins/https://mariadb.com/kb/en/subqueries-and-joins/