Đó là câu hỏi. Hôm nay, chúng tôi sẽ giải thích ngắn gọn cách cả hai loại kết hợp này được sử dụng như thế nào và sự khác biệt là gì.

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

Đó là câu hỏi. Hôm nay, chúng tôi sẽ giải thích ngắn gọn cách cả hai loại kết hợp này được sử dụng như thế nào và sự khác biệt là gì. Chúng ta sẽ xem xét lại chủ đề này sau khi chúng ta mở rộng mô hình của mình và có thể viết các truy vấn phức tạp hơn nhiều.

Những thay đổi trong dữ liệu

Trước khi chúng ta so sánh THAM GIA VÀO LÊN và THAM GIA TRÁI, hãy xem những gì chúng ta biết hiện tại. Cho đến nay, trong loạt bài này, chúng tôi đã giải thích các kiến ​​thức cơ bản về cơ sở dữ liệu – cách tạo cơ sở dữ liệu và bảng, cách điền dữ liệu vào bảng và kiểm tra những gì được lưu trữ trong đó bằng các truy vấn đơn giản. Chúng tôi thậm chí đã kết hợp hai bảng trong bài viết trước. Bây giờ chúng tôi đã sẵn sàng cho bước tiếp theo.

Nhưng trước khi chuyển sang phần này, chúng ta hãy thực hiện một thay đổi nhỏ đối với dữ liệu của mình. Chúng tôi sẽ thêm 2 hàng trong
bảng country , sử dụng các lệnh INSERT INTO sau:

1

2

CHÈN

VÀO

nước

(

country_name

,

country_name_eng

,

< p class = "crayon-i"> country_code

)

GIÁ TRỊ

(

‘España’

,

‘Tây Ban Nha’

,

‘ESP’

)

;

CHÈN

INT O

country

(

< p class = "crayon-i"> country_name

,

country_name_eng

,

country_code

)

GIÁ TRỊ

(

‘Rossiya’

,

‘Nga’

, < / p>

‘NGA’

)

< p class = "crayon-sy">;

Bây giờ chúng ta sẽ kiểm tra nội dung của cả hai bảng:

Bạn có thể dễ dàng nhận thấy rằng chúng tôi có 2 hàng mới trong bảng quốc gia , một cho Tây Ban Nha và một cho
Nga. Id của họ là 6 và 7. Cũng xin lưu ý rằng trong bảng thành phố không có
country_id có giá trị 6 hoặc 7. Điều này chỉ có nghĩa là chúng tôi không có thành phố từ Nga hoặc Tây Ban Nha ở
cơ sở dữ liệu của chúng tôi. Chúng tôi sẽ sử dụng thông tin này sau.

THAM GIA INNER

Hãy thảo luận về hai truy vấn sau:

1

2

3

4

5

6

7

CHỌN

*

TỪ

country

, < / p>

thành phố

WHERE

thành phố < / p>

.

country_id

=

country

.

id

;

CHỌN

*

TỪ

country

INNER

THAM GIA

thành phố

BẬT

thành phố

.

country_id

=

nước

.

< p class = "crayon-i"> id

;

Kết quả mà chúng trả về được trình bày trên hình dưới đây:

Cả hai truy vấn đều trả về cùng một kết quả. Đây không phải là ngẫu nhiên mà là kết quả của thực tế rằng đây là cùng một truy vấn được viết theo hai cách khác nhau. Cả hai cách đều đúng và bạn có thể sử dụng bất kỳ cách nào trong số chúng.

Trong truy vấn đầu tiên, chúng tôi liệt kê tất cả các bảng mà chúng tôi sử dụng trong phần FROM của truy vấn (FROM country, city) và sau đó đi kèm với điều kiện kết hợp trong phần WHERE của truy vấn (WHERE city.country_id = country.id). Trong trường hợp chúng ta quên ghi điều kiện nối này, chúng ta sẽ có tích Descartes của cả hai bảng.

Xem Thêm  Cách kết nối Cơ sở dữ liệu MySQL với Trang web PHP - kết nối thủ tục php mysql

Trong truy vấn thứ hai, chúng ta chỉ có một bảng trong phần FROM của truy vấn (FROM country) và sau đó chúng ta có bảng thứ hai và điều kiện JOIN trong phần JOIN của truy vấn (INNER JOIN city ON city.country_id = country. Tôi).

Mặc dù cả hai truy vấn đều được viết tốt, tôi khuyên bạn nên luôn sử dụng INNER JOIN thay vì liệt kê các bảng và kết hợp chúng trong phần WHERE của truy vấn. Có một số lý do cho điều đó:

  • Khả năng đọc tốt hơn nhiều vì bảng được sử dụng và điều kiện JOIN liên quan nằm trên cùng một dòng. Bạn có thể dễ dàng xem mình có bỏ qua điều kiện THAM GIA hay không
  • Nếu bạn muốn sử dụng các THAM GIA khác sau này (TRÁI hoặc PHẢI), bạn không thể làm điều đó (dễ dàng) trừ khi bạn đã sử dụng INNER
    THAM GIA trước đó

