自关联
简单理解就是一个表与自身连接
举例说明
areas表
上面是areas表的部分数据,从数据中可以看出一个规律,中国包含海南,中国的id是1,然后海南的pid也是1,接着海南的id是9,所以海南所包含的市的pid就是9,这样我们就可以很便捷的查出海南所包含的市有哪些了
- 通过表连接实现
- 代码示例
SELECT a.* FROM areas a JOIN areas b ON a.pid=b.id WHERE b.name='海南';
- 运行结果:
- 代码示例
- 通过子查询实现
我们也可以通过子查询得到海南的id,然后查询海南所包含的市- 代码示例
SELECT * FROM areas where pid=(SELECT id FROM areas WHERE name='海南');
- 代码示例