Mysql Join

Mysql的各种JOIN

1、CROSS JOIN = JOIN,使用方式: SELECT * FROM table1 CROSS JOIN table2 ;

SELECT * FROM table1 JOIN table2

SELECT * FROM table1,table2

2、INNER JOIN = JOIN,内连接-只会连接满足on条件的行。

3、LEFT JOIN,左连接左表为主表,不满足连接条件的右表列会填充NULL,RIGHT JOIN同理。

4、FULL OUTER JOIN,全连接满足on条件的产生并集,不满足双向填充NULL。其中mysql不支持full join,通过 table1 left join table2 on t1.xx = t2.xx union table1 right join table2 on t1.xx = t2.xx 进行实现。

5、在不添加连接条件下,CROSS JOIN = JOIN = INNERJOIN,查询结果会导致笛卡尔积;

在同样的条件下 left join 和right join 效率是一样的。 同时:inner join > outer join > full join

 

原文地址:https://www.cnblogs.com/mzc1997/p/13176469.html