Bây giờ, hãy nhận xét về những truy vấn thực sự trả về:

  • Tất cả các cặp quốc gia và thành phố có liên quan (thông qua khóa ngoại)
  • Chúng tôi không có 2 quốc gia trong danh sách (Tây Ban Nha và Nga), bởi vì họ không có bất kỳ thành phố liên quan nào trong
    bảng thành phố

THAM GIA TRÁI

Tôi sẽ lặp lại điều này – “Chúng tôi không có 2 quốc gia trong danh sách (Tây Ban Nha và Nga) vì họ không có bất kỳ thành phố liên quan nào trong bảng thành phố ”. Điều này sẽ chứng minh rất quan trọng khi so sánh INNER JOIN với LEFT JOIN.

Trong một số trường hợp, chúng tôi muốn có cả những bản ghi này trong kết quả của mình. Ví dụ: bạn chỉ muốn xem trong kết quả rằng các quốc gia này không có bản ghi liên quan trong một bảng khác. Đây có thể là một phần của sự kiểm soát nào đó, hoặc có thể chỉ là đếm các trường hợp, v.v. Bất kể động cơ đằng sau mong muốn đó là gì, về mặt kỹ thuật, chúng ta phải có khả năng thực hiện điều đó.
Và chúng ta. Trong cơ sở dữ liệu, LEFT JOIN thực hiện chính xác điều đó.

Kết quả của LEFT JOIN sẽ giống như kết quả của INNER JOIN + chúng ta sẽ có các hàng, từ bảng “bên trái”,
không có một cặp trong bảng “bên phải”. Chúng tôi sẽ sử dụng cùng một truy vấn INNER JOIN và chỉ cần thay thế từ INNER bằng LEFT.
Đây là kết quả:

Bạn có thể dễ dàng nhận thấy rằng chúng ta có thêm 2 hàng so với kết quả của truy vấn INNER JOIN. Đây là những hàng dành cho
Nga và Tây Ban Nha. Vì cả hai đều không có bất kỳ thành phố liên quan nào nên tất cả các thuộc tính thành phố trong hai hàng này đều có NULL
giá trị (không được xác định). Đó là sự khác biệt lớn nhất khi so sánh INNER JOIN với LEFT JOIN.

Xem Thêm  input type = 'datetime-local' quản lý đầu ra và đặt giá trị mặc định với dữ liệu tối đa và tối thiểu trong PHP - nhập loại datetime-giá trị mặc định cục bộ ngày hôm nay

THAM GIA ĐÚNG

Ít nhất bạn sẽ nghe nói về THAM GIA QUYỀN. Nó hiếm khi được sử dụng vì nó trả về kết quả giống như LEFT JOIN. Trên
mặt khác, các truy vấn sử dụng LEFT JOIN dễ đọc hơn nhiều vì chúng tôi chỉ liệt kê các bảng lần lượt sau
khác.

Đây là truy vấn tương đương với truy vấn trước đó bằng cách sử dụng RIGHT JOIN:

Bạn có thể nhận thấy rằng các giá trị trả về đều giống nhau, chỉ trong trường hợp này, các giá trị từ bảng thành phố nằm trong 5 đầu tiên
và các giá trị liên quan đến quốc gia đứng sau chúng.

THAM GIA BÊN TRONG so với THAM GIA TRÁI

THAM GIA BÊN TRONG và THAM GIA TRÁI? Trên thực tế, đó không phải là câu hỏi ở tất cả. Bạn sẽ sử dụng INNER JOIN khi chỉ muốn trả về các bản ghi có cặp ở cả hai bên và bạn sẽ sử dụng LEFT JOIN khi cần tất cả các bản ghi từ bảng “bên trái”, bất kể chúng có cặp trong bảng “bên phải” hay không hay không. Nếu bạn cần tất cả các bản ghi từ cả hai bảng, bất kể chúng có ghép nối hay không, bạn sẽ cần sử dụng CROSS JOIN (hoặc mô phỏng nó bằng LEFT JOINs và UNION). Thông tin thêm về điều đó trong các bài viết sắp tới.

Mục lục


Xem thêm những thông tin liên quan đến chủ đề sql left tham gia tham gia bên trong

