Tham gia ba bảng trong php
OrderIDCustomerIDEemployeeIDOrderDateShipperID10308271996-09-183103093731996-09-191103107781996-09-202 Show Và một lựa chọn từ bảng "Khách hàng" ID khách hàng Tên khách hàng Tên liên hệĐịa chỉThành phốMã bưu chínhQuốc gia1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Đức2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222Mexico D. F. 05021Mexico3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D. F. 05023Mexico SQL INNER THAM GIA Ví dụCâu lệnh SQL sau chọn tất cả các đơn hàng có thông tin khách hàng Ví dụCHỌN Đơn đặt hàng. OrderID, khách hàng. Tên khách hàng Ghi chú. Từ khóa THAM GIA Ba bànCâu lệnh SQL sau chọn tất cả các đơn đặt hàng có thông tin khách hàng và người giao hàng Ví dụCHỌN Đơn đặt hàng. OrderID, khách hàng. Tên khách hàng, Người gửi hàng. ShipperName Kiểm tra bản thân với các bài tậpTập thể dụcChọn mệnh đề 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 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ố
Biểu thức đại số quan hệ Cây đại số quan hệ 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
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ố
Biểu thức đại số quan hệ Cây đại số quan hệ 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- Chúng ta có thể tham gia 3 bàn không?Có thể sử dụng nhiều câu lệnh nối cùng nhau để nối nhiều bảng cùng lúc . Để làm điều đó, bạn thêm câu lệnh INNER JOIN thứ hai và câu lệnh ON thứ hai để chỉ ra bảng thứ ba và mối quan hệ thứ hai.
Bạn có thể kết hợp 3 bảng trong SQL không?Kết luận. Có thể kết hợp nhiều bảng thành một bảng lớn theo cả 3 cách . Như chúng ta đã thấy, hành vi của UNION trong SQL Server và UNION trong DAX trong Power BI là rất giống nhau.
Làm thế nào tôi có thể tham gia 3 bảng mà không cần tham gia?Cách nối các bảng trong SQL mà không cần sử dụng THAM GIA . Sử dụng dấu phẩy giữa các tên bảng trong mệnh đề TỪ và chỉ định điều kiện nối trong mệnh đề WHERE Sử dụng UNION / UNION ALL |