Take for example the following table (that use mysql in its documentation) :
+---------+--------+-------+
| article | dealer | price |
+---------+--------+-------+
| 0001 | A | 3.45 |
| 0001 | B | 3.99 |
| 0002 | A | 10.99 |
| 0003 | B | 1.45 |
| 0003 | C | 1.69 |
| 0003 | D | 1.25 |
| 0004 | D | 19.95 |
+---------+--------+-------+
and then suppose we want to get in output the row with the max price usign the following query
SELECT s1.article, s1.dealer, s1.price
FROM shop s1
LEFT JOIN shop s2 ON s1.price < s2.price
WHERE s2.article IS NULL;
Yes it works right it return the last column of the table (the one with the max price).
With this query i don't really understand how it works (not left join) but why we have an article that IS NULL.
I think the same thing happen if we want to do a left join without the intersection so we use :
SELECT * from A LEFT JOIN B ON A.key = B.key WHERE B.key IS NULL.<br>
But why we have b.key is null if we always have a value for that column?