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
Задача на мышление и логику.

Наполеон Бонапарт, Петр Первый, Юрий Гагарин, Шерлок Холмс, Вильям Шекспир, Нострадамус, Пифагор. Кто лишний в этом списке?

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

#логика
💩11🤡2🏆21
Решение сегодняшней задачи на логику и мышление.

Шерлок Холмс, поскольку это вымышленный персонаж, а остальные — реальные люди.

#логика
👏8👎1
👍2💩2😢1🏆1
#вопрос47

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

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

#вопросы #собеседование
🤡7🏆2
Ответ на #вопрос47

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

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

У строителя есть 8 кирпичей, 7 из которых имеют одинаковый вес, а один — тяжелее. Как строителю выявить бракованный кирпич с помощью весов всего за два взвешивания?

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

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

Все нужно делать поэтапно:

1. Разделить 8 кирпичей на три стопки по 3, 3 и 2 штуки.
2. Взвесить 2 стопки, в которых по 3 кирпича.
3. Если они уравновесились, значит взвесить стопку из двух кирпичей и найти бракованный.
4. Если не уравновесились, то взять 3 кирпича из стопки, которая перевесила и разделить на 3 штуки.
5. Положить по одному на весы. Если один перевесил — он бракованный, если уравновесились, значит, тяжелее всех тот, что остался в стороне.

#логика
👍11
Трюк дня. SQL - Удаление результата из полученного селекта в Postgresql

Есть таблица где есть поле типа character varying[]. В этом поле сохраняется номера телефонов в таком виде

[+012345678901","+123456789012","2347587E+11"]

Как найти в этой таблице "неправильные" номера телефонов такого вида - 2347587E+11 и удалить? И чтоб после удаления в массиве было типа так:

Массив до удаления [+012345678901","+123456789012","2347587E+11"]
Массив после удаления [+012345678901","+123456789012"]

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

#tips
💩4🤬1
Трюк дня. SQL - Удаление результата из полученного селекта в Postgresql

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
#вопрос48

Какие из операторов SQL могут быть использованы для выполнения CRUD (Create, Read, Update, Delete) операций над данными?

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

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

INSERT, DELETE, SELECT, UPDATE

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

Парень спросил у девушки: «Сколько тебе лет?», на что она загадочно улыбнулась и ответила: «Позавчера мне было 22, а в следующем году будет 25».

Попробуйте догадаться, когда у девушки День рождения и какого числа происходил разговор между парой?

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

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

Парень и девушка разговаривали 1 января, а День рождения был 31 декабря. Получается:

«позавчера» было 30 декабря и девушке было 22 года;

31-го числа ей исполнилось 23;

в День рождения, который будет в тот год, когда велся разговор, исполнится 24;

а на следующий год девушка отметит 25-летие.

#логика
👍13👏1
Трюк дня. SQL - Как подставить переменную в Select [psycopg2]

result = self.cursor.execute('SELECT * FROM `user` WHERE `user_id` = ?', (user_id,)).fetchmany(1)
return bool(len(result))

Нужно написать схожий запрос в psycopg2.

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

#tips
👍2
Трюк дня. SQL - Как подставить переменную в Select [psycopg2]

cursor.execute('SELECT * from user where user_id = %(some_id)d', {'some_id': 1234})
records = cursor.fetchall()

#tips
#вопрос49

Какие операторы обязательны при выборке данных с соединением таблиц (не учитывая cartesian product)?

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

#вопросы #собеседование
💩21👎1🤡1🌭1
Задача на мышление и логику.

Если одиннадцать плюс два равняются одному, чему равны девять плюс пять?

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

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

Речь идет о времени: 11 часов плюс 2 часа = 1 час, а 9 часов плюс 5 часов = 2 часа.

#логика
💩7👍4💊3🦄2
Трюк дня. Посчитать кол-во записей в таблице для каждого уникального значения столбца

Пусть есть таблица с транзакциями (клиент_отправитель, клиент_получатель, сумма, дата ,etc. ) таблица приведена для примера и не имеет отношения к реальной задаче.

Проблема - сделать вывод таблицы, где для каждого уникального клиент_отправитель будет стоять кол-во транзакций за определённую дату(период).

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

#tips