MySQL的多關聯一個表操作,可以用多種方式實現,以下是其中的兩種方法:
1. 使用多重LEFT JOIN
SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.table1_id LEFT JOIN table2 AS table3 ON table1.id = table3.table1_id
這個查詢語句中,使用了兩個LEFT JOIN,將table1與table2、table3進行關聯。通過使用AS關鍵字,可以對同一個表進行多次關聯。這種方法的優點是非常靈活,可以關聯多個表。缺點是語句比較冗長,不容易理解。
2. 使用子查詢
SELECT * FROM table1 LEFT JOIN ( SELECT * FROM table2 UNION ALL SELECT * FROM table3 ) AS sub_table ON table1.id = sub_table.table1_id
這個查詢語句使用了一個子查詢,將table2和table3合并成一個子表。然后再將子表與table1進行關聯。
這種方法的優點是語句較短,易于理解。缺點是只能關聯兩個表。
下一篇mysql多值