Читайте также: |
|
Различные SQL JOINs
Прежде чем приводить примеры, мы перечислим типы JOIN доступные к использованию и различия между ними.
· JOIN: Возвращает строки, когда есть хотя бы одно совпадение в обеих таблицах.
· LEFT JOIN: возвращает все записи первой таблицы списка и те записи правой таблицы, которые совпадают с с записями левой таблицы по объединяющему столбцу. LEFT JOIN удобно применять тогда, когда требуется получить все записи главной таблицы и соответствующие им записи зависимой таблицы.
· RIGHT JOIN: Работает аналогично, только по правой таблице.
· FULL JOIN: Возвращает строки, когда есть хоть одно совпадение в любой из таблиц.
Для пояснений будут использоваться следующие таблицы:
Люди, проживающие в городах (таблица Person)
Name | CityId |
Андрей | |
Леонид | |
Сергей | |
Григорий |
Города (таблица City)
Id | Name |
Москва | |
Санкт-Петербург | |
Казань |
INNER JOIN
Объединяет две таблицы, где каждая строка обеих таблиц в точности соответствует условию. Если для строки одной таблицы не найдено соответствия в другой таблице, строка не включается в набор.
SELECT *
FROM Person
INNER JOIN City ON Person.CityId = City.Id
Person.Name | Person.CityId | City.Id | City.Name |
Андрей | Москва | ||
Леонид | Санкт-Петербург | ||
Сергей | Москва |
Выбор по первичному ключу и индексу положительно сказывается на скорости выборки.
Дата добавления: 2015-07-20; просмотров: 50 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ФИО Отдел Отдел Этап | | | CROSS JOIN |