MYSQL的多表查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYSQL的多表查询相关的知识,希望对你有一定的参考价值。

1、笛卡儿积

select * from emp,dep; 

select * from emp,dep where emp.dep_id = dep.id;

select * from emp,dep where emp.dep_id = dep.id and dep.name = "技术";

2、内连接:只取两张表有对应关系的记录

select * from emp inner join dep on emp.dep_id = dep.id;
select * from emp inner join dep on emp.dep_id = dep.id
                                                        where dep.name = "技术";
        inner join 连接两个表, where过滤条件,只取条件符合的

3、左连接: 在内连接的基础上保留左表没有对应关系的记录

select * from emp left join dep on emp.dep_id = dep.id;

4、右连接: 在内连接的基础上保留右表没有对应关系的记录

select * from emp right join dep on emp.dep_id = dep.id;

5、全连接:在内连接的基础上保留左、右面表没有对应关系的的记录

select * from emp left join dep on emp.dep_id = dep.id
union
select * from emp right join dep on emp.dep_id = dep.id;

以上是关于MYSQL的多表查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL的多表关联查询

mysql数据库的多表查询,子查询,联合查询

day15(mysql 的多表查询,事务)

MYSQL的多表查询

你了解MySQL中的多表联合查询吗?

MySQL的多表联查和嵌套查询