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