如何编写MySQL查询语句获取business表各企业及其对应母公司名称
MySQL自关联查询企业及对应母公司名称解决方案
你需要使用自左连接实现需求,将business表分别作为子企业表、母公司表关联查询即可,具体查询语句如下:
SELECT sub.businessname AS '企业名称', parent.businessname AS '母公司名称' FROM business sub LEFT JOIN business parent ON sub.branch = parent.id;
语句说明
- 给business表设置两个别名,
sub代表查询的子企业主体,parent代表关联的母公司主体 - 使用
LEFT JOIN而非普通内连接,保证没有母公司(branch字段为空)的企业也能正常出现在结果中,对应的母公司名称会自动返回NULL - 你也可以根据需求补充查询其他字段,比如子企业的id、注册时间等,只需要在SELECT后添加
sub.字段名即可
扩展用法
如果需要过滤特定城市、注册时间的企业,直接在语句末尾加WHERE条件即可,比如只查北京地区的企业:
SELECT sub.businessname AS '企业名称', parent.businessname AS '母公司名称' FROM business sub LEFT JOIN business parent ON sub.branch = parent.id WHERE sub.city = '北京';
内容的提问来源于stack exchange,提问作者BrainlessPOMO
相关产品推荐
相关产品推荐

