Объяснение работы SQL JOIN на примере диаграмм Венна
Категории:
Базы данных (mysql)
Использование синтаксиса SQL JOINS при работе с Базами данных достаточно популярно, без них не обходится любой серьезный SQL запрос. Я думал, что статья про SQL joins Ligaya Turmelle' великолепный примером для программистов-новчиков. Использование диаграмм Венна для объяснения их работы, вполне естественно и наглядно. Однако, комментируя ее статью, я обнаружил, что ее диаграммы Венна не вполне соответствовали синтаксису SQL join.
Я решил это разъяснить на примерах ниже. Предположим, что у нас есть две следующие таблицы. Слева Таблица A, и таблица B справа. Поместим в каждой из них по 4 записи (строки).
id name id name -- ---- -- ---- 1 Pirate 1 Rutabaga 2 Monkey 2 Pirate 3 Ninja 3 Darth Vader 4 Spaghetti 4 Ninja Давайте соединим эти таблицы с помощью SQL join по столбцу "name" несколькими способами и посмотрим как это будет выглядеть на диаграммах Венна.
Есть также декартовский соединение или CROSS JOIN, которое, насколько я могу сказать, не может быть выражено в диаграмме Венна: SELECT * FROM TableA CROSS JOIN TableB Оно соединяет "все со всеми", в результате мы получаем 4*4 = 16 строк, что намного больше, чем в оригинальных таблицах. Это очень опасно для таблиц, содержащих большое количество данных. То есть получаются ВСЕ возможные комбинации, включая все Null-null строчки. Источник: Перевод статьи "A Visual Explanation of SQL Joins" Джефа Атвуда
18 марта 2010 года
Комментарии (7)Добавить комментарий >>galina 29 июля 2011 года 21:10:01 # комментировать
[url="http://spica.pro-net.in/"]Жизнь - это[/url] [url="http://klyuch.portall.in/"]очередь за [/url][url="http://znakomstva.socium.in/"]смертью, [/url][url="http://job.skwira.in/"]дурак тот кто[/url] [url="http://kontekst.ferexpro.in/"]лезет без[/url] [url="http://trud.pro-net.in/"]очереди.[/url]
Владимир 03 марта 2011 года 10:11:04 # комментировать
Спасибо за комментарии, поправил и кое-где дополнил текст.
Митрич 19 января 2011 года 14:44:48 # комментировать
Непанимайт) Рисовайт хаясо, гаварить плохой)
Владимир 26 ноября 2010 года 14:00:57 # комментировать
Спасибо за комментарии! это был черновой вариант, обязательно его откорректирую!
настя 23 ноября 2010 года 21:09:41 # комментировать
жесть полный улет огромное спосибо тебе а ошибочки исправь
Tonio 18 марта 2010 года 14:10:54 # комментировать
О, очень кстати! Спасибо)
Хорошая статья, тока пара ошибочек есть )
пользуй проверку орфографии
Alex 13 июля 2010 года 00:56:37 # комментировать
Я плохо говорить по русски... :))))
Добавить комментарий |