Что выведет этот код, если in_basket IS NULL?
Anonymous Quiz
7%
0
29%
price*ordered
41%
NULL
19%
ошибку
5%
ничего из перечисленного
Tips & Tricks. Порядок исполнения в SQL
Разбираем, каков порядок исполнения операторов в SQL. И как можно улучшить производительность запросов.
#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:
STRING_AGG(
CONCAT(name,’:’,[value], ‘, ‘)
#tips
Например, есть таблица:
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:
customer,
value
#tips
А какие варианты решения вы знаете?
Например, есть таблица:
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%
ничего из перечисленного
Трюк дня. Найти записи с граничными значениями без соединения таблицы на саму себя
Один из вариантов - это сначала найти максимальное значение для каждого ID с помощью GROUP BY, и затем соединить таблицу с самой собой по ID и max значению.
Но есть способ лучше:
#tips
Один из вариантов - это сначала найти максимальное значение для каждого ID с помощью GROUP BY, и затем соединить таблицу с самой собой по ID и max значению.
Но есть способ лучше:
SELECT
dat2.*
FROM
(
SELECT
dat.*,
CASE WHEN (num = MAX(num) OVER (PARTITION BY id)) THEN 'y' ELSE 'n' END AS max_num
FROM current_table dat
) dat2
WHERE max_num = 'y'
#tips
👍1
Всем привет, дорогие SQL разработчики и те, кто хочет ими стать.
Я стартовала этот канал для того, чтобы помочь начинающим айтишникам разобраться с SQL и его нюансами.
В планах у нас разбор задач, полезные видео, трюки языка и многое другое.
Хотелось бы от вас услышать, чего вам не хватает в других телеграм каналах по SQL и что я бы могла сделать уникального. Напишите, пожалуйста, в комментариях под этим постом.
Я стартовала этот канал для того, чтобы помочь начинающим айтишникам разобраться с SQL и его нюансами.
В планах у нас разбор задач, полезные видео, трюки языка и многое другое.
Хотелось бы от вас услышать, чего вам не хватает в других телеграм каналах по SQL и что я бы могла сделать уникального. Напишите, пожалуйста, в комментариях под этим постом.
Какой у вас опыт разработки/обучения на SQL?
Anonymous Poll
53%
Учусь 0-1 года
8%
Учусь 1+ года
8%
Работаю 0-1 года
12%
Работаю 1-3 года
15%
Работаю 3+ года
4%
Другой ответ
Tips & Tricks. Производительность запросов в SQL Server: ошибка #1. Использование OR внутри оператора JOIN или WHERE для нескольких столбцов
В серии статей по SQL Server разбираем типичные ошибки, приводящие к снижению производительности, и способы их исправить.
#sql
Читать статью
В серии статей по SQL Server разбираем типичные ошибки, приводящие к снижению производительности, и способы их исправить.
#sql
Читать статью
👍1
Сколько строк будет в результате выполнения PostgreSQL кода выше?
Anonymous Quiz
25%
1
20%
2
9%
3
18%
Ошибка
27%
Ничего из перечисленного