1
有人可以向我解释如何查询这些表以获取他们所在国家/地区的公司中雇员的数量?结果列的数量应为3,公司,国家和员工。公司和分支机构相连,但国家与城市相连,所以我不知道如何解决这个问题。谢谢你们,感谢它!用四张表查询SQL
CREATE TABLE country (
id integer NOT NULL PRIMARY KEY,
name varchar NOT NULL,
population integer check(population > 0)
);
CREATE TABLE city (
id integer NOT NULL PRIMARY KEY,
name varchar NOT NULL,
population integer check(population > 0),
country integer NOT NULL REFERENCES country(id)
);
CREATE TABLE company (
id integer NOT NULL PRIMARY KEY,
name varchar NOT NULL
);
CREATE TABLE branch (
company integer NOT NULL REFERENCES company(id),
city integer NOT NULL REFERENCES city(id),
name varchar,
employees integer NOT NULL,
PRIMARY KEY (company, city)
);
这是我做过什么,但我知道这是错的,我想我的组合,但到目前为止,没有什么是正确的!
SELECT
branch.employees,
company.name AS company,
country.name AS country
FROM branch
INNER JOIN company
ON branch.company = company.id
INNER JOIN country
ON city.country = country.id
ORDER BY country;
了解关于sql中的连接。 –
当处理艰难的连接时,我总是从一个简单的开始。取下一个(比如分支和公司),然后添加更多。 – MPelletier
如果你想获得就业人数,你还需要使用总和函数,与关键字 – kurast