Визуальное объяснение SQL JOIN

В этой статье мы рассмотрим визуальное представление соединение таблиц SQL командой JOIN.

Очень часто не хватает визуального представления, для понимания как происходит соединенная выборка данных в таблицах с использованием условий:

В качестве визуализации будем использовать диаграммы Эйлера

Для начала нам потребуется две таблицы с некоторыми перекликающимся записями:

INNER JOIN

Рассмотрим классический выбор данных которые присутствуют в обеих таблицах

Внутреннее соединение INNER JOIN производит выборку только записей, которые соответствуют как в таблице А, так и в таблице В.

FULL OUTER JOIN

Полное внешнее объединение FULL OUTER JOIN производит выборку множество всех записей в таблице А и в таблице B, с соответствующими записями с обеих сторон при их наличии. Если совпадения нет, отсутствует сторона будет содержать NULL.

LEFT OUTER JOIN

Левое внешнее объединение LEFT OUTER JOIN производит полный набор записей из таблицы А, с соответствующей записи (если таковые имеются) к Таблице B. Если совпадения нет, то правая часть будет содержать NULL.

LEFT OUTER JOIN с исключением записей

Для получения набора записей только в таблице А, но не в таблице B, мы выполняем тоже самое левое внешнее соединение LEFT OUTER JOIN, но исключаем записи, оставляя только случай в котором нету сопоставимых записей левой стороне. В итоге справа у нас только NULL.

FULL OUTER JOIN с выбором уникальных записей

Для получения уникального набора записей в таблице A и в таблице B, мы выполняем полное внешнее соединение FULL OUTER JOIN, исключая отсутствующие записи при полной выборке с обеих сторон.

CROSS JOIN

Так же существует выборка перекрестного соединения, CROSS JOIN, с перебором все вариантов, которое не объяснить данными диаграммами

Данное перекрестное соединение выбирает буквально «все к всему», в результате мы получим 4 x 4 = 16 записей, намного более чем в оригинале мы имеем в таблицах.

Как загрузить дамп MySQL базы через консоль

Залить базу через mysql-клиент (mysql) через ssh или консоль можно следующими командами:

Если вы работаете на локальной машине и у вас windows, для использования команды mysql вам нужно прописать путь к mysql в path (пути разделяются точкой с запятой ;):

bin

 

Если в качестве сервера вы используйте OpenServer, вам достаточно запустить встроенную консоль:

1430474796387

Установка VMware Tools на Сервера Debian, Ubuntu и CentOS

Установка VMware Tools на Сервера Debian, Ubuntu и CentOS

Напомним, что полноценная работа любой гостевой системы на гипервизоре VMWare ESXi крайне затруднительна без установки специального набора приложения и драйверов, называемый VMware Tools. Напомним зачем, собственно, нужны VMware Tools. Читать далее «Установка VMware Tools на Сервера Debian, Ubuntu и CentOS»