этом примере?
SELECT *
FROM product_price pp
WHERE pp.price = (SELECT min(ppm.price)
FROM product_price ppm
WHERE ppm.product_id = pp.product_id)
у нас есть две одинаковые таблицы pp и ppm
мы хотим получить все данные * для которых pp.price минимален
Мы это делаем через внутренний запрос
WHERE pp.price = (SELECT min(ppm.price)
FROM product_price ppm
а что делает сравнение WHERE ppm.product_id = pp.product_id ?
у нас ведь две одинаковые таблицы и ppm.product_id всегда равен pp.product_id т.е. это бессмысленное условие как мне кажется. Но я не прав и хочу понять почему
нет, все строки со всеми сравниваются
Спасибо, вроде осознал
Обсуждают сегодня