Sobes.tech
Back to questions
Middle
7

Работали с базами данных? Можете привести пример запроса с JOIN? Для чего нужно HAVING? Для чего нужен DISTINCT и где прописывается? Какие операции фильтрации знаете? Как работает LIKE? Какие виды БД знаете? Для чего нужен первичный и внешний ключ?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Да, я работал с базами данных и могу привести примеры и объяснения по вашим вопросам.

Пример запроса с JOIN:

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

Этот запрос объединяет таблицы users и orders по полю user_id.


HAVING используется для фильтрации групп после агрегирования, например:

SELECT user_id, COUNT(*) as orders_count
FROM orders
GROUP BY user_id
HAVING COUNT(*) > 5;

Здесь выбираются пользователи с количеством заказов больше 5.


DISTINCT нужен для выбора уникальных значений и прописывается после SELECT:

SELECT DISTINCT country FROM users;

Это вернёт список уникальных стран.


Операции фильтрации:

  • WHERE — фильтрация строк перед группировкой
  • HAVING — фильтрация групп после агрегирования
  • LIKE — поиск по шаблону
  • IN — проверка вхождения в набор значений
  • BETWEEN — диапазон значений

LIKE используется для поиска по шаблону с подстановочными символами:

  • % — любое количество любых символов
  • _ — один любой символ

Пример:

SELECT * FROM users WHERE name LIKE 'A%';

Найдёт имена, начинающиеся на 'A'.


Виды баз данных:

  • Реляционные (PostgreSQL, MySQL, Oracle)
  • Документоориентированные (MongoDB)
  • Ключ-значение (Redis)
  • Колонковые (ClickHouse)
  • Графовые (Neo4j)

Первичный ключ (PRIMARY KEY) — уникальный идентификатор строки в таблице, гарантирует уникальность и индексируется.

Внешний ключ (FOREIGN KEY) — поле, ссылающееся на первичный ключ другой таблицы, обеспечивает целостность данных и связь между таблицами.