Tham gia trong PHP MySQLi

Trong MySQL, INNER JOIN chọn tất cả các hàng từ cả hai bảng tham gia để xuất hiện trong kết quả khi và chỉ khi cả hai bảng đáp ứng các điều kiện được chỉ định trong mệnh đề ON. THAM GIA, CHÉO THAM GIA và INNER THAM GIA là tương đương về mặt cú pháp. Trong SQL tiêu chuẩn, chúng không tương đương. INNER JOIN được sử dụng với mệnh đề ON, CROSS JOIN được sử dụng nếu không

Trình bày bằng hình ảnh của MySQL INNER JOIN

Tham gia trong PHP MySQLi

MySQL INNER THAM GIA Cú pháp

MySQL hỗ trợ các cú pháp JOIN sau cho table_references (Một tham chiếu bảng còn được gọi là biểu thức nối. ) một phần của câu lệnh CHỌN và câu lệnh CẬP NHẬT và XÓA nhiều bảng

table_references:
    escaped_table_reference [, escaped_table_reference] ...

escaped_table_reference:
    table_reference
  | { OJ table_reference }

table_reference:
    table_factor
  | join_table

table_factor:
    tbl_name [PARTITION (partition_names)] 
        [[AS] alias] [index_hint_list]
  | table_subquery [AS] alias
  | ( table_references )

join_table:
    table_reference [INNER | CROSS] JOIN table_factor [join_condition]
  | table_reference STRAIGHT_JOIN table_factor
  | table_reference STRAIGHT_JOIN table_factor ON conditional_expr
  | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition
  | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor

join_condition:
    ON conditional_expr
  | USING (column_list)

index_hint_list:
    index_hint [, index_hint] ...

index_hint:
    USE {INDEX|KEY}
      [FOR {JOIN|ORDER BY|GROUP BY}] ([index_list])
  | IGNORE {INDEX|KEY}
      [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)
  | FORCE {INDEX|KEY}
      [FOR {JOIN|ORDER BY|GROUP BY}] (index_list)

index_list:
    index_name [, index_name] ...

Ví dụ. MySQL INNER THAM GIA

Khi kết hợp các bản ghi từ nhiều bảng, người dùng cần chỉ ra cách khớp các bản ghi trong một bảng với các bản ghi trong bảng khác. Vì cả hai bảng đều có cột cate_id nên chúng ta có thể so khớp bằng cột đó. Mệnh đề ON được sử dụng để khớp các bản ghi trong hai bảng, dựa trên giá trị của cột cate_id. Cách sử dụng INNER JOIN kết hợp các bảng. INNER JOIN cho phép các hàng từ một trong hai bảng xuất hiện trong kết quả khi và chỉ khi cả hai bảng đáp ứng các điều kiện được chỉ định trong mệnh đề ON

Trong ví dụ này, mệnh đề ON chỉ định rằng cột cate_id của cả bảng book_mast và danh mục phải khớp với nhau. Nếu cate_id không xuất hiện trong cả hai bảng, thì hàng đó sẽ không xuất hiện trong kết quả vì điều kiện trong mệnh đề ON không thành công. Chỉ những danh mục đó mới tham gia THAM GIA có sách được viết bằng TIẾNG ANH

Mã số

SELECT book_mast.book_id,book_mast.book_name,cate_descrip           
FROM book_mast 
INNER JOIN category          
ON book_mast.cate_id=category.cate_id        
WHERE book_mast.pub_lang="English";

Biểu thức đại số quan hệ

Tham gia trong PHP MySQLi

Cây đại số quan hệ

Tham gia trong PHP MySQLi

bảng mẫu. book_mast


bảng mẫu. thể loại


Đầu ra mẫu

mysql> SELECT book_mast.book_id,book_mast.book_name,cate_descrip           
    -> FROM book_mast 
    -> INNER JOIN category          
    -> ON book_mast.cate_id=category.cate_id        
    -> WHERE book_mast.pub_lang="English";
+---------+-------------------------------------+--------------+
| book_id | book_name                           | cate_descrip |
+---------+-------------------------------------+--------------+
| BK001   | Introduction to Electrodynamics     | Science      | 
| BK002   | Understanding of Steel Construction | Technology   | 
| BK004   | Transfer  of Heat and Mass          | Technology   | 
| BK010   | Fundamentals of Thermodynamics      | Technology   | 
| BK012   | The Nature  of World                | Nature       | 
| BK009   | Mental Health Nursing               | Medical      | 
+---------+-------------------------------------+--------------+
6 rows in set (0.04 sec)

tập lệnh PHP






example-inner-join-with-multiple-tables php mysql examples | w3resource




List of the book ids, name of the book and category description:

