Tổng quan về INNER JOIN

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

Maham Faisal Khan

Senior Content Developer, DataCamp

Tổng quan về INNER JOINs

Sơ đồ hiển thị hai bảng: bảng trái và bảng phải. Các giá trị id khớp nhau giữa hai bảng được tô cùng màu.

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

Tổng quan về INNER JOINs

  • INNER JOIN tìm các bản ghi khớp nhau ở cả hai bảng theo một trường cho trước
Sơ đồ INNER JOIN trên trường id

Sơ đồ hiển thị hai bảng: left_table và right_table. Các giá trị id khớp nhau ở hai bảng được tô cùng màu và nối bằng mũi tên.

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

Tổng quan về INNER JOINs

Sơ đồ INNER JOIN ON trường id

Sơ đồ hiển thị hai bảng: left_table và right_table. Các giá trị id khớp nhau được tô cùng màu và nối bằng mũi tên. Các bản ghi không liên quan đến INNER JOIN được làm mờ.

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

Tổng quan về INNER JOINs

Sơ đồ INNER JOIN ON trường id

Sơ đồ hiển thị hai bảng: left_table và right_table. Kết quả join được hiển thị bên phải, chỉ trả về các bản ghi khớp trên cột id ở cả hai bảng.

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

Lược đồ cơ sở dữ liệu leadership

Lãnh đạo thế giới đến 2024: Sơ đồ SQL hiển thị ba bảng trong cơ sở dữ liệu leadership: presidents, prime_ministers và prime_minister_terms. presidents và prime_minister có thể join trên trường country, còn prime_ministers và prime_minister_terms có thể join trên trường prime_minister.

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

Bảng presidents

SELECT * 
FROM presidents;
| country  | continent     | president               |
|----------|---------------|-------------------------|
| Egypt    | Africa        | Abdel Fattah el-Sisi    |
| Portugal | Europe        | Marcelo Rebelo de Sousa | 
| USA      | North America | Joe Biden               |
| Uruguay  | South America | Luis Lacalle Pou        |
| Pakistan | Asia          | Asif Ali Zardari        |
| Chile    | South America | Gabriel Boric           |
| India    | Asia          | Droupadi Murmu          |
Kết hợp dữ liệu trong SQL

Làm quen với thủ tướng

Bảng prime_ministers

Bảng prime_ministers từ cơ sở dữ liệu leadership, gồm ba cột: country, continent và prime_minister.

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

Thủ tướng gặp tổng thống

Bảng presidents

Hai bảng đặt cạnh nhau: presidents và prime_minister. Các cột trùng nhau được tô màu giống nhau.

Bảng prime_ministers

Hai bảng đặt cạnh nhau: presidents và prime_minister. Các cột trùng nhau được tô màu giống nhau.

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

INNER JOIN đầu tiên

--Inner join of presidents and prime_ministers, joining on country

SELECT prime_ministers.country, prime_ministers.continent, prime_minister, president
FROM presidents
INNER JOIN prime_ministers
ON presidents.country = prime_ministers.country;

Lưu ý. Cần dùng định dạng table.column_name khi chọn các cột có ở cả hai bảng để tránh lỗi SQL.

| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |
Kết hợp dữ liệu trong SQL

Đặt bí danh cho bảng

--Inner join of presidents and prime_ministers, joining on country

SELECT p2.country, p2.continent, prime_minister, president
FROM presidents AS p1 INNER JOIN prime_ministers AS p2
ON p1.country = p2.country;
| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |

Có thể dùng bí danh trong cú pháp table.column_nameSELECTON.

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

Dùng USING

--Inner join of presidents and prime_ministers, joining on country
SELECT p2.country, p2.continent, prime_minister, president
FROM presidents AS p1
INNER JOIN prime_ministers AS p2
USING(country);
| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |
Kết hợp dữ liệu trong SQL

Hãy thực hành!

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

Preparing Video For Download...