⊗ppPmDOChLT 383 of 447 menu

Chuỗi các bảng liên kết

Bây giờ, giả sử người dùng sống ở các thành phố cụ thể, và những thành phố này nằm ở các quốc gia khác nhau. Trong trường hợp đó, để lưu trữ, chúng ta sẽ cần ba bảng: người dùng sẽ được liên kết với thành phố, và thành phố - với quốc gia. Đồng thời, chúng ta không cần một trường liên kết trực tiếp giữa người dùng và quốc gia - bởi vì người dùng sẽ được liên kết với quốc gia thông qua mối liên kết giữa thành phố và quốc gia.

Hãy xem các bảng của chúng ta. Bảng quốc gia:

countries
id name
1 country1
2 country2

Bảng thành phố:

cities
id name country_id
1 city1 1
2 city2 1
3 city3 2

Bảng người dùng sẽ không thay đổi:

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

Truy vấn

Để lấy thông tin người dùng cùng với thành phố và quốc gia của họ, chúng ta sẽ phải thực hiện hai phép nối (join): phép nối đầu tiên sẽ gắn thành phố vào người dùng, và phép nối thứ hai - gắn quốc gia vào thành phố:

SELECT users.name, cities.name as city_name, countries.name as country_name FROM users LEFT JOIN cities ON cities.id=users.city_id LEFT JOIN countries ON countries.id=cities.country_id

Bài tập thực hành

Giả sử sản phẩm thuộc về một danh mục phụ cụ thể, và danh mục phụ thuộc về một danh mục chính cụ thể. Hãy mô tả cấu trúc lưu trữ.

Viết truy vấn để lấy thông tin sản phẩm, cùng với danh mục phụ và danh mục chính của chúng.

Viết truy vấn để lấy thông tin danh mục phụ cùng với danh mục chính của chúng.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối