0Pricing
SQL Academy · Урок

Выбор столбцов и выражений

Выбирайте столбцы, вычисляйте производные выражения, задавайте результатам псевдонимы с помощью AS и используйте DISTINCT для удаления дубликатов

«Выбор столбцов и выражений» — бесплатный урок SQL Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения SQL Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс SQL Academy содержит 4 уроков всего.

Базовый SELECT

SELECT выбирает столбцы из одной или нескольких таблиц.

SELECT id, email, full_name
FROM users;

SELECT *

SELECT * возвращает каждый столбец. Это удобно в REPL, но плохо для рабочего кода:

  • Возвращается больше байтов, чем нужно
  • Код ломается при добавлении или перестановке столбцов
  • Скрывается замысел кода при проверке изменений

Вычисляемые выражения

В списке SELECT можно вычислять новые столбцы:

SELECT id,
       price,
       quantity,
       price * quantity AS subtotal,
       UPPER(email) AS email_upper
FROM order_items;

Псевдонимы столбцов с AS

AS переименовывает выходной столбец. Это ключевое слово необязательно, но улучшает читаемость:

SELECT first_name || ' ' || last_name AS full_name,
       EXTRACT(YEAR FROM created_at) AS signup_year
FROM users;

Объединение строк

Стандартный SQL объединяет строки с помощью ||. Многие базы данных также поддерживают CONCAT(...):

SELECT first_name || ' ' || last_name FROM users;
SELECT CONCAT(first_name, ' ', last_name) FROM users;

-- ||  with NULL → NULL
-- CONCAT skips NULLs (treats them as empty strings)

DISTINCT

DISTINCT удаляет дублирующиеся строки из результата:

SELECT DISTINCT country FROM users;
SELECT DISTINCT country, city FROM users;  -- distinct pairs

DISTINCT ON (PostgreSQL)

DISTINCT ON оставляет первую строку в каждой группе, определяемую с помощью ORDER BY:

-- Most recent login per user:
SELECT DISTINCT ON (user_id) user_id, login_at, ip
FROM logins
ORDER BY user_id, login_at DESC;

Выражения CASE в SELECT

Вычисление одного из нескольких значений для каждой строки:

SELECT id,
       total,
       CASE
         WHEN total >= 1000 THEN 'whale'
         WHEN total >=  100 THEN 'regular'
         ELSE 'small'
       END AS bucket
FROM orders;

Кавычки для идентификаторов и строк

В SQL используются два вида кавычек:

-- Single quotes: string literal
SELECT 'hello' AS greeting;

-- Double quotes: identifier (column/table name with special chars or case)
SELECT "First Name" FROM users;

-- Mixing them up is a common error.

Приведение типов

Преобразуйте значения между типами с помощью :: или CAST(... AS ...):

SELECT '2024-01-15'::DATE AS d;
SELECT CAST('42' AS INTEGER) AS n;
SELECT (price::TEXT || ' USD') AS pretty FROM products;

Выбор данных из нескольких таблиц (предварительный просмотр)

Можно извлекать столбцы из нескольких таблиц в одном запросе — для этого и нужны соединения JOIN. Мы рассмотрим их в курсе «Основы JOIN».

SELECT u.email, o.total
FROM users u
JOIN orders o ON o.user_id = u.id;

Повторение

SELECT выбирает столбцы и вычисляемые выражения.

  • Используйте явные списки столбцов, а не *
  • Вычисляйте значения на лету с помощью выражений
  • Используйте псевдонимы с AS для ясности
  • DISTINCT удаляет дублирующиеся строки из результата

Быстрая проверка

Какое ключевое слово удаляет дублирующиеся строки из набора результатов?

Часто задаваемые вопросы

Урок «Выбор столбцов и выражений» бесплатный?

Да — полный текст урока «Выбор столбцов и выражений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс SQL Academy, подпишись на CoddyKit PRO. Курс SQL Academy содержит 4 уроков всего.

Чему я научусь в уроке «Выбор столбцов и выражений»?

Выбирайте столбцы, вычисляйте производные выражения, задавайте результатам псевдонимы с помощью AS и используйте DISTINCT для удаления дубликатов Ты практикуешь SQL Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать SQL Academy?

Предыдущий опыт не требуется. SQL Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Выбор столбцов и выражений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке SQL Academy?

Да. Каждый урок SQL Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Выбор столбцов и выражений
  2. Фильтры WHERE: операторы сравнения и логики
  3. ORDER BY для одного и нескольких столбцов
  4. Основы LIMIT, OFFSET и разбиения на страницы
← Назад к SQL Academy