Latest web development tutorials

SQLite присоединяется

SQLite этоприсоединяется пункт , чтобы объединить две или более таблиц в записях базы данных.РЕГИСТРИРУЙТЕСЬ является общее значение путем объединения двух полей в средстве таблицы.

SQL определяет три основных типа соединений:

  • Кросс-соединения - CROSS JOIN

  • En - INNER JOIN

  • Внешнее подключение - внешнее соединение

Прежде чем мы продолжим, давайте предположим, что есть две таблицы КОМПАНИЯ и ОТДЕЛ. Мы уже видели используется для заполнения таблицы заявление компании INSERT. Предположим теперь, КОМПАНИЯ записи таблицы, перечисленные ниже:

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000,0
3 Teddy 23 Норвегия 20000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

Еще одна таблица DEPARTMENT, определяется следующим образом:

CREATE TABLE ОТДЕЛ (
   ID INT PRIMARY KEY NOT NULL,
   DEPT CHAR (50) NOT NULL,
   EMP_ID INT NOT NULL
);

Ниже приводится INSERT заявление заполняется таблица ОТДЕЛ:

INSERT INTO ОТДЕЛ (ID, DEPT, EMP_ID)
VALUES (1, 'IT Billing', 1);

INSERT INTO ОТДЕЛ (ID, DEPT, EMP_ID)
VALUES (2, 'Engineering', 2);

INSERT INTO ОТДЕЛ (ID, DEPT, EMP_ID)
ЗНАЧЕНИЯ (3, 'Финансы', 7);

И, наконец, мы имеем следующий список записей в таблице ОТДЕЛ:

ID DEPT EMP_ID
---------- ---------- ----------
1 Billing 1
2 Engineerin 2
3 Финансы 7

Кросс-соединения - CROSS JOIN

Кросс-коммутацию (CROSS JOIN) каждая строка первой таблицы с каждой строкой второй таблицы, чтобы соответствовать. Если оба входных столбцов таблицы х и у, соответственно, таблица результатов имеет х + у столбцов. Так как кросс-коммутации (CROSS JOIN) может привести к очень большой стол, необходимо соблюдать осторожность при использовании их только тогда, когда это необходимо.

Ниже приведен синтаксис для кросса (перекрестное соединение) из:

SELECT ... FROM table1 CROSS JOIN таблица2 ...

На основании приведенной выше таблицы, мы можем написать кросс-коммутации (CROSS JOIN), следующим образом:

SQLite> SELECT EMP_ID, ИМЯ, DEPT ОТ КОМПАНИИ CROSS JOIN ОТДЕЛ;

Приведенный выше запрос будет производить следующие результаты:

EMP_ID ИМЯ DEPT
---------- ---------- ----------
1 Павел IT Billing
2 Пол Engineerin
7 Пол Финансы
1 Allen IT Billing
2 Аллен Engineerin
7 Аллен Финансы
1 Teddy IT Billing
2 Тедди Engineerin
7 Тедди Финансы
1 Mark IT Billing
2 Марк Engineerin
7 Марк Финансы
1 Дэвид IT Billing
2 Дэвид Engineerin
7 Дэвид Финансы
1 Ким IT Billing
2 Ким Engineerin
7 Ким Финансы
1 Джеймс IT Billing
2 Джеймс Engineerin
7 Джеймс Финансы

En - INNER JOIN

Внутреннее соединение (INNER JOIN), чтобы создать новый результат таблицы объединить две таблицы (Table1 и TABLE2) значений объединяемых столбцов предиката. Запросы будут TABLE1 и table2 в каждой строке в каждой строке сравниваются, чтобы найти все строки, которые удовлетворяют предикату присоединиться к соответсвующей пар. Когда удовлетворено значений объединяемых столбцов предиката А и В каждый соответствующей строки результата будут объединены в одну строку.

Внутреннее соединение (INNER JOIN) является наиболее распространенным типом является тип соединения по умолчанию. ВНУТРЕННИЙ ключевое слово не является обязательным.

Вот синтаксис для внутреннего соединения (INNER JOIN) из:

SELECT ... FROM table1 [INNER] JOIN таблица2 ON conditional_expression ...

Для того , чтобы избежать дублирования и сохранить формулировку Короче говоря, вы можете использовать оператор в связи сиспользованием выражения (INNER JOIN) условия.Это выражение определяет список одного или нескольких столбцов:

SELECT ... FROM table1 РЕГИСТРИРУЙТЕСЬ TABLE2 ИСПОЛЬЗОВАНИЕ (column1, ...) ...

Естественное соединение (NATURAL JOIN) подобенРЕГИСТРИРУЙТЕСЬ ... ИСПОЛЬЗОВАНИЕ, но это будет равно значение между значением двух таблиц в каждом столбце автоматически проверять на наличие:

SELECT ... FROM table1 Natural Join table2 ...

На основании приведенной выше таблицы, мы можем записать внутреннее соединение (INNER JOIN), следующим образом:

SQLite> SELECT EMP_ID, ИМЯ, DEPT ОТ КОМПАНИИ INNER JOIN ОТДЕЛ
        ON COMPANY.ID = DEPARTMENT.EMP_ID;

Приведенный выше запрос будет производить следующие результаты:

EMP_ID ИМЯ DEPT
---------- ---------- ----------
1 Павел IT Billing
2 Аллен Engineerin
7 Джеймс Финансы

Внешнее подключение - внешнее соединение

Внешнее соединение (OUTER JOIN) является внутреннее соединение (INNER JOIN) расширений. Хотя стандарт SQL определяет три типа внешних объединений: влево, вправо, полный, но SQLite поддерживает тольколевое внешнее объединение (LEFT OUTER JOIN).

Внешнее соединение (OUTER JOIN) заявленные условия и метод внутренней связи (INNER JOIN) являются такими же, использование ПО, ИСПОЛЬЗОВАНИЯ ПРИРОДНЫХ ключевое слово или выражение. Таблица Начальные результаты рассчитывается таким же образом. После того как расчеты завершены, основное подключение внешних соединений (OUTER JOIN) из одного или двух таблиц не связаны с какой-либо линии в слиянии, внешнее соединение столбец со значением NULL, прикрепить их к таблице результатов.

Ниже приведен синтаксис для левого внешнего соединения (LEFT OUTER JOIN) из:

SELECT ... FROM table1 LEFT OUTER JOIN таблица2 ON conditional_expression ...

Для того , чтобы избежать дублирования и сохранить формулировку Короче говоря, вы можете использовать выраженияUSING выписки внешние соединения (OUTER JOIN) условия.Это выражение определяет список одного или нескольких столбцов:

SELECT ... FROM table1 LEFT OUTER JOIN TABLE2 ИСПОЛЬЗОВАНИЕ (column1, ...) ...

На основании приведенной выше таблицы, мы можем написать внешнее соединение (OUTER JOIN), следующим образом:

SQLite> SELECT EMP_ID, NAME, DEPT ОТ КОМПАНИИ LEFT OUTER JOIN ОТДЕЛ
        ON COMPANY.ID = DEPARTMENT.EMP_ID;

Приведенный выше запрос будет производить следующие результаты:

EMP_ID ИМЯ DEPT
---------- ---------- ----------
1 Павел IT Billing
2 Аллен Engineerin
            Тедди
            Марк
            Дэвид
            Ким
7 Джеймс Финансы