Tham gia SQL trong PHP là gì?

SQL THAM GIA được sử dụng để lấy dữ liệu từ nhiều bảng. SQL THAM GIA được thực hiện bất cứ khi nào hai hoặc nhiều bảng được liệt kê trong câu lệnh SQL

Có 4 kiểu nối SQL khác nhau

  • SQL INNER THAM GIA (đôi khi được gọi là tham gia đơn giản)
  • SQL LEFT OUTER JOIN (đôi khi được gọi là LEFT JOIN)
  • SQL RIGHT OUTER JOIN (đôi khi được gọi là RIGHT JOIN)
  • THAM GIA ĐẦY ĐỦ NGOÀI SQL (đôi khi được gọi là THAM GIA ĐẦY ĐỦ)

Vì vậy, hãy thảo luận về cú pháp SQL THAM GIA, xem các minh họa trực quan về SQL THAM GIA và khám phá một số ví dụ

DDL/DML cho các ví dụ

Nếu bạn muốn làm theo hướng dẫn này, hãy lấy DDL để tạo bảng và DML để điền dữ liệu. Sau đó thử các ví dụ trong cơ sở dữ liệu của riêng bạn

Nhận DDL/DML

SQL INNER THAM GIA (tham gia đơn giản)

Rất có thể, bạn đã viết một câu lệnh SQL sử dụng SQL INNER JOIN. Đây là kiểu nối SQL phổ biến nhất. SQL INNER THAM GIA trả về tất cả các hàng từ nhiều bảng khi điều kiện tham gia được đáp ứng

cú pháp

Cú pháp của INNER JOIN trong SQL là

SELECT columns
FROM table1 
INNER JOIN table2
ON table1.column = table2.column;

Minh họa trực quan

Trong sơ đồ trực quan này, SQL INNER JOIN trả về vùng được tô bóng

Tham gia SQL trong PHP là gì?

SQL INNER JOIN sẽ trả về các bản ghi nơi bảng1 và bảng2 giao nhau

Ví dụ

Hãy xem một ví dụ về cách sử dụng INNER JOIN trong một truy vấn

Trong ví dụ này, chúng tôi có một bảng được gọi là khách hàng với dữ liệu sau

khách hàng_idlast_namefirst_namefavorite_website4000JacksonJoetechonthenet. com5000SmithJanedigminecraft. com6000FergusonSamanthabighoạt động. com7000ReynoldsAllencheckyourmath. com8000AndersonPaigeNULL9000JohnsonDerektechonthenet. com

Và một bảng gọi là đơn đặt hàng với dữ liệu sau

order_idcustomer_idorder_date170002016/04/18250002016/04/18380002016/04/19440002016/04/205NULL2016/05/01

Nhập câu lệnh SQL sau

Thử đi
SELECT customers.customer_id, orders.order_id, orders.order_date
FROM customers 
INNER JOIN orders
ON customers.customer_id = orders.customer_id
ORDER BY customers.customer_id;

Sẽ có 4 bản ghi được chọn. Đây là những kết quả mà bạn sẽ thấy

customer_idorder_idorder_date400042016/04/20500022016/04/18700012016/04/18800032016/04/19

Ví dụ này sẽ trả về tất cả các hàng từ bảng khách hàng và đơn hàng có giá trị customer_id phù hợp trong cả bảng khách hàng và đơn hàng

Các hàng mà customer_id bằng 6000 và 9000 trong bảng khách hàng sẽ bị bỏ qua vì chúng không tồn tại trong cả hai bảng. Hàng có order_id là 5 trong bảng đơn hàng sẽ bị bỏ qua, vì khách hàng_id của NULL không tồn tại trong bảng khách hàng

Cú pháp cũ

Lưu ý cuối cùng, điều đáng nói là ví dụ INNER JOIN ở trên có thể được viết lại bằng cách sử dụng cú pháp ẩn cũ hơn như sau (nhưng chúng tôi vẫn khuyên bạn nên sử dụng cú pháp từ khóa INNER JOIN)

Thử đi
SELECT customers.customer_id, orders.order_id, orders.order_date
FROM customers, orders
WHERE customers.customer_id = orders.customer_id
ORDER BY customers.customer_id;

SQL TRÁI NGOÀI THAM GIA

