Lý thuyết tập hợp cho JOIN trong SQL

Kết hợp dữ liệu trong SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Sơ đồ Venn và lý thuyết tập hợp

Hình có ba sơ đồ Venn: UNION, INTERSECT và EXCEPT. UNION có hai hình tròn chồng lên nhau, toàn bộ tô xanh. INTERSECT chỉ tô phần giao nhau. EXCEPT chỉ tô phần bên trái không trùng với bên phải.

Kết hợp dữ liệu trong SQL

Sơ đồ Venn và lý thuyết tập hợp

Hình ảnh ba sơ đồ Venn, hai cái mờ. Chỉ sơ đồ UNION được làm nổi bật, với hai hình tròn chồng lên nhau tô xanh toàn bộ.

Kết hợp dữ liệu trong SQL

Sơ đồ UNION

  • UNION nhận hai bảng và trả về mọi bản ghi từ cả hai bảng

Sơ đồ hai bảng, trái và phải. Bên phải minh họa điều xảy ra khi thực hiện UNION trên hai bảng.

Kết hợp dữ liệu trong SQL

Sơ đồ UNION ALL

  • UNION ALL nhận hai bảng và trả về mọi bản ghi từ cả hai bảng, gồm cả bản ghi trùng

Sơ đồ hai bảng, trái và phải. Bên phải minh họa điều xảy ra khi thực hiện UNION ALL trên hai bảng.

Kết hợp dữ liệu trong SQL

Cú pháp UNION và UNION ALL

Cú pháp UNION

SELECT *
FROM left_table
UNION
SELECT *
FROM right_table;

Cú pháp UNION ALL

SELECT *
FROM left_table
UNION ALL
SELECT *
FROM right_table;
Kết hợp dữ liệu trong SQL

Cú pháp UNION và UNION ALL

Sơ đồ hai bảng, trái và phải. Bên phải minh họa kết quả khi thực hiện UNION trên hai bảng. Mũi tên chỉ ra hai bảng phải có cùng số cột và cùng kiểu dữ liệu.

Kết hợp dữ liệu trong SQL

Cú pháp UNION và UNION ALL

Sơ đồ hai bảng, trái và phải. Bên phải minh họa kết quả khi thực hiện UNION trên hai bảng. Mũi tên chỉ ra hai bảng phải có cùng số cột và kiểu dữ liệu. Ở bên phải, tập kết quả hiển thị cho thấy tên trường giữ từ bảng bên phải, kể cả khi có bí danh.

Kết hợp dữ liệu trong SQL

Đến bảng monarchs

SELECT *
FROM monarchs;
| country        | continent   | monarch                 |
|----------------|-------------|-------------------------|
| Brunei         | Asia        | Hassanal Bolkiah        |
| Oman           | Asia        | Haitham bin Tarik       |
| Norway         | Europe      | Harald V                |
| United Kingdom | Europe      | Charles III             |
Kết hợp dữ liệu trong SQL

Thủ tướng, gặp các quân chủ

SELECT monarch AS leader, country
FROM monarchs
UNION
SELECT prime_minister, country
FROM prime_ministers
ORDER BY country, leader
LIMIT 10;
Kết hợp dữ liệu trong SQL

Sau khi UNION

|-------------------------|----------------|
| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Shehbaz Sharif          | Pakistan       |
| Luís Montenegro         | Portugal       |
|-------------------------|----------------|
Kết hợp dữ liệu trong SQL

UNION ALL với danh sách lãnh đạo

SELECT monarch AS leader, country
FROM monarchs
UNION ALL
SELECT prime_minister, country
FROM prime_ministers
ORDER BY leader, country
LIMIT 10;
Kết hợp dữ liệu trong SQL

Kết quả UNION ALL

| leader                  | country        |
|-------------------------|----------------|
| Anthony Albanese        | Australia      |
| Hassanal Bolkiah        | Brunei         |
| Hassanal Bolkiah        | Brunei         |
| Mostafa Madbouly        | Egypt          |
| Narendra Modi           | India          |
| Christopher Luxon       | New Zealand    |
| Harald V                | Norway         |
| Jonas Gahr Støre        | Norway         |
| Haitham bin Tarik       | Oman           |
| Haitham bin Tarik       | Oman           |
Kết hợp dữ liệu trong SQL

Ayo berlatih!

Kết hợp dữ liệu trong SQL

Preparing Video For Download...