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
Channel created
#вопрос1

В чем разница между Full Outer Join и Cross Join?

#вопросы #собеседование
👍1
Трюк дня. COALESCE() для перезаписи NULL

При помощи функции COALESCE() можно перезаписать NULL на другое значение:

SELECT
id,
null_var,
COALESCE(null_var, 'missing') AS recode_null_var
FROM
current_table
ORDER BY id


Запрос вернёт значение ‘missing‘ для всех строк таблицы, где null_var IS NULL

#tips
Видео дня. Практические задачи по SQL / join, подзапрос, максимальное

Ссылка на YouTube

#видео
Задача на логику.

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

#логика
Решение сегодняшней задачи на логику.

Ответ: 734

#логика
Задача на логику.

M, A и T — уникальные цифры, причём MAM + MAT + MTT в сумме даёт 1416.

Вопрос: чему равны M, A и T?

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

#логика
Решение сегодняшней задачи на логику.

Ответ:
M = 4
A = 7
T = 6

#логика
Что выведет этот код, если in_basket IS NULL?
Anonymous Quiz
7%
0
29%
price*ordered
41%
NULL
19%
ошибку
5%
ничего из перечисленного
Tips & Tricks. Порядок исполнения в SQL

Разбираем, каков порядок исполнения операторов в SQL. И как можно улучшить производительность запросов.

#sql

Читать статью
Трюк дня. Объединить значения из нескольких строк таблицы в одну, группируя по определённому параметру.

Например, есть таблица:

id name value
1 A 4
1 B 8
2 C 9

В результате нужно получить следующее:

id column
1 A:4, B:8
2 C:9

В SQL Server 2017, Azure можно использовать функцию STRING_AGG:

SELECT
id,
STRING_AGG(
CONCAT(name,’:’,[value], ‘, ‘)
FROM table
GROUP BY id

#tips
Трюк дня. Получить id покупки с максимальной value для каждого customer.

Например, есть таблица:

id customer value
1 Alex 5
2 Sam 1
3 Sam 3

В результате нужно получить следующее:

id customer value
1 Alex 5
3 Sam 3

В PostgreSQL можно использовать оператор DISTINCT ON:

SELECT
DISTINCT ON(customer)
id,
customer,
value
FROM table
ORDER BY customer, value
DESC, id

#tips
А какие варианты решения вы знаете?
Какой оператор нужно вставить вместо [?], чтобы обновить всю колонку city в таблице customers?
Anonymous Quiz
36%
WHERE
7%
ON
52%
SET
1%
ошибка
5%
ничего из перечисленного