sqlprofi | Unsorted

Telegram-канал sqlprofi - SQL Pro

5451

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

Subscribe to a channel

SQL Pro

Ответ на #вопрос45

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

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

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

Читать полностью…

SQL Pro

Трюк дня. Как в sql добавить к datetime 7 дней

Если надо изменить значение поля end_time прибавив к нему 7 дней, то запрос должен выглядеть так:

update purchases set end_time = DATE_ADD(end_time, INTERVAL 7 DAY);

Если обновлять надо не все записи, то нужно добавить условие WHERE

#tips

Читать полностью…

SQL Pro

❗️Как тестировать T-SQL с помощью tSqlt?

Узнайте 20 января в 20:00 на открытом уроке онлайн-курса «MS SQL Server разработчик» в OTUS — https://otus.pw/ubFqe/

🧑‍💻 Модульное тестирование кода бэкенда прочно вошло в нашу жизнь, но код базы данных по-прежнему мало кто тестирует.

На занятии поговорим о модульном тестировании кода SQL Server и использовании для этого tSqlt.

⚠️ Не упустите возможность познакомиться с экспертом и протестировать формат обучения.

👉 Для РЕГИСТРАЦИИ пройдите вступительный тест
https://otus.pw/ubFqe/

Читать полностью…

SQL Pro

Задача на мышление и логику.

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

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

#логика

Читать полностью…

SQL Pro

#вопрос44

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

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

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

Читать полностью…

SQL Pro

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

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

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

#tips

Читать полностью…

SQL Pro

Задача на мышление и логику.

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

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

#логика

Читать полностью…

SQL Pro

#вопрос43

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

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

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

Читать полностью…

SQL Pro

Трюк дня. Как отфильтровать неправильные номера в таблице номеров

