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
Трюк дня. Как отфильтровать неправильные номера в таблице номеров

insert into phones 
with t as (select
ph.id,
unnest(ph.phones) as phone
FROM
phones ph )
select
id,
array_agg(phone) as phones
from
t
where phone like '%2%' // << место с фильтрацией "неверных" номеров
group by
id
on conflict(id) do update set phones = excluded.phones

#tips
#вопрос43

Чем NULL отличается от 0

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

#вопросы #собеседование
👍5🤡2
Ответ на #вопрос43

0 - это число.

NULL - это не число, а также NULL не является значением пустой строки. NULL используется для указания того, что данные отсутствуют, неизвестны, неприменимы. NULL не равен ничему, даже другому NULL.

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

Переложите только 2 спички так, чтобы получить такой же домик, но в зеркальном отражении:

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

#логика
💩19🤡12👍5👎2😁1🐳1
Решение сегодняшней задачи на логику и мышление.

#логика
💩9🔥6🌭5🤡3👎2😁2
Трюк дня. Как проверить существует ли уже база данных mysql?

Есть инсталяционный скрипт, нужно проверять существует ли уже база данных с заданным именем и вообще возможно ли создание бд (на некоторых хостингах стоит ограничение). Собственно в этом и вопрос, как это реализовать используя mysql.

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

#tips
👍3
Трюк дня. Как проверить существует ли уже база данных mysql?

Создавать базу данных только в случае если она еще не существует:

CREATE DATABASE IF NOT EXISTS DBName;

#tips
🤔10👍4🤡4👎2👌2👏1
#вопрос44

С помощью какого запроса можно удалить все записи из таблицы?

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

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

Каким образом нарисовать треугольник, чтобы все его углы были 90 градусов?

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

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

На мяче или любом другом сферическом предмете. Называется такой прямоугольник - сферический.

#логика
💩6😁2🌚2🤡1🌭1
#вопрос45

Что такое оконная функция? И в чем отличие от функции агрегации с группировкой?

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

#вопросы #собеседование
👍4
Ответ на #вопрос45

Оконная функция в SQL - функция, которая работает с выделенным набором строк (окном, партицией) и выполняет вычисление для этого набора строк в отдельном столбце.

При использовании агрегирующих функций предложение GROUP BY сокращает количество строк в запросе с помощью их группировки. При использовании оконных функций количество строк в запросе не уменьшается по сравнению с исходной таблицей.

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

Повару древнего Египта необходимо варить яйцо в кипящей воде строго две минуты, но у него в наличии песочные часы только на три, четыре и пять минут. Как ему приготовить блюдо Фараону, не отклоняясь от времени, которое указано в рецепте?

Примечание: использовать часы можно на свое усмотрение: сразу все, только одни, по очереди или по несколько раз.

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

#логика
🤪3👍2🆒2😈1
Решение сегодняшней задачи на логику и мышление.

Когда вода закипит, повару нужно поставить двое часов: на три минуты и на пять. Когда песок в трехминутных часах закончится, сразу опускать яйцо, таким образом, оно будет вариться требуемое время.

#логика
👍9
Трюк дня. Query Builder как посчитать сколько раз записана одна и та же запись

У
нас есть кое-какие записи в БД:
{ "id": 2, "reason": "test","reportedUser": {id:123}}
{ "id": 3, "reason": "test","reportedUser": {id:123}}

Юзера можно зарепортить несколько раз и разные юзеры могут репортить одного юзера. Нужно получить запись в которой будет показано сколько раз был зарепорчен каждый юзер. Примерный вывод:
{ "id": 2, "reason": "test","reportedUser": {id:123} reportedCount:2}

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

#tips
👍3
Трюк дня. Query Builder как посчитать сколько раз записана одна и та же запись

select id, reason, reportedUser, count(*) reportedCount
from table
group by id, reason, reportedUser
order by 4 desc

#tips
🤡6👎2💩2🤪2👍1