数据库学习记录

多表联合查询实质

2018-08-04  本文已影响30人  迷糊银儿

实质:将前边部分查出的结果再与后续的表联合查询

select count(*) from animals;  # 5条记录
select count(*) from user;  # 4条记录
select count(*) from area;  # 4条记录

1.两笔联合查询,不加联合条件;
结果分析:结果为两表记录完全组合,结果数:5*4=20

select * from animals 
join USER
结果

2.两表联合查询,增加联合条件限制;
结果分析:从最初的20条结果集中取得符合联合条件的记录数--2条

select * from animals 
join USER on user.id=animals.user_id 
结果

3.两表查询的基础上再联合一个表area为3表查询,不加联合条件;
结果分析:结果为将2中结果集与area联合,结果记录数--2*4=8条

select * from animals 
join USER on user.id=animals.user_id 
join area
image.png

4.增加与area联合查询的联合条件;
结果分析:从3中的结果集8条记录中取的符合新增联合条件的记录数--1条

select * from animals 
join USER on user.id=animals.user_id 
join area on area.id=user.td;
结果
上一篇 下一篇

猜你喜欢

热点阅读