Я пишу свой последний запрос для своей домашней работы, но я застрял на нем прямо сейчас. Этот запрос требует, чтобы я взял информацию из 2 таблиц вместо 1. Я смущен тем, как получить эту информацию из обеих таблиц и как их собрать. Вот описание запроса, который я пытаюсь написать.
Find the name, independence year, and region of all countries where English is an official language. Order results by region ascending and alphabetize the results within each region by country name. (44 results)
Вот таблицы, которые я собираюсь использовать для этого запроса
Table "lab2.country_language" Column | Type | Modifiers --------------+-----------------------+---------------------------------------- country_code | character(3) | not null default ''::bpchar language | character varying(30) | not null default ''::character varying is_official | boolean | not null default false percentage | real | not null default 0::real Indexes: "country_language_pkey" PRIMARY KEY, btree (country_code, language) Foreign-key constraints: "country_language_country_code_fkey" FOREIGN KEY (country_code) REFERENCES country(country_code) ON DELETE CASCADE => \d country Table "lab2.country" Column | Type | Modifiers -----------------+-----------------------+-------------------------------------- country_code | character(3) | not null default ''::bpchar name | character varying(52) | not null default ''::character varying continent | continent | not null region | character varying(26) | not null default ''::character varying surface_area | real | not null default 0::real indep_year | smallint | population | integer | not null default 0 life_expectancy | real |
Как упоминалось выше, вы должны сделать SQL (внутреннее) соединение в этом случае. Таким образом, у вас будет что-то вроде:
SELECT name, indep_year, region FROM lab2.country JOIN lab2.country_language ON lab2.country.country_code = lab2.country_language.country_code WHERE …
Хорошей отправной точкой будет учебник PostgreSQL , в частности, объединение между таблицами .
Вы должны выполнить внутреннее соединение между двумя таблицами, чтобы связать их вместе в более крупную виртуальную строку, которую вы затем можете фильтровать и выбирать отдельные столбцы.
Учебник содержит лучшие примеры, чем я могу.