【发布时间】:2020-02-06 20:37:11
【问题描述】:
我有三张桌子
- 国家(国家 ID - 国家名称 - 国家流行音乐)
- 城市(城市 id - 城市名称 - 城市代码 - 城市流行)
- 公司(城市代码-公司名称-公司员工) 公司员工是员工人数。
我必须提供一个表格,其中包含每个国家/地区级别的公司的员工总数。
我使用了以下查询
SELECT country_name, company_name, company_employee
FROM country,
city,
company
WHERE country.country_id = city.country_id
and city.city_code = company.city_code
我拿了一张表格,您可以在其中看到国家、公司和员工人数 (例如,在英国的一个国家,同一家公司 ACS 有 2 条记录 ACS 300 EMPLOYEE 和 ACS 100 EMPLOYEE,而不是一条记录 ACS 400 员工)
我认为我的代码中缺少某些内容。我尝试过使用 sum 和 group 等函数,但失败了。
【问题讨论】:
-
提示:
JOIN。 从不在FROM子句中使用逗号。 -
今日提示:使用现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读(和维护),并且在需要时更容易转换为外连接。 -
当涉及多个表时,始终限定所有列是一种很好的编程习惯。例如。
country.country_name而不仅仅是country_name。
标签: sql