全国城市多级联动-数据表的设计
需求,省市区三个下拉框

更优的表设计方案
自关联
草稿例子

随堂,自建城市表
》 建表语句
create table city(
id int UNSIGNED PRIMARY key auto_increment,
name varchar(60) not null,
parent_id int UNSIGNED default 0
);
》插入数据

开始查询
》查询武汉市的id
SELECT id FROM `city` where name='武汉市';
》查询武汉市有哪些区

》当我们不知武汉市的id的情况下,利用子查询查武汉市的区
select * from city where parent_id = (select id from city where name='武汉市');

》显示武汉市有哪些区
select * from city where name like “%武汉%”;
连表查询的格式
select * from 表1 inner join 表2 on 条件
select * from
(select * from city where name like "%武汉%") as c
inner join
(select * from city) as v
on c.id = v.parent_id
;

》另一种查

推荐的写法
select * from
city as c
inner join
city as v
on c.id = v.parent_id
where c.name = "武汉市"
;
自关联的注意事项
select * from
自己 as 别名1
inner join
自己 as 别名2
on
别名1.字段 = 别名2.字段
自关联的应用情景
城市上下级关系
单位上下级关系
等等。
673

被折叠的 条评论
为什么被折叠?



