多表查询
多表查询(连接查询)
在使用数据库查询语句的时候, 单表的查询有时候不能满足项目的业务需求, 在项目开发过程中 有很多需求都是涉及到多表的连接查询
最终需要查询的时候来源于不同的表中 这个时候需要考虑使用连接查询。
笛卡尔积 介绍
对于数据库中 针对于两张表的记录数的所有记录进行匹配
将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 排序