Есть таблица Postgresql где есть поле типа character varying[]. В этом поле сохраняется номера телефонов в таком виде [+012345678901","+123456789012","2347587E+11"]. Как найти в этой таблице "неправильные" номера телефонов такого вида - 2347587E+11 и удалить? И чтобы после удаления массив выглядел так:

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

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

#tips

Читать полностью…

SQL Pro

Задача на мышление и логику.

Определите, какое число должно стоять на месте знака вопроса.

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

#логика

Читать полностью…

SQL Pro

Трюк дня. SQL - Вернуть другую строку, если не найдена первая

Выберите обе, и отсортируйте в правильном порядке, взяв только первую строку, подразумевая, что ID у вас не просто 1,2, т.к в этом случае можно просто order by id сделать:

SELECT * 
FROM test
WHERE id IN ('A','B')
ORDER BY CASE WHEN id = 'A' THEN 1 ELSE 2 END
LIMIT 1

#tips

Читать полностью…

SQL Pro

Ответ на #вопрос42

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

select sum(case when x>0 then x else 0 end)
sum_pos,sum(case when x<0 then x else 0 end)
sum_neg from a;

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

Читать полностью…

SQL Pro

❔❔❔⚠️Пройди тест по Базам данных 🙌

✔️ Ответь на 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Data Warehouse Analyst" по специальной цене.

👨‍🎓Что будет на курсе? Научитесь собирать end-to-end аналитические решения. За 5 месяцев живых вебинаров и практики вы изучите самые актуальные и востребованные инструменты построения хранилищ данных.

⏰ Время прохождения теста ограничено 25 минут

✍️ПРОЙТИ ТЕСТ: https://otus.pw/CI9b/

🤑 Праздничные цены для отличной карьеры в IT

Не упуcтите возможность протестировать обучение в OTUS!

Читать полностью…

SQL Pro

Задача на мышление и логику.

Определите, какое число должно стоять на месте знака вопроса.

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

#логика

Читать полностью…

SQL Pro

Какую математику нужно знать, чтобы попасть в IT?

Многие люди, которые хотели попасть в IT, отказывались от этой идеи, когда вспоминали свои школьные оценки по математике.

У нас есть хорошая новость: математика – это интересно, не так уж сложно и доступно всем. В Яндекс Практикуме есть бесплатный тренажер по математике для тех, кто хочет освежить знания, и полноценный математический курс для аналитиков данных.

На вебинаре «Какая математика нужна аналитику и специалисту по Data Science» спикер Ольга Матушевич, наставник курса «Анализ данных» расскажет:

— какую именно математику нужно знать, чтобы зайти в IT;
— как нормально хорошо зарабатывать;
— как решать интересные и сложные задачи;
— как стать супер-экспертом;
— примеры реальных рабочих задач на каждом из этих уровней;
— список тем/учебников/материалов под каждый уровень.

Приходите 13 декабря в 15:00

Читать полностью…

SQL Pro

#вопрос45

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

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

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

Читать полностью…

SQL Pro

Трюк дня. Как в sql добавить к datetime 7 дней

Нужно выбрать все столбики в end_time и добавить к ним 7 дней. Примерный код:

select * from purchases where end_time > Cast('2022-*-*' as datetime)+7

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

#tips

Читать полностью…

SQL Pro

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

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

#логика

Читать полностью…

SQL Pro

Ответ на #вопрос44

DELETE FROM

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

Читать полностью…

SQL Pro

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

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

CREATE DATABASE IF NOT EXISTS DBName;

#tips

Читать полностью…

SQL Pro

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

#логика

Читать полностью…

SQL Pro

Ответ на #вопрос43

0 - это число.

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

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

Читать полностью…

SQL Pro

Трюк дня. Как отфильтровать неправильные номера в таблице номеров

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

Читать полностью…

SQL Pro

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

Вместо знака вопроса должно стоять число 66. Если двигаться по часовой стрелке начиная с 4, каждое последующее число равно удвоенному предыдущему, из которого вычли двойку.

4 × 2 − 2 = 8 − 2 = 6.
6 × 2 − 2 = 12 − 2 = 10.
10 × 2 − 2 = 20 − 2 = 18.
18 × 2 − 2 = 36 − 2 = 34.
34 × 2 − 2 = 68 − 2 = 66.

#логика

Читать полностью…

SQL Pro

Что нового в SQL Server 2022?

🔥 Присоединяйтесь 27 декабря в 20:00 к открытому уроку «Что нового в SQL Server 2022? » — https://otus.pw/NrPiB/

В SQL Server 2022 появилось довольно много новшеств. На занятии поговорим как новые фичи упростят жизнь разработчикам и DBA.

👩‍💻 Преподаватель Кристина Кучерова — Тимлид\архитектор БД в US-based startup Кремниевой долины. Ex-Архитектор модели данных в Сбербанке России.

⚠️ Занятие является частью онлайн-курса «MS SQL Server Developer», созданного для разработчиков, которые хотят понять, как устроены БД, научиться писать сложные запросы или заниматься проектированием на SQL профессионально.

👉 Пройдите вступительный тест, чтобы записаться на урок — https://otus.pw/NrPiB/

Читать полностью…

SQL Pro

Трюк дня. SQL - Вернуть другую строку, если не найдена первая

Как вернуть строку, если не найдена первая.

Например:
SELECT * FROM TEST WHERE ID = '1' ИНАЧЕ SELECT * FROM TEST WHERE ID = '2'.

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

#tips

Читать полностью…

SQL Pro

#вопрос42

Учитывая данные из таблицы A:

 x
------
2
-2
4
-4
-3
0
2

Напишите один запрос для вычисления суммы всех положительных и отрицательных значений x.

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

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

Читать полностью…

SQL Pro

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

Вместо знака вопроса должно стоять число 179. Если двигаться по часовой стрелке начиная с 3, то каждое последующее число равно удвоенному предыдущему, к которому прибавили 1, 3, 5, 7, 9.

3 × 2 + 1 = 7.
7 × 2 + 3 = 17.
17 × 2 + 5 = 39.
39 × 2 + 7 = 85.
85 × 2 + 9 = 179.

#логика

Читать полностью…

SQL Pro

Трюк дня. Сохранение порядка сущностей в списке

Используйте коллекцию TreeSet с помощью своего компаратора по приоритету или добавляйте в ту коллекцию, в которой Вы храните сейчас, с помощью компаратора по приоритету. Таким образом Вы добьетесь порядка в коллекции.

Если Вы используете ORM-системы, то они автоматически восстановят из базы данных коллекцию с правильным порядком.

#tips

Читать полностью…

SQL Pro

Трюк дня. Сохранение порядка сущностей в списке

Есть список сущностей "todo", нужно помимо того, что бы сохранить его в базе по id как то сохранить порядок, то есть если пользователь захотел задачу с id 20 выполнить вперед всех остальных, то она должна оказаться на самом верху, в не зависимости от того, какие у всех остальных задач id.

Как это сделать учитывая, что порядок одних и тех же задач в разных местах может быть разный, например в папке inbox один, а в папке today - уже другой порядок, хотя задачи одни и те же.

Как решить поставленную задачу?

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

#tips

Читать полностью…
Subscribe to a channel