Inner Join, Left Join, Right Join and Full Outer Join in SQL Server | SQL Server Joins

  • Tác giả: Questpond
  • Ngày đăng: 2012-03-30
  • Đánh giá: 4 ⭐ ( 5216 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Buy SQL Server course from here https://www.questpond.com/sql-server-step-by-step–sql-interview-q-a-tutorial/cid70
    For more such videos visit http://www.questpond.com
    For more such videos subscribe https://www.youtube.com/questpondvideos?sub_confirmation=1

    See our other Step by Step video series below :-
    For more such videos subscribe https://www.youtube.com/questpondvideos
    See our other Step by Step video series below :-
    JavaScript Interview Questions: https://youtu.be/Zb4dPi7CANU
    Learn SQL Server Step by Step http://tinyurl.com/ja4zmwu
    Learn MSBI Step by Step in 32 hours:- https://goo.gl/TTpFZN
    Python Tutorial for Beginners:- https://youtu.be/KjJ7WzEL-es
    Learn Data Science in 1 hour :- https://tinyurl.com/y5o7qbau
    Learn Power BI Step by Step:- https://tinyurl.com/y6thhkxw
    PHP Interview Questions : https://youtu.be/1bpNSynUrl8
    C tutorial for beginners(4 hrs):- https://youtu.be/AxEGRBFwlmI
    Learn Azure Step by Step:- https://youtu.be/wdUK7bCMXqs
    Azure AZ-900 fundamentals certification :- https://youtu.be/hC9iGgJorz8
    Angular Interview Questions and Answers :- https://youtu.be/-jeoyDJDsSM
    Learn Angular tutorial step by step https://tinyurl.com/ycd9j895
    Learn MVC 5 step by step in 16 hours:- https://youtu.be/Lp7nSImO5vk
    Learn Design Pattern Step by Step https://goo.gl/eJdn0m
    Learn Tableau step by step :- https://tinyurl.com/kh6ojyo

    Preparing for C / .NET interviews start here http://www.youtube.com/watch?v=gaDn-sVLj8Q

    In this video we will try to understand four important concepts Inner joins,Left join,Right join and full outer joins.

    We are also distributing a 100 page Ebook “.Sql Server Interview Question and Answers”. If you want this ebook please share this video in your facebook/twitter/linkedin account and email us on questpond@questpond.com with the shared link and we will email you the PDF.
    ———————————————————————————————–
    For more details :-
    🌐 Website : www.questpond.com
    📱 Mob. No. : +91-9967590707 / +91 7700975156 / +91-22-49786776
    📧Email : questpond@questpond.com / questpond@gmail.com / questpond@yahoo.com

    Share, Support, Subscribe and Connect us on!!!

    YouTube: https://www.youtube.com/questpondvideos
    Twitter: https://twitter.com/questpond
    Instagram : https://www.instagram.com/questpond/
    Facebook : https://www.facebook.com/Questpond/

    InnerJoin SQlServerTutorial LeftJoin SQL RightJoin SQLServercourse FullOuterJoin JoinsinSQLServer SQLServerInterviewQuestions SQLServerInterviewQuestions&Answers

SQL – THAM GIA BÊN TRONG

  • Tác giả: isolution.pro
  • Đánh giá: 5 ⭐ ( 9333 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Điều quan trọng nhất và thường xuyên được sử dụng trong các phép nối là INNER JOIN. Chúng cũng được gọi làEQUIJOIN. INNER JOIN tạo một bảng kết quả mới bằng cách kết hợp các giá trị cột của hai bảng (table1 và table2) dựa trên vị từ nối. Truy vấn so sánh từng hàng của bảng1 với từng hàng…

LEFT JOIN trong SQL

  • Tác giả: vietjack.com
  • Đánh giá: 5 ⭐ ( 6363 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: LEFT JOIN trong SQL – Học SQL cơ bản nâng cao. Học SQL trực tuyến theo các bước từ Khái niệm về database, Cú pháp SQL, Truy vấn SELECT, Truy vấn INSERT, Lệnh DELETE, Truy vấn UPDATE, Ràng buộc (Constraint), Truy vấn DROP, Lệnh TRUNCATE, Từ khóa DISTINCT, Mệnh đề ORDER BY, Mệnh đề GROUP BY, Mệnh đề WHERE, Sử dụng Join, Sử dụng View, Sử dụng Sequence, Transaction, Hàm xử lý, Bảng tạm, Toán tử.

CÁC KIỂU CỦA LỆNH JOIN TRONG MySQL: INNER, OUTER, LEFT, RIGHT, CROSS

  • Tác giả: gitiho.com
  • Đánh giá: 3 ⭐ ( 4981 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết này, Gitiho sẽ cùng bạn tìm hiểu về lệnh Join trong MySQL, cũng như các kiểu lệnh Join, giúp bạn hiểu rõ hơn và dễ dàng sử dụng chúng trong công việc.

10 Nội dung phỏng vấn SQL giúp bạn chinh phục nhà tuyển dụng (Phần 1)

  • Tác giả: datapot.vn
  • Đánh giá: 5 ⭐ ( 1969 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SQL ngày càng quan trọng trong doanh nghiệp. Dưới đây là top 10 nội dung hay được hỏi khi bạn đi phỏng vấn SQL. Hãy cũng Datapot tìm hiểu thêm nhé!

WITH – Mệnh đề With trong SQL – Deft Blog

  • Tác giả: shareprogramming.net
  • Đánh giá: 3 ⭐ ( 4620 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mệnh đề WITH được sử dụng để cung cấp một khối truy vấn con mà có thể được tham chiếu trong một số vị trí bên trong truy vấn chính.

Left – Right Join trong SQL Server

  • Tác giả: howkteam.vn
  • Đánh giá: 5 ⭐ ( 8652 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Left – Right Join trong SQL Server

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

Xem Thêm  5 cách để thêm thuộc tính vào đối tượng trong JavaScript - Liên hệ với cố vấn - thêm các thuộc tính mới vào một đối tượng javascript

By ads_php