За последние 24 часа нас посетил 18021 программист и 1650 роботов. Сейчас ищут 1325 программистов ...

Нубский вопрос

Тема в разделе "MySQL", создана пользователем machetero, 18 мар 2017.

  1. machetero

    machetero Активный пользователь

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Скажите, при LEFT JOIN "левая" таблица - это та, которая указана слева от LEFT JOIN или это та, которая слева от = после ON

    Эта
    SELECT *
    FROM table as t1
    LEFT JOIN
    table2 as t2
    ON t1.fk = t2.id

    Или эта
    SELECT *
    FROM table as t1
    LEFT JOIN
    table2 as t2
    ON t1.fk = t2.id
     
  2. Drema

    Drema Новичок

    С нами с:
    20 фев 2017
    Сообщения:
    117
    Симпатии:
    30
    В обоих случаях левая таблица это table.
    Или даже проще - всё, что правее LEFT JOIN всегда правое :)
     
    machetero нравится это.
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    t1.fk = t2.id

    поменяй местами
     
  4. Drema

    Drema Новичок

    С нами с:
    20 фев 2017
    Сообщения:
    117
    Симпатии:
    30
    Да хоть обменяйся... бгг))
     
    Fell-x27 нравится это.
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.770
    Адрес:
    :сердА
    Держи: http://www.skillz.ru/dev/php/article-Obyasnenie_SQL_obedinenii_JOIN_INNER_OUTER.html
    --- Добавлено ---
    И что это даст?
    --- Добавлено ---
    ON просто задает правило поиска пересечений. Не важно, что слева, а что справа. Просто когда там получится TRUE, MySQL заберет строку в выборку. Табица, для которой у тебя прописан FROM перед JOIN всегда основная. Таблица, которая цепляется JOIN-ом всегда добавочная.
     
    machetero нравится это.