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

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


№ 7065181110


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

По вопросам рекламы: @anothertechrock
Download 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
🔥15
Что делает следующий запрос в MySQL?

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


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

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

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Напишите запрос, позволяющий переименовать столбец LastName в Surname в таблице «Employees»
Anonymous Quiz
25%
RENAME LastName into Surname FROM Employees
56%
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
👍3
Что делает следующий запрос?

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


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

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

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
👍2
Задачка по нашей базе данных, которая находится в шапке канала.
Код генерации базы данных и 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
👍9
Что выведет этот код? ↪️

SELECT category_name, AVG(price) 
FROM category c JOIN product p ON c.category_id = p.category_id
GROUP BY category_name HAVING AVG(price) > 200;


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

Запрос не выдает число или конкретную категорию. Просто опишите своими словами результат ✏️

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

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет этот код? ⤵️
SELECT order_id FROM order_table o

JOIN customer c ON o.customer_id = c.customer_id WHERE c.country_code = 'RU'

UNION ALL

SELECT order_id FROM order_detail WHERE product_id IN (SELECT product_id FROM product WHERE category_id = 1);


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

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

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

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

ВОПРОС:
Какой JOIN нужно использовать, чтобы получить только тех клиентов, которые сделали заказы?

SELECT c.first_name, c.last_name, o.order_id FROM customer c

[INNER/LEFT/CROSS/ FULL] JOIN order_table o ON c.customer_id = o.customer_id;


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

INNER JOIN

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой верный ответ на задачку выше? 🔼
Anonymous Quiz
5%
CROSS JOIN
23%
LEFT JOIN
67%
INNER JOIN
5%
FULL JOIN
Привет, меня зовут Ростислав, я разработчик open source проекта Postgresus для резервного копирования PostgreSQL (скоро будет ещё MySQL, MariaDB и MongoDB)

Вот GitHub проекта - https://github.com/RostislavDugin/postgresus

Помогите, пожалуйста, набрать ещё ~170 звёзд на GitHub до НГ до 3.5к. Чтобы попасть в рейтинги лучших open source проектов в экосистеме PostgreSQL - он станет чуть более узнаваемым в 2026-м году

Ваш один клик на звёздочку мне сильно поможет, это тоже вклад в проект 🦦

Ещё о проекте есть статья на Хабре - https://habr.com/ru/articles/974492/

P.S. Проект полностью открытый (Apache 2.0), бесплатный и запускается через Docker
👍5👎4🔥2👏1💩1
Задачка по нашей базе данных, которая находится в шапке канала.
Код генерации базы данных и INSERT данных по ссылке ТУТ.

ВОПРОС:
Какой запрос позволяет проверить, есть ли дубликаты product_id в таблице product?

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

SELECT COUNT(DISTINCT product_id), COUNT(product_id) FROM product;

Если вам понравился вопрос - зашарьте его друзьям 👉 SQLQuestions
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Большой учебник по QA.

Более 500 статей и туториалов, которые полностью закроют потребность для изучения QA от 0 до немного шарящего новичка.


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

Содержание:

📚 Основы тестирования

🌀 Типы тестирования

🚀 Тестирование производительности

📄 Тестовая документация

Тест-кейсы

🎯 Техники тест-дизайна

🐞 Все о багах

🤖 Автоматизация

📱 Тестирование мобильных приложений

🔧 Инструменты тестировщика
- Cypress
- Postman
- Selenium
- Playwright
- Appium

💼 Собеседование

🆕 Дополнительные материалы

📝 Тесты для самопроверки
- Большие тесты
- Тесты по SQL
- Тесты по Docker
- Тесты по Linux
- Тесты по TestNG
- Тесты по Cypress
- ISTQB-тесты
- Тесты по автоматизации
- Тесты по инструментам тестирования
- Тесты по Git
- И еще немного тестов

📚 Книги

🕴Бизнес-анализ

Перейти на учебник: https://qarocks.ru/big-software-testing-textbook/


❗️QaRocks | Шарьте этот пост с друзьями, изучающими QA!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1