自连接查询
为什么需要自连接
需求:要查询广东省下的所有市,如果分两张表进行存储,那查询会涉及两张表的查询(省表和市表),会降低查询效率。而如果把它存储在一张表中(省市表),使用自连接查询,会加快查询速度,减少数据表占用的空间。
自连接如何查询
- 获取广东省的aid(aid=1)
- 获取pid为1的所有atitle
自连接
分别给省市表起一个别名city和province.
select city.* from
areas as city
inner join
areas as province
on city.pid = province.aid
where province.atitle = '广东省';