MySQL多表查询

2021-04-13 10:01:28
交叉连接: 不适用任何匹配条件。生成笛卡尔积。 ``` select * from employee,department; ``` 内连接: 只取两张表的共同部分 ``` select * from employee inner join department on employee.dep_id = department.id; ``` 左连接: 在内连接的基础上保留左表的记录(如果右表有左表没有会不显示右表有而左表没有的部分) ``` select * from employee left join department on employee.dep_id = department.id ``` 右连接: 在内连接的基础上保留右表的记录(和左连接相反,如果左表有右表没有会不显示左表有而右表没有的部分)) ``` select * from employee right join department on employee.dep_id = department.id ``` 全外连接: 在内连接的基础上保留左右两表没有对应关系的记录(就是左右连接的合体,两者相互没有的都进行保留) ``` select * from employee left join department on employee.dep_id = department.id union select * from employee right join department on employee.dep_id = department.id ```