Перейти к содержимому
TelegramGitHub

SELECT и FROM

SELECT и FROM есть в каждом запросе. SELECT говорит, какие столбцы показать. FROM говорит, из какой таблицы их взять.

В этом уроке работаем с таблицей tutorial.us_housing_units — число построенных домов в США по месяцам и регионам.

База данных — это организованный набор данных. Данные в ней лежат в таблицах.

Таблица похожа на лист Excel: есть строки и столбцы. Но правила строже:

  • данные всегда разложены по столбцам;
  • у каждого столбца есть имя, и оно уникально в таблице;
  • в одном столбце все значения одного типа (числа, текст, даты).

Таблицы сгруппированы в схемы. Схема — это папка для таблиц. Полное имя таблицы пишут так: схема.таблица.

В нашей учебной базе две схемы:

СхемаЧто в ней
tutorialОсновные таблицы курса: Billboard, дома, Crunchbase, акции Apple и другие
bennТаблицы про студенческий футбол и служебные таблицы для кейсов

Например, tutorial.us_housing_units — таблица us_housing_units в схеме tutorial.

Выберем три столбца:

SELECT year,
month,
west
FROM tutorial.us_housing_units;

Правила:

  • сначала SELECT, потом FROM, порядок менять нельзя;
  • столбцы разделяют запятой;
  • после последнего столбца запятой нет.

Запрос вернёт столбцы year, month и west. Строки — все, что есть в таблице.

Звёздочка * значит «все столбцы»:

SELECT *
FROM tutorial.us_housing_units;

База выполняет запрос и возвращает результат — новую таблицу. Исходная таблица при этом не меняется. SELECT только читает данные.

Если запустить запрос ещё раз, база снова прочитает таблицу. Если данные в таблице изменились, изменится и результат.

SQL не различает регистр ключевых слов и не обращает внимания на переносы строк. Эти два запроса одинаковы:

select year, month, west from tutorial.us_housing_units;
SELECT year,
month,
west
FROM tutorial.us_housing_units;

Второй читать проще. Принятые правила:

  • ключевые слова (SELECT, FROM, WHERE) — заглавными буквами;
  • имена столбцов и таблиц — строчными;
  • каждую часть запроса — с новой строки;
  • в конце — точка с запятой ;.

Столбец в результате можно переименовать. Для этого пишут AS и новое имя:

SELECT west AS west_region,
south AS south_region
FROM tutorial.us_housing_units;

Хорошее имя — строчными буквами, слова через подчёркивание: west_region.

Если в имени нужны пробелы или заглавные буквы, возьмите его в двойные кавычки:

SELECT west AS "West Region"
FROM tutorial.us_housing_units;

Решайте сами, без AI. Сначала напишите запрос, потом сверьтесь с проверкой, и только потом открывайте решение.

Выберите все столбцы таблицы tutorial.us_housing_units, но без *. Перечислите каждый столбец.

Проверка: 564 строки, 7 столбцов. Первая строка: 1968 год, January, south = 34.4.

Решение
SELECT year,
month,
month_name,
south,
west,
midwest,
northeast
FROM tutorial.us_housing_units;

Выберите все столбцы таблицы tutorial.us_housing_units и переименуйте их так, чтобы каждое слово начиналось с заглавной буквы: Year, Month, Month Name и так далее.

Проверка: 7 столбцов, третий называется Month Name.

Решение
SELECT year AS "Year",
month AS "Month",
month_name AS "Month Name",
south AS "South",
west AS "West",
midwest AS "Midwest",
northeast AS "Northeast"
FROM tutorial.us_housing_units;