Класс 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: