-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFROM_OUTER_INNER_JOIN.txt
87 lines (63 loc) · 4.46 KB
/
FROM_OUTER_INNER_JOIN.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
****** SQL оператор FROM ******
SQL оператор FROM используется для перечисления таблиц и любых
объединений, необходимых для SQL оператора.
Синтаксис оператора FROM в SQL:
*****************************************************************************************
FROM table1
[ { INNER JOIN
| LEFT [OUTER] JOIN
| RIGHT [OUTER] JOIN
| FULL [OUTER] JOIN } table2
ON table1.column1 = table2.column1 ]
*****************************************************************************************
Параметры или аргументы:
- table1 и table2 - таблицы, используемые в операторе SQL.
Две таблицы объединяются на основе
table1.column1 = table2.column1.
!!! ВНИМАНИЕ !!!
В SQL операторе FROM должна быть указана хотя бы одна таблица.
Если в операторе FROM указаны две или более таблиц, эти таблицы обычно объединяются
с использованием объединений INNER или OUTER.
!!! ВНИМАНИЕ !!!
****** Оператор FROM c одной таблицей ******
Как в SQL-запросе использовать FROM, в котором указана только одна таблица.
У нас есть таблица suppliers со следующими полями: supplier_id, supplier_name,
city, state.
*****************************************************************************************
SELECT *
FROM suppliers
WHERE supplier_id < 400
ORDER BY city DESC;
*****************************************************************************************
В этом примере мы использовали оператор FROM для отображения таблицы suppliers. В этом
запросе нет выполненных соединений, так как в FROM мы перечислили только одну таблицу.
****** Две таблицы в операторе FROM (INNER JOIN) ******
Как использовать предложение FROM, чтобы INNER JOIN (объединить) вместе две таблицы.
У нас есть таблица products со следующими полями: product_id, product_name, category_id.
И таблица categories с полями: category_id, category_name.
Формируем следующий SQL запрос в PgSQL:
*****************************************************************************************
SELECT products.product_name, categories.category_name
FROM products
INNER JOIN categories
ON products.category_id = categories.category_id
WHERE product_name <> 'Pear';
*****************************************************************************************
В этом примере оператора FROM используется объединение двух таблиц - products и categories.
В этом случае мы используем FROM, чтобы указать INNER JOIN между таблицами products и categories
на основе столбца category_id в обеих таблицах.
****** Две таблицы в операторе FROM (OUTER JOIN) ******
Рассмотрим как использовать FROM, когда мы соединяем вместе две таблицы, используя OUTER JOIN.
В этом случае мы рассмотрим LEFT OUTER JOIN (Левое слияние). Используем те же таблицы products
и categories, что и в примере INNER JOIN выше, но на этот раз мы объединим таблицы, используя
LEFT OUTER JOIN.
Используем следующий SQL запрос в PgSQL:
*****************************************************************************************
SELECT products.product_name, categories.category_name
FROM products
LEFT OUTER JOIN categories
ON products.category_id = categories.category_id
WHERE product_name <> 'Pear';
*****************************************************************************************
В этом примере FROM используется LEFT OUTER JOIN с таблицами products и categories на основе
category_id в обеих таблицах.