Hướng dẫn how do i join two tables if there is no common column in mysql? - làm cách nào để tham gia hai bảng nếu không có cột chung trong mysql?
Vâng, bạn có thể! Câu trả lời dài hơn là có, có một vài cách để kết hợp hai bảng mà không có cột chung, bao gồm tham gia chéo (sản phẩm Cartesian) và Union. Cái sau về mặt kỹ thuật không phải là một sự tham gia nhưng có thể tiện dụng để hợp nhất các bảng trong SQL. Trong bài viết này, tôi sẽ hướng dẫn bạn thông qua các giải pháp khác nhau với các ví dụ. Show
Khi nào bạn cần tham gia các bảng mà không có cột chung?Người mới bắt đầu mới bắt đầu với SQL thường được giới thiệu để tham gia Equi Standard, trong đó hai bảng được kết hợp bởi một cột chung. Tuy nhiên, các nhiệm vụ trong thế giới thực của một nhà phân tích dữ liệu thường đa dạng và phức tạp hơn. Ví dụ, có nhiều trường hợp sử dụng cho tham gia không cân bằng, khi hai bảng được kết hợp bằng cách sử dụng các toán tử có điều kiện khác với dấu hiệu bằng nhau. Nếu bạn không quen thuộc với loại tham gia này, hãy xem khóa học tham gia SQL tương tác của chúng tôi. Nó cung cấp hơn 90 bài tập thực hành trên các loại tham gia khác nhau, bao gồm tham gia nhiều hơn hai bảng, tham gia không cân bằng, tự tham gia, Trong các trường hợp khác, bạn có thể muốn có mọi kết hợp của các hàng từ hai bảng. Ví dụ, nếu bạn điều hành một nhà hàng, bạn có thể muốn xem tất cả các kết hợp rượu vang có thể có từ thẻ rượu vang và các khóa học chính từ thực đơn của bạn. Hoặc, hãy tưởng tượng rằng thông tin về các nhà cung cấp của bạn được lưu trữ trong các bảng khác nhau. Họ thậm chí có thể có tên cột khác nhau theo loại sản phẩm (tức là, rượu vang, nước ép, trái cây, v.v.). Bạn có thể muốn kết hợp tất cả các thông tin để tạo một bảng duy nhất với tất cả các nhà cung cấp. Trong những trường hợp này, bạn sẽ muốn kết hợp hai hoặc nhiều bảng mà không yêu cầu một cột chung. Có vẻ như nó phải là một bài tập SQL khá đơn giản. Vâng, tất nhiên nó được! Tôi sẽ đề xuất một vài giải pháp trong hướng dẫn này.you would want to combine two or more tables without requiring a common column. It sounds like it should be a pretty straightforward SQL assignment. Well, of course, it is! I’ll suggest a couple of solutions in this guide. Nhưng trước tiên, hãy để khám phá dữ liệu mà chúng tôi sẽ sử dụng cho các ví dụ của chúng tôi. Làm quen với dữ liệuChúng tôi điều hành một nhà hàng và có dữ liệu liên quan được lưu trữ trong nhiều bảng, trong đó là Bảng Có thể bạn quan tâm
Bảng
Salmon Maple thảo quả Macaroni & pho mát cổ điểnGà Teriyaki nướngall possible combinations of wines and main courses from our menu. There are at least two approaches to combining the Thịt bò thịt phô mai xanhHãy để xem cách chúng ta có thể kết hợp các bảng này để có được kết quả chúng ta muốn. Cách kết hợp hai bảng mà không có cột chung SELECT w.name AS wine, m.name AS main_course FROM wine w, main_course m; Trong ví dụ đầu tiên của chúng tôi, chúng tôi muốn thấy tất cả các kết hợp có thể có của rượu vang và các khóa học chính từ thực đơn của chúng tôi. Có ít nhất hai cách tiếp cận để kết hợp bảng
Salmon Maple thảo quả Macaroni & pho mát cổ điển Gà Teriyaki nướng Thịt bò thịt phô mai xanhNhư bạn có thể đã đoán, cách tiếp cận thứ hai để có được tất cả các kết hợp có thể của các hàng từ hai bảng là bằng cách sử dụng toán tử SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;5: SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m; Truy vấn này đưa ra kết quả chính xác giống như được hiển thị trước đó. Tuy nhiên, cú pháp này thích hợp hơn vì nó nêu rõ ý định thực hiện SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;5 và dễ đọc hơn đối với người dùng khác của mã SQL của bạn.this syntax is preferable as it clearly states the intent to perform a SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;5 and is more readable for other users of your SQL code. Tìm hiểu thêm về Cross Joins trong hướng dẫn minh họa của chúng tôi về SQL Cross tham gia. Sử dụng Liên minh hoặc Liên minh tất cảCó các trường hợp sử dụng khác để kết hợp hai bảng mà không có cột chung. Như trong ví dụ đã đề cập trước đó, bạn có thể muốn hợp nhất tất cả các thông tin nhà cung cấp được lưu trữ trong nhiều bảng. Bạn không muốn có một sản phẩm Cartesian trong trường hợp này. Vì vậy, làm thế nào để bạn kết hợp các bảng? Trong trường hợp này, bạn sử dụng SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;9 để hợp nhất thông tin từ nhiều bảng. Đây không phải là một sự tham gia; Tuy nhiên, nó có thể rất tiện dụng để kết hợp các hàng từ một số bảng, như trong ví dụ của chúng tôi dưới đây. Nói một cách đơn giản, SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id;0 Kết hợp dữ liệu bằng cách nối thêm các cột từ một bảng cùng với các cột từ một bảng khác. Ngược lại, SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id;1 kết hợp dữ liệu bằng cách nối các hàng dọc theo các hàng từ một bảng khác. Vì vậy, nếu chúng tôi muốn tạo danh sách kết hợp ID nhà cung cấp từ các bảng SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id; Ở đây, trước tiên chúng tôi chọn ID nhà cung cấp từ bảng SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id;5) và từ bảng main_course (cột SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id;7) riêng biệt. Sau đó, chúng tôi kết hợp các hàng này bằng từ khóa SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;9. Cuối cùng, chúng tôi sắp xếp kết quả để thuận tiện:
Lưu ý những điều sau khi sử dụng SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;9 trong SQL:
Kết quả của truy vấn này sẽ bao gồm SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id;5 400 hai lần:
Nếu cả SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;5 và SELECT w.name AS wine, m.name AS main_course FROM wine w CROSS JOIN main_course m;9 đều áp dụng cho trường hợp sử dụng của bạn là kết hợp hai bảng mà không có cột chung, hãy xem bài viết này với các ví dụ về các kết nối không cân bằng. Bạn có thể tìm thấy một số ví dụ có liên quan ở đó. Thời gian để thực hành tham gia chéo và công đoàn!Bây giờ bạn biết rất nhiều về việc kết hợp các bảng mà không có cột chung. Bạn sẽ được chuẩn bị cho câu hỏi về cách kết hợp hai bảng mà không cần một cột chung. Đây là một câu hỏi rất phổ biến trong các cuộc phỏng vấn xin việc SQL! Nếu bạn muốn tìm hiểu thêm về SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id;0, hãy xem video cơ bản của SQL tham gia từ loạt phim We We Learn SQL của chúng tôi trên YouTube. Ngoài ra, hãy thử Hướng dẫn tìm hiểu về các cách tốt nhất để học các tham gia SQL. Tuy nhiên, có lẽ bạn đã biết rằng con đường ngắn nhất để trở thành một chuyên gia SQL là thông qua rất nhiều thực hành viết các truy vấn SQL. LearnSQL.com cung cấp một khóa học toàn diện về SQL tham gia với 93 bài tập tương tác. Trong khóa học này, bạn sẽ có cơ hội thực hành tất cả các loại ____20 cơ bản, bao gồm SELECT w.supplier_id FROM wine w UNION SELECT m.major_supplier_id FROM main_course m ORDER BY supplier_id;0, including LEFT JOIN 0, self-joins, non-equi joins, and joins of multiple tables.Học hỏi! Chúng ta có thể tham gia 2 bảng không có cột chung không?Có một vài cách để kết hợp hai bảng mà không có cột chung bao gồm tham gia chéo (sản phẩm Cartesian) và công đoàn. Đây không phải là một sự tham gia nhưng có thể hữu ích cho việc hợp nhất các bảng trong SQL.Cross Join (Cartesian Product) and UNION. This is not a join but can be useful for merging tables in SQL.
Bạn có thể tham gia một bảng không có hồ sơ phù hợp không?Sự tham gia nối hoặc bên trong hoàn toàn không trả lại bất kỳ hàng không phù hợp nào.Nó chỉ trả về các hàng phù hợp trong cả hai bảng bạn tham gia.Nếu bạn muốn có bất kỳ hàng nào chưa từng có, bạn không nên sử dụng nó.Tham gia bên trái và tham gia bên phải giúp bạn cả hai hàng phù hợp và chưa từng có.. It returns only the rows that match in both of the tables you join. If you want to get any unmatched rows, you shouldn't use it. The LEFT JOIN and the RIGHT JOIN get you both matched and unmatched rows.
Làm thế nào tôi có thể tham gia hai bảng trong MySQL mà không cần tham gia?Làm thế nào để tham gia các bảng trong SQL mà không cần sử dụng các kết nối.. 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 tham gia ở đâu .. Sử dụng tất cả liên minh / liên minh .. Loại tham gia khi tham gia bảng mà không có mệnh đề ở đâu?Bất kỳ tham gia mà không có mệnh đề trên là một tham gia chéo.Tham gia bên trái là một tham gia bên ngoài, tạo ra một tập kết quả với tất cả các hàng từ bảng trên "trái" (t1);Các giá trị cho các cột trong bảng khác (T2) phụ thuộc vào việc có tìm thấy một trận đấu hay không.CROSS JOIN. The LEFT JOIN is an outer join, which produces a result set with all rows from the table on the "left" (t1); the values for the columns in the other table (t2) depend on whether or not a match was found. |
Bài Viết Liên Quan
Tìm mysql trong chuỗi
Trong bài viết này, tôi sẽ đề cập đến vấn đề hướng dẫn tìm kiếm tìm kiếm có dấu trên MySQL bằng cách sử dụng CONVERT(value, BINARY). Do đó search có dấu ...
Python và r có giống nhau không
R và Python là một trong những ngôn ngữ lập trình được sử dụng phổ biến nhất trong thời đại AIChiradeep BasuMallick Người viết kỹ thuậtNgày 6 tháng 12 năm ...
Làm cách nào để tính tổng mảng trong PHP?
Trong hướng dẫn này, hãy tìm hiểu cách tìm tổng các số trong một mảng trong PHP. Câu trả lời ngắn gọn là sử dụng array_sum() lấy một đối số làm biến ...
Nhận phần tử đầu tiên của dict python
Chương này mô tả chi tiết hơn một số điều bạn đã học và bổ sung thêm một số điều mới.5. 1. Thông tin khác về Danh sáchKiểu dữ liệu danh sách có thêm ...
Wordpress cách thay đổi mẫu bài đăng trên blog
Tất nhiên, chủ đề Total cũng bao gồm hỗ trợ cho blog thông qua các bài đăng tiêu chuẩn. Tất cả những gì bạn cần làm là thêm các bài đăng của mình như ...
100 đô bao nhiêu tiền việt
Tỷ giá Việt Nam Đồng và Đô la Mỹ luôn biến động liên tục mỗi ngày. Vậy hiện nay, 100 Đô la mỹ bằng bao nhiêu tiền Việt?Nếu bạn là người thường ...
Chung kết Monster Jam 2023
Bán vé Monster Jam World Finals XXII. Sân vận động Nissan – Nashville vào Thứ Bảy, ngày 1 tháng 7 năm 2023. Thời gian. 6. 00 giờ. m. Chỗ ngồi cao cấp có thể có sẵn ...
Chèn bảng cột excel
Cùng gitiho cuộc thi chinh phục kiến thức, khẳng định bản thân với hệ thống bài test phong phú, đầy đủ các chủ đề để bạn khám phákhám phá ...
Mảng nhật ký bảng điều khiển PHP
The echo command is used in PHP to print any value to the HTML document. Use tag inside echo command to print to the console.cú phápecho This is GeeksforGeeks Tutorial.; echo variable_name; Ghi ...
Có giới hạn đệ quy trong python không?
Hướng dẫn này thảo luận ý nghĩa của lỗi này và tại sao lỗi này lại quan trọng. Chúng tôi sẽ xem qua một ví dụ về lỗi này để bạn có thể tìm hiểu ...
Php tạo tệp html
React đã được thiết kế ngay từ đầu để áp dụng dần dần và bạn có thể sử dụng ít hay nhiều React tùy theo nhu cầu của mình. Có lẽ bạn chỉ muốn thêm ...
Tệp CSV trong Python w3schools
Python cũng hỗ trợ xử lý tệp và cho phép người dùng xử lý tệp i. e. , để đọc và ghi tệp, cùng với nhiều tùy chọn xử lý tệp khác, để thao tác trên ...
In đầu ra vào tập tin python
Hàm open() trả về một đối tượng tệp có hai phương thức hữu ích để ghi văn bản vào tệp. f = open(file, mode)0 và f = open(file, mode)1Phương thức f = open(file, ...
Ngày thiếu nhi thế giới 2023
Được thành lập vào năm 1950 bởi Giáo hoàng Pius XII, người đã ấn định ngày Lễ Hiển linh, để mỗi quốc gia tự do điều chỉnh nó theo yêu cầu của địa ...
1 Cm vuông 69 mm vuông bằng bao nhiêu cm vuông
1 dm vuông 23 cm vuông=...cm vuông2 m vuông 4 dm vuông=....dm vuông30 mm vuông 5 dm vuông=...dm vuông 30 dam vuông 10m vuông=....m vuông20 hm vuông 6 đảm vuông=....dam vuông40km ...
Kiểm tra số sau số thập phân trong JavaScript
Hướng dẫn sử dụng Castor EDC Hướng dẫn tính toán Castor EDC Các câu hỏi thường gặp Bài viết dành cho người quản lý dữ liệu Tài liệu phát hành tuân thủ ...
Tắt thông báo cảnh báo PHP
If you are using the PHP development server, run from the command line via `php -S servername:port`, every single error/notice/warning will be reported in the command line itself, with file name, and ...
Làm cách nào để hiển thị cơ sở dữ liệu trong MySQL?
Rất thường xuyên, bạn sẽ cần sử dụng bảng MySQL để lưu trữ dữ liệu bên trong bảng và sau đó xuất dữ liệu đó bằng cách sử dụng tập lệnh PHP. Để ...
Xóa hàng khỏi bảng html bằng jquery
trong hướng dẫn jQuery này, Chúng tôi sẽ cho bạn biết Cách tự động thêm và xóa các hàng trong bảng bằng jQuery. Trước đó, chúng tôi đã quản lý khả năng ...
Làm cách nào để hiển thị giá chiết khấu trong WooC Commerce?
Trong video này, tôi sẽ chỉ cho bạn cách hiển thị phần trăm chiết khấu trên huy hiệu bán hàng trong WordPress WooC Commerce chỉ với một vài dòng mã. Thủ thuật ...