SQL关联多张表的方法有以下几种:
- INNER JOIN(内连接):通过共同的键将两个或多个表连接起来,并只返回匹配的行。
SELECT * FROM table1 INNER JOIN table2 ON table1.key = table2.key;
- LEFT JOIN(左连接):返回左表中的所有行,以及与右表中的匹配行。
SELECT * FROM table1 LEFT JOIN table2 ON table1.key = table2.key;
- RIGHT JOIN(右连接):返回右表中的所有行,以及与左表中的匹配行。
SELECT * FROM table1 RIGHT JOIN table2 ON table1.key = table2.key;
- FULL JOIN(全连接):返回左表和右表中的所有行,如果没有匹配的行,则用NULL填充。
SELECT * FROM table1 FULL JOIN table2 ON table1.key = table2.key;
- CROSS JOIN(交叉连接):返回两个表中的所有行的笛卡尔积,即两个表中的每一行都与另一个表中的每一行相关联。
SELECT * FROM table1 CROSS JOIN table2;
- Self Join(自连接):将表与自身进行连接,用于在同一表中比较不同行的数据。
SELECT * FROM table1 t1 INNER JOIN table1 t2 ON t1.key = t2.key;
以上是一些SQL中关联多张表的方法,选择合适的连接方式取决于查询需求和表之间的关系。