Một kiểu nối khác được gọi là LEFT OUTER JOIN. Loại phép nối này trả về tất cả các hàng từ bảng bên TRÁI được chỉ định trong điều kiện BẬT và chỉ những hàng từ bảng khác nơi các trường được nối bằng nhau (đáp ứng điều kiện nối)

cú pháp

Cú pháp của LEFT OUTER JOIN trong SQL là

SELECT columns
FROM table1
LEFT [OUTER] JOIN table2
ON table1.column = table2.column;

Trong một số cơ sở dữ liệu, từ khóa OUTER được bỏ qua và được viết đơn giản là LEFT JOIN

Minh họa trực quan

Trong sơ đồ trực quan này, SQL LEFT OUTER JOIN trả về vùng được tô bóng

Tham gia SQL trong PHP là gì?

SQL LEFT OUTER JOIN sẽ trả về tất cả các bản ghi từ bảng1 và chỉ những bản ghi từ bảng2 giao với bảng1

Ví dụ

Bây giờ hãy xem một ví dụ cho thấy cách sử dụng LEFT OUTER JOIN trong câu lệnh SELECT

Sử dụng cùng một bảng khách hàng như ví dụ trước

khách hàng_idlast_namefirst_namefavorite_website4000JacksonJoetechonthenet. com5000SmithJanedigminecraft. com6000FergusonSamanthabighoạt động. com7000ReynoldsAllencheckyourmath. com8000AndersonPaigeNULL9000JohnsonDerektechonthenet. com

Và bảng đơn đặt hàng với dữ liệu sau

order_idcustomer_idorder_date170002016/04/18250002016/04/18380002016/04/19440002016/04/205NULL2016/05/01

Nhập câu lệnh SQL sau

Thử đi
SELECT customers.customer_id, orders.order_id, orders.order_date
FROM customers 
LEFT OUTER JOIN orders
ON customers.customer_id = orders.customer_id
ORDER BY customers.customer_id;

Sẽ có 6 bản ghi được chọn. Đây là những kết quả mà bạn sẽ thấy

customer_idorder_idorder_date400042016/04/20500022016/04/186000NULLNULL700012016/04/18800032016/04/199000NULLNULL

Ví dụ LEFT OUTER THAM GIA này sẽ trả về tất cả các hàng từ bảng khách hàng và chỉ những hàng từ bảng đơn đặt hàng nơi các trường đã tham gia bằng nhau

Nếu giá trị customer_id trong bảng khách hàng không tồn tại trong bảng đơn hàng, thì tất cả các trường trong bảng đơn hàng sẽ hiển thị dưới dạng NULL trong tập hợp kết quả. Như bạn có thể thấy, các hàng có customer_id là 6000 và 9000 sẽ được bao gồm nhưng các trường order_id và order_date cho các bản ghi đó chứa giá trị NULL. Hàng có order_id là 5 cũng sẽ được bao gồm nhưng trường customer_id cho bản ghi đó có giá trị NULL

SQL THAM GIA là gì?

Tham gia trong SQL có nghĩa là lấy dữ liệu từ hai hoặc nhiều hơn hai bảng dựa trên một trường chung. Nói cách khác, THAM GIA kết hợp dữ liệu từ nhiều bảng trong một bảng kết quả dựa trên một cột liên quan giữa các bảng đó

4 loại tham gia là gì?

Bốn kiểu liên kết. trái, phải, trong và ngoài .

Làm thế nào để sử dụng truy vấn tham gia trong PHP với ví dụ?

Chèn bản ghi vào hai bảng bằng PHP. Viết truy vấn SQL để thực hiện tất cả các phép nối bằng PHP. .
THAM GIA BÊN TRONG. INNER JOIN là từ khóa chọn các bản ghi có giá trị khớp trong cả hai bảng. .
CHỖ NỐI BÊN TRÁI. .
QUYỀN THAM GIA

Làm cách nào để tham gia hai bảng trong PHP?

Chúng ta có thể sử dụng cú pháp của MySQL THAM GIA để nối hai bảng vào hàm PHP – mysql_query() . Hàm này được sử dụng để thực thi lệnh SQL và sau đó là một hàm PHP khác – mysql_fetch_array() có thể được sử dụng để tìm nạp tất cả dữ liệu đã chọn.