Просьба помочь с вложенным запросом

mastrelelik

Новичок
Есть две таблицы (товары и свойства)
t_tovars
tovar_id | title
t_properties
tovar_id | property_value

Как выбрать только те товары, для которых property_value=10 или для которых в таблице t_properties вообще нет записей?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
left join + is null по колонке в запросе.
 

AnrDaemon

Продвинутый новичок
К вышесказанному стоит добавить, что в 99% случаев, когда ты собираешься написать вложенный запрос,ты совершаешь ошибку.
 

AnrDaemon

Продвинутый новичок
Что именно нуждается в пояснении? То, что 99% вложенных запросов, которые новички порываются написать, решаются без подобных ухищрений? А в большинстве случаев - ещё и тривиально решаются?
Начни с таблицы, содержащий самые специфичные данные и джойни на неё недостающие.
И вообще, https://blog.jooq.org/2016/07/05/say-no-to-venn-diagrams-when-explaining-joins/
 

AnrDaemon

Продвинутый новичок
Джойном? Или WHERE?
Всё таки EXCEPT/INTERSECT запросы - вещь редкая.
 

AnrDaemon

Продвинутый новичок
:) Это была слабая попытка навести на мысль что JOIN сам по себе не может отсечь что-либо.
 

WMix

герр M:)ller
Партнер клуба
ну если только NULL отсечь,
но я говорил о том что мы join'им обычно чтоб отсечь строки, а не расширить результирующий набор
 

AnrDaemon

Продвинутый новичок
Расширить исходный набор, чтобы появилось достаточно информации для отсечения :)
Мы правильно друг друга поняли, просто смотрим на ситуацию с несколько разных точек.
 

AnrDaemon

Продвинутый новичок
У меня как-то INNER JOIN перестали появляться в проектах…
Только в статистике.
 

WMix

герр M:)ller
Партнер клуба
в этом и суть, что у нас в массе (INNER) JOIN и очень редко LEFT
 
Сверху