SQL Pro
5.07K subscribers
142 photos
2 videos
10 files
127 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Download Telegram
#вопрос26

Отработает ли данный PostgreSQL запрос или упадет с ошибкой:

SELECT 
id,
SUM (value) OVER (PARTITION BY i ORDER BY y),
*
FROM table1;

Примечание: все поля существуют в таблице и соответствуют нужному типу данных.

#вопросы #собеседование
Ответ на #вопрос26

Да, отработает.

Классический пример аналитической функции, внутри которой сначала выполняется группировка (PARTITION BY), потом выполняется сортировка (ORDER BY) и применяется агрегирующая функция.

В данном случае все написано правильно.

Этот вопрос проверяет у кандидата знание оконных функций.

#вопросы #собеседование
👍2
Какой MySQL запрос возвратит позицию ’com‘ в строке ‘www.sql.com’?
Anonymous Quiz
14%
SELECT STR ("www.sql.com", "com");
28%
SELECT INSTR("www.sql.com", "com");
14%
Ничего из перечисленного
20%
Посмотреть ответы
👍2
Трюк дня. Найти дубли в поле email

Из таблицы customers выберите только те email, у которых есть дубликаты.

Также укажите количество повторений для каждого такого email.

Решение будет вечером.

#tips
Трюк дня. Найти дубли в поле email. Решение

SELECT email, COUNT (email)
FROM customers
GROUP BY email
HAVING COUNT (email) > 1;


#tips
#вопрос27

В чем разница между операторами DELETE и TRUNCATE?

#вопросы #собеседование
Ответ на #вопрос27

1. DELETE:Используется для удаления строки в таблице
TRUNCATE:Используется для удаления всех строк из таблицы

2. DELETE:Вы можете восстановить данные после удаления
TRUNCATE:Вы не можете восстановить данные (прим. перевод.: операции логируются по разному, но в SQL Server есть возможность сделать откат) транзакции)

3. DELETE:DML-команда
TRUNCATE:DDL-команда

4. DELETE:Медленнее, чем оператор TRUNCATE
TRUNCATE:Быстрее

#вопросы #собеседование
👍5
Статья дня. Как не надо индексировать

#sql

Читать статью
Какое из следующих MySQL выражений вернёт строки, которые НЕ начинаются с букв a, b или с?
Anonymous Quiz
23%
WHERE value REGEXP ^[abc];
18%
WHERE value REGEXP ^[^abc];
20%
WHERE value REGEXP ^_[abc];
23%
WHERE value REGEXP ^[abc]*;
16%
Посмотреть ответы
👍2
Трюк дня. Выбрать значения, которые соответствуют одному из нескольких шаблонов

Из PostgreSQL таблицы customers выберите только тех пользователей, текстовое поле phone которых содержит либо +011, либо +044, либо +099.

Решение будет вечером.

#tips
👍2
Трюк дня. Выбрать значения, которые соответствуют одному из нескольких шаблонов. Решение

SELECT *
FROM customers
WHERE phone LIKE ANY('{%+011%,%+044%,%+099%}');

#tips
👍3
#вопрос28

Как получить общие записи из двух PostgreSQL таблиц?

#вопросы #собеседование
Ответ на #вопрос28

SELECT colname 
FROM table1
INTERSECT
SELECT colname
FROM table2;

#вопросы #собеседование
Задача на мышление и логику.

Решение будет вечером.

#логика
👍2
Трюк дня. Выборка записей из таблицы при различных условиях

Из MySQL таблицы customers выберите только тех, которые:

имеют тип = ‘Sal’ или ‘Adv’ И разница между датами mod и trans >=365 дней;
имеют тип = ‘Cus’ И разница между датами mod и trans >=14 дней.

Исходная таблица:
type mod trans
Cus 2022-01-01 2022-12-01
Sal 2022-08-01 2021-05-01
Adv 2022-05-01 2022-04-01
Cus 2022-05-01 2022-04-01

Ожидаемые результат:
type mod trans
Sal 2022-08-01 2021-05-01
Cus 2022-05-01 2022-04-01

Решение будет вечером.

#tips
👍1
Трюк дня. Выборка записей из таблицы при различных условиях. Решение

SELECT
DAT.*
FROM customer DAT
WHERE DATEDIFF(mod,trans)>=
CASE WHEN type IN('Sal', 'Adv') THEN 365
WHEN type IN('Cus') THEN 14
ELSE NULL END;

#tips
🔥1
#вопрос29

Из каких подмножеств состоит SQL?

#вопросы #собеседование
Ответ на #вопрос29

DDL (Data Definition Language, язык описания данных) — позволяет выполнять различные операции с базой данных, такие как CREATE (создание), ALTER (изменение) и DROP (удаление объектов).

DML (Data Manipulation Language, язык управления данными) — позволяет получать доступ к данным и манипулировать ими, например, вставлять, обновлять, удалять и извлекать данные из базы данных.

DCL (Data Control Language, язык контролирования данных) — позволяет контролировать доступ к базе данных. Пример — GRANT (предоставить права), REVOKE (отозвать права).

#вопросы #собеседование
👍91👎1