Hướng dẫn này giúp bạn thực sự hiểu khái niệm SQL LEFT JOIN để bạn có thể áp dụng nó để truy vấn dữ liệu từ các bảng một cách chính xác và hiệu quả.

Bạn đang xem : tham gia bên trái sql ở đó

Tóm tắt : trong này hướng dẫn, chúng tôi sẽ giới thiệu cho bạn một loại phép nối khác được gọi là SQL LEFT JOIN cho phép bạn truy xuất dữ liệu từ nhiều bảng.

Giới thiệu về mệnh đề SQL LEFT JOIN

Trong hướng dẫn trước, bạn đã học về phép nối bên trong trả về các hàng nếu có, ít nhất một hàng trong cả hai bảng phù hợp với điều kiện kết nối. Mệnh đề nối bên trong loại bỏ các hàng không khớp với một hàng của bảng khác.

Tuy nhiên, phép nối bên trái trả về tất cả các hàng từ bảng bên trái cho dù có hàng phù hợp ở bên phải hay không bảng.

Giả sử chúng ta có hai bảng A và B. Bảng A có bốn hàng 1, 2, 3 và 4. Bảng B cũng có bốn hàng 3, 4, 5, 6.

Khi chúng ta kết hợp bảng A với bảng B, tất cả các hàng trong bảng A (bảng bên trái) được đưa vào tập kết quả cho dù có một hàng phù hợp trong bảng B hay không.

SQL LEFT JOIN

Trong SQL, chúng ta sử dụng cú pháp sau để nối bảng A với bảng B.

 

CHỌN

Một

TỪ

Một

TRÁI

THAM GIA

B

BẬT

B.n = A.n;

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

THAM GIA TRÁI mệnh đề xuất hiện sau mệnh đề FROM. Điều kiện theo sau từ khóa ON được gọi là điều kiện nối B.n = A.n

Ví dụ về SQL LEFT JOIN

Ví dụ về hai bảng SQL LEFT JOIN

Hãy xem bảng quốc gia vị trí .

country_locations_tables

Mỗi vị trí thuộc về một và chỉ một quốc gia trong khi mỗi quốc gia có thể có không hoặc nhiều địa điểm. Mối quan hệ giữa các bảng quốc gia và vị trí là một-nhiều.

Xem Thêm  Python Kiểm tra xem một biến có phải là số không - python là một con số

Cột country_id trong bảng vị trí là khóa ngoại liên kết đến cột country_id trong bảng quốc gia.

Để truy vấn tên quốc gia của Hoa Kỳ, Vương quốc Anh và Trung Quốc, bạn sử dụng câu lệnh sau.

 

CHỌN

country_id, tên quốc gia

TỪ

Quốc gia

Ở ĐÂU

country_id

IN

(

'US'

,

'UK' ,

'CN'

);

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Hãy thử

SQL LEFT THAM GIA dữ liệu quốc gia

Truy vấn sau đây truy xuất các vị trí ở Hoa Kỳ, Vương quốc Anh và Trung Quốc:

 < p>  

CHỌN

country_id, street_address, thành phố

TỪ

địa điểm

Ở ĐÂU

country_id

IN

(

'US'

,

'UK' ,

'CN'

);

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Hãy thử

Bây giờ, chúng ta sử dụng mệnh đề LEFT JOIN để kết hợp bảng quốc gia với bảng vị trí như truy vấn sau:

 

CHỌN

c.country_name, c.country_id, l.country_id, l.street_address, l.city

TỪ

các nước c

TRÁI

THAM GIA

địa điểm l

BẬT

l.country_id = c.country_id

Ở ĐÂU

c.country_id

IN

(

'US'

,

'UK'

,

'CN'

)

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

Hãy thử

< img alt = "SQL LEFT THAM GIA hai bảng, ví dụ" class = "wp-image-255" height = "153" src = "https://www.sqltutorial.org/wp-content/uploads/2016/03/SQL- LEFT-JOIN-two -boards-example.png "width =" 635 "/>

Điều kiện trong mệnh đề WHERE được áp dụng để câu lệnh chỉ truy xuất dữ liệu từ Hoa Kỳ, Vương quốc Anh và hàng Trung Quốc.

Vì chúng tôi sử dụng mệnh đề LEFT JOIN, nên tất cả các hàng thỏa mãn điều kiện trong mệnh đề WHERE của bảng quốc gia đều được đưa vào tập kết quả.

Đối với mỗi hàng trong bảng quốc gia, Mệnh đề LEFT JOIN tìm các hàng phù hợp trong bảng vị trí.

Nếu tìm thấy ít nhất một hàng phù hợp, công cụ cơ sở dữ liệu sẽ kết hợp dữ liệu từ các cột của các hàng phù hợp trong cả hai bảng.

Trong trường hợp không tìm thấy hàng phù hợp, ví dụ: với country_id CN, hàng trong bảng quốc gia được bao gồm trong tập kết quả và hàng trong bảng vị trí được lấp đầy bằng các giá trị NULL.