query('SELECT book_mast.book_id,book_mast.book_name,cate_descrip FROM book_mast INNER JOIN category ON book_mast.cate_id=category.cate_id WHERE book_mast.pub_lang="English"') as $row) { echo ""; echo ""; echo ""; echo ""; echo ""; } ?>
Book IDName of the bookCategory description
" . $row['book_id'] . "" . $row['book_name'] . "" . $row['cate_descrip'] . "

Xem ví dụ trong trình duyệt

Ví dụ. MySQL INNER THAM GIA với bí danh

Câu lệnh MySQL sau trả về id sách, tên sách, id nhà xuất bản, mô tả danh mục và ngôn ngữ của nhà xuất bản, trong đó ngôn ngữ của nhà xuất bản là tiếng Anh và id của nhà xuất bản không bằng P004. Lưu ý rằng các bí danh đã được sử dụng để chỉ các tên cột. INNER THAM GIA được thực hiện dựa trên điều kiện id danh mục trong bảng book_mast cũng phải tồn tại trong bảng danh mục

Mã số

SELECT bk.book_id,bk.book_name,bk.pub_id,ca.cate_descrip,bk.pub_lang 
FROM book_mast AS bk
INNER JOIN category AS ca  ON bk.cate_id=ca.cate_id  AND
bk.pub_lang="English" AND bk.pub_id<>'P004';

Biểu thức đại số quan hệ

Tham gia trong PHP MySQLi

Cây đại số quan hệ

Tham gia trong PHP MySQLi

bảng mẫu. book_mast


Đầu ra mẫu

mysql> SELECT bk.book_id,bk.book_name,bk.pub_id,ca.cate_descrip,bk.pub_lang 
    -> FROM book_mast AS bk
    -> INNER JOIN category AS ca  ON bk.cate_id=ca.cate_id  AND
    -> bk.pub_lang='English' AND bk.pub_id<>'P004';
+---------+-------------------------------------+--------+--------------+----------+
| book_id | book_name                           | pub_id | cate_descrip | pub_lang |
+---------+-------------------------------------+--------+--------------+----------+
| BK001   | Introduction to Electrodynamics     | P003   | Science      | English  | 
| BK002   | Understanding of Steel Construction | P001   | Technology   | English  | 
| BK010   | Fundamentals of Thermodynamics      | P007   | Technology   | English  | 
| BK012   | The Nature  of World                | P008   | Nature       | English  | 
| BK009   | Mental Health Nursing               | P007   | Medical      | English  | 
+---------+-------------------------------------+--------+--------------+----------+
5 rows in set (0.00 sec)

MySQL INNER JOIN sử dụng ba bảng

bảng mẫu

table - doctors
+-------+---------+
| docid | dname   |
+-------+---------+
|     1 | A.VARMA | 
|     2 | D.GOMES | 
+-------+---------+


table - specialize
+------+----------+-------+
| spid | desc     | docid |
+------+----------+-------+
|    1 | special1 |     1 | 
|    2 | special2 |     2 | 
+------+----------+-------+


table - timeschedule
+-----+------+----------+-------+
| tid | tday | sit_time | docid |
+-----+------+----------+-------+
|   1 | MON  | 17:00:00 |     1 | 
|   2 | WED  | 08:00:00 |     1 | 
|   3 | TUE  | 16:00:00 |     2 | 
|   4 | FRI  | 09:00:00 |     2 | 
+-----+------+----------+-------+

Các bảng trên có liên quan với nhau. Trong các bảng bác sĩ, chuyên khoa và thời gian biểu, docid, spid và tid là khóa chính liên tiếp. Docid trong bảng chuyên môn và bảng thời gian biểu là một khóa ngoại, là tham chiếu đến khóa chính docid của bảng bác sĩ

Nếu chúng tôi muốn tất cả các bản ghi cho một bác sĩ chuyên khoa đặc biệt1 và ngồi trong buồng của anh ấy vào Thứ Tư (WED) trong thời gian lịch trình của anh ấy, SQL sau có thể được sử dụng-

Tham gia trong PHP là gì?

Mệnh đề THAM GIA được dùng để kết hợp các hàng từ hai hoặc nhiều bảng, dựa trên cột có liên quan giữa chúng .

4 loại tham gia là gì?

Bốn loại liên kết. trái, phải, trong và ngoài .

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

Bạn có thể sử dụng nhiều bảng trong một truy vấn SQL duy nhất của mình. Hành động tham gia trong MySQL đề cập đến việc đập hai hoặc nhiều bảng thành một bảng. Bạn có thể sử dụng THAM GIA trong các câu lệnh CHỌN, CẬP NHẬT và XÓA để tham gia các bảng MySQL . Chúng ta sẽ thấy một ví dụ về LEFT JOIN cũng khác với MySQL JOIN đơn giản.

3 loại liên kết trong SQL là gì?

Có bốn loại THAM GIA chính trong SQL. INNER THAM GIA, NGOÀI THAM GIA, CHÉO THAM GIA, và TỰ THAM GIA