<rmcreative>

RSS

SQL JOIN

26 февраля 2011

Очень удивился, когда не нашёл внятной схемы синтаксиса и работы JOIN в SQL. Нарисовал свою:

SQL JOIN

  • MySQL и SQLite не поддерживают FULL JOIN. Эмулируется через UNION.
  • В MySQL CROSS JOIN эквивалентен INNER JOIN. Можно использовать как один, так и другой. В стандарте SQL это не так: INNER JOIN используется с ON, CROSS JOIN — без.
  • SQLite не поддерживает RIGHT OUTER JOIN.

PDF версии:

Комментарии RSS

  1. №3965
    Kirill Vlasov
    Kirill Vlasov 26 февр. 2011 г., 6:06:41

    А чем вы ее такую красивую рисовали? Если не секрет

  2. №3967
    Ekstazi
    Ekstazi 26 февр. 2011 г., 11:35:35

    Я на sql-ex.ru нашел внятную доку. Что мне понравилось, что:

    select * from Table left join ("Table2","Table3") on Table2.tt=Table1.tt and Table3.tt=Table1.tt

    Эквивалентно:

    select * from Table left join "Table2" on Table2.tt=Table1.tt left join Table3 on Table3.tt=Table1.tt
  3. №3968
    Andrei Frolikov
    Andrei Frolikov 26 февр. 2011 г., 11:45:22

    Мне в свое время понравилось это визуально-синтаксическое представление JOIN'ов - http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html.

  4. №3972
    Sam
    Sam 26 февр. 2011 г., 13:32:23

    Kirill Vlasov, MS офисом :)

    Andrei Frolikov, а вот мне не очень понравилось: не ясен синтаксис, не все понимают операции над множествами.

  5. №3973
    Dmitry Scriptin
    Dmitry Scriptin 26 февр. 2011 г., 15:23:55

    Довольно грамотный способ описания синтаксиса, но рисунки пересекающихся кружочков пригодились бы для лучшего понимания результата - кружочки нагляднее, чем записи вида L=R || R=NULL.

  6. №3975
    mktums
    mktums 26 февр. 2011 г., 21:41:46

    А я соглашусь с Андреем и Дмитрием, кружочки нагляднее. С другой стороны если ты разжуешь для тугих, как я, - было бы офигенно =)

  7. №3979
    SkyMan
    SkyMan 28 февр. 2011 г., 11:23:23

    А вот я не понял. Всегда работал по этой схеме: http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_V2.png. ЗЫ. Тег для вставки сылки неадекватен.

  8. №3985
    Петров Николай
    Петров Николай 01 марта 2011 г., 12:09:53

    при всем уважении... но кружочки лучше

  9. №3986
    Андрей
    Андрей 02 марта 2011 г., 16:44:46

    Хорошая работа - диаграмма! Большое спасибо.

  10. №4145
    vredniy
    vredniy 22 марта 2011 г., 23:46:38

    Автор имеет альтернативное видение кружочков и это очень хорошо, по мне так, очень наглядно

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.