Поиск по сайту:
Кто может сказать все и не показаться при этом смертельно скучным? (Ш. Монтескьё).

SQL — Использование Joins

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
20.04.2017
SQL - Использование Joins

Класс Joins используется для объединения записей из двух или более таблиц в базе данных. Joins представляет собой средство для объединения полей из двух таблиц с использованием значений, общих для каждого из них.

Рассмотрим следующие две таблицы:

Таблица 1 — Таблица CUSTOMERS

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 34000.00 |
|  5 | Ruslan   |  34 | Omsk      | 45000.00 |
|  6 | Dima     |  32 | SP        | 45000.00 |
|  7 | Roma     |  34 | SP        | 10000.00 |
+----+----------+-----+-----------+----------+

 

Таблица 2 — Таблица ORDERS

+-----+---------------------+-------------+--------+
|OID  | DATE                | CUSTOMER_ID | AMOUNT |
+-----+---------------------+-------------+--------+
| 102 | 2017-01-11 00:00:00 |           3 |  34000 |
| 100 | 2017-01-11 00:00:00 |           3 |  34000 |
| 101 | 2017-02-02 00:00:00 |           2 |  12500 |
| 103 | 2017-03-05 00:00:00 |           4 |  45000 |
+-----+---------------------+-------------+--------+

 

Теперь, давайте объединим эти две таблиц в нашем заявлении SELECT, как показано ниже.

SQL> SELECT ID, NAME, AGE, AMOUNT
   FROM CUSTOMERS, ORDERS
   WHERE  CUSTOMERS.ID = ORDERS.CUSTOMER_ID;

 

Это произведет следующий результат.

+----+----------+-----+--------+
| ID | NAME     | AGE | AMOUNT |
+----+----------+-----+--------+
|  3 | Oleg     |  33 |  21000 |
|  3 | Oleg     |  33 |  21000 |
|  2 | AndreyEx |  38 |  12500 |
|  4 | Masha    |  35 |  45000 |
+----+----------+-----+--------+

 

Здесь можно отметить, что Joins выполняется в предложении WHERE. Несколько операторов могут быть использованы для объединения таблиц, таких как =, <,>, <>, <=,> =, =, BETWEEN, LIKE и NOT!; все они могут быть использованы для объединения таблиц. Тем не менее, наиболее распространенным является оператор равный символу.

Существуют различные типы Joins доступные в SQL:

  • INNER JOIN — возвращает строки, когда совпадают в обеих таблицах.
  • LEFT JOIN — возвращает все строки из левой таблицы, даже если нет совпадений в таблице справа.
  • RIGHT JOIN — возвращает все строки из правой таблицы, даже если нет совпадений в левой таблице.
  • FULL JOIN — возвращает строки, когда есть совпадение в одной из таблиц.
  • SELF JOIN − используется для соединения таблицы с самой собой как если бы в таблице были две таблицы, временное переименование хотя бы одной таблицы в операторе SQL.
  • CARTESIAN JOIN — возвращает декартово произведение множеств записей из двух или более соединенных таблиц.

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.