多表查询

多表查询(连接查询)

在使用数据库查询语句的时候, 单表的查询有时候不能满足项目的业务需求, 在项目开发过程中 有很多需求都是涉及到多表的连接查询

最终需要查询的时候来源于不同的表中 这个时候需要考虑使用连接查询。

笛卡尔积 介绍

 

 对于数据库中 针对于两张表的记录数的所有记录进行匹配

将A表中的每条记录 于B表中每条记录进行匹配 获得笛卡尔积

select * from emp

select * from dept

select * from emp,dept 显示的结果就是笛卡尔积

注意: 笛卡尔积结果是无效的 必须从笛卡尔积中选取有效的数据结果!!! 找到他们的关联关系

因为显示出来的所有纪录有很多都是重复的 而我们往往需要的是有效的数据.......

 

 内连接查询

关键字:inner join ..... on

内连接查询的数据和等值关联查询得到的数据是一样的 得到的是两张表中共有的数据

语句: select * from a表 inner join b表 on a.aid = b.bid(笛卡尔积过滤)

 

 

 

 

 

 外连接:

左外连接

关键字: left join on

语句: select * from a表 left join b表名 on a.aid = b.bid

 

 右外连接

关键字: right join on/right outer join on

select * from a表名 right inner join b表 on a.aid = b.bid

连接查询比较

 

 order by 排序

 

 

 

posted @ 2021-12-22 19:36  秃头少女and战战  阅读(42)  评论(0编辑  收藏  举报