← Назад к вопросам

Что такое выражение SELECT в SQL?

1.3 Junior🔥 231 комментариев
#Базы данных и SQL

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

# Что такое выражение SELECT в SQL?

SELECT — это основное выражение в SQL для извлечения данных из базы данных. Это самый часто используемый SQL оператор.

Базовая синтаксис

SELECT column1, column2, ...
FROM table_name
WHERE condition;

Примеры использования

1. Выбрать все столбцы

SELECT * FROM users;

2. Выбрать конкретные столбцы

SELECT id, name, email FROM users;

3. С условием WHERE

SELECT name, email FROM users 
WHERE age > 18;

4. С сортировкой ORDER BY

SELECT name, age FROM users 
ORDER BY age DESC;

5. С GROUP BY и агрегацией

SELECT department, COUNT(*) as count
FROM employees
GROUP BY department;

6. С JOIN для связи таблиц

SELECT users.name, orders.total
FROM users
INNER JOIN orders ON users.id = orders.user_id;

Основные компоненты SELECT

  • SELECT — какие столбцы вернуть
  • FROM — из какой таблицы выбирать
  • WHERE — условие фильтрации строк
  • GROUP BY — группировка по столбцам
  • HAVING — условие для групп
  • ORDER BY — сортировка результатов
  • LIMIT — ограничение количества строк

Агрегирующие функции

  • COUNT() — количество строк
  • SUM() — сумма значений
  • AVG() — среднее значение
  • MAX() — максимальное значение
  • MIN() — минимальное значение

Типы SELECT

DISTINCT — уникальные значения

SELECT DISTINCT department FROM employees;

UNION — объединение результатов

SELECT name FROM users
UNION
SELECT name FROM customers;

Подзапросы

SELECT name FROM users
WHERE id IN (SELECT user_id FROM orders WHERE total > 1000);

В контексте Java

// JDBC
String query = "SELECT id, name FROM users WHERE age > ?";
PreparedStatement stmt = connection.prepareStatement(query);
stmt.setInt(1, 18);
ResultSet rs = stmt.executeQuery();

// JPA
List<User> users = em.createQuery(
    "SELECT u FROM User u WHERE u.age > :age")
    .setParameter("age", 18)
    .getResultList();

// Spring Data
List<User> users = userRepository.findByAgeGreaterThan(18);

Производительность

  • Выбирай только нужные столбцы
  • Используй WHERE для фильтрации
  • Индексируй часто используемые столбцы
  • Избегай N+1 запросов

SELECT — это основной инструмент для извлечения данных из БД. Эффективное использование SELECT критично для производительности приложений.