关于复杂查询的一个基本思路

先化繁为简,再步步整合


create table areas( 
aid int primary key, atitle varchar(20), pid int );
insert into areas values 
 ('130000', '河北省', NULL), 
 ('130100', '石家庄市', '130000'),
 ('130400', '邯郸市', '130000'), 
 ('130600', '保定市', '130000'), 
 ('130700', '张家口市', '130000'), 
 ('130800', '承德市', '130000'), 
 ('410000', '河南省', NULL), 
 ('410100', '郑州市', '410000'), 
 ('410300', '洛阳市', '410000'), 
 ('410500', '安阳市', '410000'), 
 ('410700', '新乡市', '410000'), 
 ('410800', '焦作市', '410000');

此为建表数据,问题:查询河南所有的区县
横跨1级,不涉及到市

对应代码:

select * from areas as sheng,areas as shi,areas as qu
 where shi.pid=sheng.aid and qu.pid=shi.aid

先把对应的所有表格分别再EXCEL上画出来,一步步探索要实现问题的要求第一步应该怎么做,最后步步整合

注意:在涉及到复杂问题(本题中体现为多个表)最好使用 别名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值