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

Европа - быстрые серверы на дисках NVMe от $5 / Русский датацентр от 199руб

Тема в разделе "PHP и базы данных", создана пользователем mastrelelik, 9 апр 2018.

  1. mastrelelik

    mastrelelik Новичок

    Сообщения:
    80
    Address:
    Zhytomyr, Ukraine
    Country:
    Location on Map:
    Есть две таблицы (товары и свойства)
    t_tovars
    tovar_id | title
    t_properties
    tovar_id | property_value

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

    c0dex web.dev 2002-... Команда форума Партнер клуба

    Сообщения:
    7.677
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    left join + is null по колонке в запросе.
     
  3. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.571
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    К вышесказанному стоит добавить, что в 99% случаев, когда ты собираешься написать вложенный запрос,ты совершаешь ошибку.
     
  4. mastrelelik

    mastrelelik Новичок

    Сообщения:
    80
    Address:
    Zhytomyr, Ukraine
    Country:
    Location on Map:
    Просьба пояснить это утверждение
     
  5. AnrDaemon

    AnrDaemon Продвинутый новичок

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

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.252
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    мы в последнее время чаще join'ом отсекаем лишние.
     
  7. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.571
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Джойном? Или WHERE?
    Всё таки EXCEPT/INTERSECT запросы - вещь редкая.
     
  8. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.252
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    вероянтнее оба сразу, join и отсечь (where)
     
  9. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.571
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    :) Это была слабая попытка навести на мысль что JOIN сам по себе не может отсечь что-либо.
     
  10. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.252
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    ну если только NULL отсечь,
    но я говорил о том что мы join'им обычно чтоб отсечь строки, а не расширить результирующий набор
     
  11. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.571
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Расширить исходный набор, чтобы появилось достаточно информации для отсечения :)
    Мы правильно друг друга поняли, просто смотрим на ситуацию с несколько разных точек.
     
  12. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.252
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    ну так тоже можно выразиться )
     
  13. grigori

    grigori ( ͡° ͜ʖ ͡°) Команда форума

    Сообщения:
    7.053
    Ваш город:
    Stormwind
    Address:
    Scottsdale, United States
    Country:
    Location on Map:
    чооо? ))) JOIN часто бывает INNER
     
    Yoskaldyr нравится это.
  14. AnrDaemon

    AnrDaemon Продвинутый новичок

    Сообщения:
    4.571
    Ваш город:
    Moscow, Russia
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    У меня как-то INNER JOIN перестали появляться в проектах…
    Только в статистике.
     
  15. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.252
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    в этом и суть, что у нас в массе (INNER) JOIN и очень редко LEFT