十四、自连接查询的使用场景

一、什么是自连接

自连接是一种特殊的表连接,它是指相互连接的表在物理上同为一张表,但逻辑上是多张表。自连接通常用于表中的数据有层次结构的情况下,如区域表、菜单表、商品分类表等等。语法如下:

代码语言:javascript
复制
SELECT A.column, B.column
FROM table A, table B
WHERE A.column=B.column;

例如:

  1. 数据库中存在一个 area 表,表结构和数据内容如下:

字段

说明

id

主键

pid

父级ID

name

区域名称

id

pid

name

1

0

广西

2

1

北海

3

1

南宁

4

0

海南

5

4

海口

查询出每个城市对应的省份。

代码语言:javascript
复制
select A.id, A.name, B.name as province  from area A, area B
where A.pid=B.id and A.pid<>0;