SQL задачи
10.3K subscribers
226 photos
185 links
SQL задачи для подготовки к собеседованию.

SQL тесты для проверки знаний.

№ 6208359504


SQL запросы к конкретной Базе данных с решением и разбором

По вопросам рекламы: @anothertechrock
Download Telegram
Задачка по нашей базе данных, которая находится в шапке канала.
Код генерации базы данных и INSERT данных по ссылке ТУТ.

ВОПРОС:
Что делает ограничение PRIMARY KEY (order_id, product_id) в таблице order_detail?

Ответ под спойлером, но если хотите сперва проверить свою догадку, следующим постом опубликуем тест с вариантами ответов.

Правильный ответ 👇

Обеспечивает уникальность комбинации order_id и product_id.

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой запрос вернет самый дорогой продукт?

1. SELECT MAX(price) FROM product;

2. SELECT TOP 1 price FROM product ORDER BY price ASC;

3. SELECT price FROM product WHERE price = MAX(price);

4. SELECT product_name FROM product WHERE price > ALL;


Схема БД и код для генерации данных находятся в шапке канала.

Для тех, кто предпочитает тесты, опубликуем тест с вариантами ответа в следующем посте.

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Задачка по нашей базе данных, которая находится в шапке канала.
Код генерации базы данных и INSERT данных по ссылке ТУТ.

ВОПРОС:
Какой оператор используется для увеличения цены на 10% у всех товаров категории "Одежда"?

Ответ под спойлером, но если хотите сперва проверить свою догадку, следующим постом опубликуем тест с вариантами ответов.

Правильный ответ 👇

UPDATE product SET price = price * 1.1 WHERE category_id = 3;

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
👀 Задачка по нашей базе данных, которая находится в шапке канала. Код генерации базы данных и INSERT данных по ссылке ТУТ.

ВОПРОС:
Какой запрос вернёт клиентов, которые не сделали ни одного заказа?

1. SELECT * FROM order_table WHERE customer_id IS NULL;

2. SELECT * FROM customer EXCEPT SELECT * FROM order_table;

3. SELECT * FROM customer c LEFT JOIN order_table o ON c.customer_id = o.customer_id WHERE o.order_id IS NULL;

4. SELECT * FROM customer WHERE order_id IS NULL;


Правильный ответ 👇

SELECT * FROM customer c LEFT JOIN order_table o ON c.customer_id = o.customer_id WHERE o.order_id IS NULL;

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14
Что делает следующий запрос в MySQL?

SELECT email
FROM customer
WHERE TRIM(email) NOT REGEXP '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+[.][A-Za-z]{2,}$';


Схема БД и код для генерации данных находятся в шапке канала.

Запрос не выдает число или конкретную категорию. Просто опишите результат своими словами в комментариях. А для тех, кто предпочитает тесты, опубликуем тест с вариантами ответа в следующем посте.

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
📢 Когда сообщения теряются, бизнес теряет данные

📅 29 октября в 20:00 МСК — открытый урок от OTUS — «Обработка гарантий в Kafka: сообщения, которые никогда не пропадают!»

На этом занятии вы узнаете, как строить надежные event-driven системы, которые не боятся сбоев. Что вас ждет:

🔹 Разбор гарантий доставки в Kafka — at-most-once, at-least-once, exactly-once
🔹 Практические советы по избеганию потерь данных в продакшене
🔹 Настройка producer и consumer для гарантированной доставки сообщений
🔹 Разбор подводных камней exactly-once processing и мониторинга гарантий

После урока вы поймете, что реально работает, а что только кажется надёжным. Вебинар проходит в преддверии старта курса «Apache Kafka».

📌 Регистрируйтесь, чтобы перестать терять сообщения и начать управлять ими:

https://vk.cc/cQMg0e

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Напишите запрос, позволяющий переименовать столбец LastName в Surname в таблице «Employees»
Anonymous Quiz
24%
RENAME LastName into Surname FROM Employees
57%
ALTER TABLE Employees CHANGE LastName Surname varchar(50)
19%
ALTER TABLE Surname(LastName) FROM Employees
Задачка по нашей базе данных, которая находится в шапке канала.
Код генерации базы данных и INSERT данных по ссылке ТУТ.

ВОПРОС:
Как выбрать клиентов, у которых возраст больше среднего возраста всех клиентов?

1. SELECT * FROM customer WHERE age > (SELECT AVG(age) FROM customer);

2. SELECT * FROM customer WHERE age > AVG(age);

3. SELECT * FROM customer HAVING age > AVG(age);

4. SELECT * FROM customer WHERE age IN (AVG(age));


Для тех, кто предпочитает тесты, опубликуем тест с вариантами ответа в следующем посте.

Правильный ответ 👇

SELECT * FROM customer WHERE age > (SELECT AVG(age) FROM customer);

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Что делает следующий запрос?

SELECT c.* FROM customer c
WHERE EXISTS (
SELECT 1 FROM order_table o WHERE o.customer_id = c.customer_id);


Схема БД и код для генерации данных находятся в шапке канала.

Запрос не выдает число или конкретную категорию. Просто опишите результат своими словами в комментариях. А для тех, кто предпочитает тесты, опубликуем тест с вариантами ответа в следующем посте.

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Задачка по нашей базе данных, которая находится в шапке канала.
Код генерации базы данных и INSERT данных по ссылке ТУТ.

ВОПРОС:
Какой запрос вернёт для каждого заказа и клиента ID предыдущего заказа этого же клиента?

1. SELECT order_id, customer_id, LAG(order_id) OVER (PARTITION BY customer_id ORDER BY order_date) AS prev_order_id FROM order_table;

2. SELECT order_id, customer_id, MAX(order_id) FROM order_table;

3. SELECT order_id, customer_id, order_id-1 AS prev_order_id FROM order_table;

4. SELECT order_id, customer_id, MIN(order_id) OVER () AS prev_order_id FROM order_table;


Правильный ответ 👇

1. SELECT order_id, customer_id, LAG(order_id) OVER (PARTITION BY customer_id ORDER BY order_date) AS prev_order_id FROM order_table;

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
📕Временные ряды и наблюдаемость: как устроены Time-Series базы данных
👤Вебинар для разработчиков, администраторов, специалистов по базам данных, Data engineers, Backend и FullStack-разработчиков

На открытом уроке 1 декабря в 20:00 мск мы разберем, чем хранилища временных рядов отличаются от реляционных и колоночных БД, и на практике сравним работу VictoriaMetrics и InfluxDB:

📗 На вебинаре:
1. Архитектура time-series баз: retention, downsampling, continuous queries.
2. Сравнение VictoriaMetrics, InfluxDB и ClickHouse для метрик.

📘 В результате на практике изучите и освоите умение выбирать подходящую TSDB (VictoriaMetrics, InfluxDB, ClickHouse) под задачи проекта, и получите четкое понимание архитектурных особенностей Time-Series баз данных.

👉 Регистрация на урок и подробности о курсе NoSQL: https://otus.pw/u3vYf/

Все участники открытого урока получат скидку на курс "NoSQL"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576