Vì không các hàng phù hợp trong bảng bên phải được điền giá trị NULL, bạn có thể áp dụng mệnh đề LEFT JOIN để bỏ sót các hàng đối sánh giữa các bảng.

Ví dụ: để tìm quốc gia không có bất kỳ vị trí nào trong bảng vị trí, bạn sử dụng truy vấn sau:

 

CHỌN

tên quốc gia

TỪ

các nước c

TRÁI

THAM GIA

địa điểm l

BẬT

l.country_id = c.country_id

Ở ĐÂU

l.location_id

KHÔNG ĐẦY ĐỦ

ĐẶT HÀNG

THEO

country_name;

Ngôn ngữ mã:

SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

)

< span class = "sql" rel = "noopener noreferrer" target = "_ blank"> Dùng thử

SQL LEFT JOIN with IS NULL example

Ví dụ về 3 bảng trong SQL LEFT JOIN 3

Xem các bảng sau: khu vực, quốc gia và vị trí.

location_tables

Một khu vực có thể có 0 hoặc nhiều quốc gia trong khi mỗi quốc gia nằm trong một khu vực. Mối quan hệ giữa các quốc gia và các bảng khu vực là một-nhiều. Cột region_id trong bảng quốc gia là liên kết giữa bảng quốc gia và khu vực.

Câu lệnh sau minh họa cách nối 3 bảng: khu vực, quốc gia và địa điểm:

 

CHỌN

r.region_name, c.country_name, l.street_address, l.city

TỪ

vùng r

TRÁI

THAM GIA

các quốc gia c

BẬT

c.region_id = r.region_id

TRÁI

THAM GIA

địa điểm l

BẬT

l.country_id = c.country_id

Ở ĐÂU

c.country_id

IN

(

'US'

,

'UK'

,

'CN'

);

Ngôn ngữ mã:

< p class = "shcb-language__name"> SQL (Ngôn ngữ truy vấn có cấu trúc)

(

sql

< p class = "shcb-language__paren">)

Hãy thử

Ví dụ về SQL LEFT JOIN 3 table

Bây giờ bạn đã hiểu rõ về cách hoạt động của mệnh đề LEFT JOIN trong SQL và biết cách áp dụng mệnh đề LEFT JOIN để truy vấn dữ liệu từ nhiều bảng.

Hướng dẫn này có hữu ích không?


Xem thêm những thông tin liên quan đến chủ đề sql còn lại tham gia ở đâu

Ms SQL Server Join Table

alt

  • Tác giả: OU Bundeth
  • Ngày đăng: 2020-05-26
  • Đánh giá: 4 ⭐ ( 1646 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Truy vấn dữ liệu trong sql (Bài 5)

  • Tác giả: giasutinhoc.vn
  • Đánh giá: 4 ⭐ ( 2809 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Tham gia Đặt hàng Phần 2: ” SQL ”

  • Tác giả: helpex.vn
  • Đánh giá: 4 ⭐ ( 9878 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Tham gia đặt hàng phần 2. Ngay cả trong những năm 80, trước khi Facebook biết mọi thứ cần biết về chúng tôi, chúng tôi với tư cách là một ngành công nghiệp có rất nhiều dữ liệu mà chúng tôi…

Lỗi SQL Server thường gặp và cách khắc phục

  • Tác giả: vdodata.vn
  • Đánh giá: 3 ⭐ ( 2518 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lỗi SQL Server thường gặp và cách khắc phục

Câu lệnh SQL Join: Các loại Join trong SQL

  • Tác giả: viblo.asia
  • Đánh giá: 5 ⭐ ( 7866 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: 1. Các loại Join trong SQL – Ở bài trước thì mình đã chia sẻ về các câu lệnh thường dùng trong truy vấn CSDL như: SQL DISTINCT, SQL Where,SQL And Or, SQL Count, SQL ORDER BY, SQL GROUP…

SQL Hay NoSQL: Đâu Là Sự Lựa Chọn Tốt Hơn?

  • Tác giả: codelearn.io
  • Đánh giá: 4 ⭐ ( 3623 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: NoSQL Database là hệ cơ sở dữ liệu mới nổi, còn SQL Database là 1 lão làng đã có mặt cũng như được sử dụng từ khá lâu, vậy nên chọn cái nào?

SQL sẽ phổ biến như Excel? Hướng dẫn tự học các cấu phần quan trọng của SQL cho người làm phân tích

  • Tác giả: madzynguyen.com
  • Đánh giá: 4 ⭐ ( 5119 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Đâu đấy Maz muốn mang đến một góc nhìn rõ ràng hơn, WHY (vì sao bạn cần tìm hiểu SQL?), WHAT (SQL là cái gì?), HOW (Học SQL như thế nào cho hiệu quả?) và WHERE (học ở đâu?).

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php