You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle11G环境下查询银行网点详情及各网点账户总数的SQL问题

可行SQL实现方案

Oracle 11g 可直接运行如下语句,结果完全匹配预期:

SELECT 
    b.BCODE,
    b.BNAME,
    COUNT(a.ACC_No) AS TOTAL_ACCOUNT
FROM BANK_BRANCH b
LEFT JOIN ACCOUNT a 
    ON b.BCODE = a.BCODE
GROUP BY b.BCODE, b.BNAME
ORDER BY b.BCODE;

逻辑说明

  • 采用LEFT JOIN关联网点表和账户表,保证所有网点记录都会被返回,不会遗漏暂无账户的网点
  • 统计账户数时使用COUNT(a.ACC_No),避免左关联后无账户的网点被误统计为1
  • 分组字段同时包含BCODE和BNAME,符合Oracle 11g的分组语法要求(非聚合查询字段必须全部放入GROUP BY子句)

常见错误排查

如果之前查询结果不符合预期,通常是以下原因导致:

  • 误用INNER JOIN关联表,会过滤掉没有账户的网点
  • 统计时误用COUNT(*),无账户的网点统计结果会出错
  • 额外关联了Employee表做过滤,会排除EID不在员工表中的账户(如测试数据中EID=4的账户),导致B001的统计结果变为2,不符合需求

内容的提问来源于stack exchange,提问作者Naresh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 11:54:10