The MySQL query is :
SELECT
p1.id,p1.name, p1.category_id, p1.price AS p1_price, p2.price as p2_price
FROM
products p1
LEFT JOIN products p2
ON p1.category_id=p2.category_id AND
p1.price<p2.price AND p2.price IS NULL
The products
table is shown in the following screenshot :
And the result the query produces is in the following screenshot :
The result actually shows the table as it is with just a column (i.e. p2_price
) with all NULL
values.
But the condition AND p2.price IS NULL
in the ON
condition seems to be never true as no row
in the table p2
has NULL
value in the price
column. So how is the result produced ?
EDIT: this question never uses the term INNER JOIN
and is therefore not any duplicate of any question regarding INNER JOIN
.
EDIT2: This question is about MySQL, so it cannot be termed as duplicate of any question of other language i,e. SQL .