SQL Pro
5.08K subscribers
142 photos
2 videos
10 files
127 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Download Telegram
📌 Хотите освоить PostgreSQL не только с точки зрения теории, но и научиться применять этот инструмент в работе?

В OTUS начался набор на онлайн-курс «PostgreSQL для администраторов баз данных и разработчиков».

⚠️ Фишка программы в том, что вы получите знания с точки зрения практики, а не теории.

РЕЗУЛЬТАТ ПРОХОЖДЕНИЯ КУРСА
Сильное портфолио, которое позволит работать в качестве PostgreSQL DBA — устанавливать, настраивать, поддерживать и развивать БД под управлением PostgreSQL

🔥 ОСТАВИТЬ ЗАЯВКУ, получите велкам-скидку
https://otus.pw/G3A8/

Нативная интеграция. Информация о продукте www.otus.ru
Трюк дня. Как выбрать строки из таблицы #1, id которых отсутствуют в таблице #2 с условием?

SELECT "user"."vkId"
FROM "user" as "user"
LEFT JOIN "notification"
ON "notification"."userId"="user"."vkId"
AND "notification"."type" = 991
WHERE "notification"."userId" IS NULL
GROUP BY "user"."vkId"
LIMIT 100

Так же можно использовать NOT EXISTS (в некоторых случаях он может быть быстрее, хотя в других - медленнее чем LEFT JOIN):

SELECT "user"."vkId"
FROM "user" as "user"
WHERE NOT EXISTS(
SELECT 1 FROM "notification"
WHERE "notification"."userId"="user"."vkId"
AND "notification"."type" = 991
)
GROUP BY "user"."vkId"
LIMIT 100

#tips
Какого строкового типа данных нет в SQL:
Anonymous Quiz
5%
VARCHAR
57%
STRING
10%
CHAR
26%
TEXT
3%
Посмотреть ответ
Хотите освоить SQL и научиться решать реальные продуктовые задачи?

karpov.courses сделали бесплатный Симулятор, где SQL изучают с нуля до продвинутого уровня на практике. Сейчас на курсе более 120 задач: от базовых до оконных функций.

Это не просто курс, где вы изучите синтаксис языка и основные виды запросов. Здесь вы попробуете себя в роли настоящего аналитика сервиса доставки, поработаете в реальном рабочем окружении и научитесь решать нетривиальные задачи.

Вы разберётесь как:
• переводить запросы с языка бизнеса на язык аналитики
• формулировать и проверять гипотезы
• рассчитывать продуктовые метрики
• визуализировать результаты анализа
• строить интерактивные дашборды

Обучение проходит на платформе школы
[Начать учиться SQL]
👍6
#вопрос61

Что делают функции NVL и NVL2? Чем они отличаются?

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

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

Как NVL(exp1, exp2), так и NVL2(exp1, exp2, exp3) исследуют значение exp1 на предмет NULL. Функция NVL заменяет значение на exp2, если exp1 равно NULL. Функция NVL2 проверяет значение exp1. Если оно не NULL, то возвращается exp2, иначе – exp3.

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

У девочки столько же братьев, сколько и сестер, только у каждого брата вдвое меньше братьев, чем сестер. Сколько братьев и сестер насчитывает эта семья?

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

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

Четыре сестры и три брата.

#логика
#вопрос62

Важен ли в составном индексе порядок столбцов?

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

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

Важен. Когда строится составной индекс, сначала индексируется первый столбец, а потом строятся индексы других столбцов, на основании главного (первого).

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

Сколько раз на протяжении суток минутная и часовая стрелки часов образуют прямой угол?

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

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

За 1 час часовая стрелка описывает угол 30°, а за 1 мин. − угол 0,5°. Минутная стрелка за 1 мин. описывает угол 6°. Так как 90 : (6 − 0,5) = 16 (4 / 11), минутная и часовая стрелки образуют прямой угол в первый раз через 16 (4 / 11) мин. после того, как обе будут стоять на 12. Так как n × 16 (4/11) = 24 × 60, мы получаем n = 88 (в это число входят углы в 0°, 90°, 180° і 270°, образованные минутной и часовой стрелками).

#логика
🤯10🤡1
Трюк дня. Как сделать запрос на соединение двух таблиц в MySQL?

Есть первая таблица, в которой есть столбцы спортсмен и серийный_номер_велосипеда.
Вторая таблица: серийный_номер_велосипеда, цвет, год_выпуска.

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

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

#tips
Из SQL в NoSQL: меняем парадигму запросов

Мы привыкли, что базы данных SQL строят оптимальный план запроса за нас, но во многих базах данных NoSQL оптимизация запроса ложится на разработчика. В этой статье найдете информацию по выборке данных с ограничениями, пагинации, Nested Loop Join, кластерным запросам, тестированию запросов и тяжелые запросы на примере Tarantool.

#статья
Трюк дня. Как сделать запрос на соединение двух таблиц в MySQL?

1. Если список серийных номеров велосипеда в обеих таблиц совпадает (нет таких элементов, которые есть в одной таблице, но нет во второй), то можете использовать внутреннее соединение join (inner join):

SELECT s.sportsman, s.serial, b.color, b.year
FROM sportsmen s JOIN bike b ON s.serial = b.serial

Либо:

SELECT s.sportsman, s.serial, b.color, b.year
FROM sportsmen s, bike b
WHERE s.serial = b.serial

2. Eсли список серийных номеров велосипедов не совпадает, то при соединении таблиц с помощью внутреннего соединения inner join (join) можно потерять нужные строки, поэтому для сохранения всех строк в левой таблице надо использовать left join:

SELECT s.sportsman, s.serial, b.color, b.year
FROM sportsmen s LEFT JOIN bike b ON s.serial = b.serial

#tips
#вопрос63

В чем разница между однорядными и многорядными функциями? Для чего используется GROUP BY?

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

#вопросы #собеседование
🔥 Observability — важный аспект в мире разработки и эксплуатации систем. Начните осваивать инструменты наблюдаемости с Grafana.

📢📢 Приходите 20 июня 20:00 мск на открытый урок «Grafana — основной инструмент визуализациии данных».

Вебинар приурочен к старту онлайн-курса «Observability: мониторинг, логирование, трейсинг» в OTUS.

Вместе с Евгением Непомнящим, разработчиком в IT-Sense, мы:
▫️ Рассмотрим построение графиков из различных источников данных при помощи Grafana.
▫️ Поговорим про историю проекта, использование различных источников, формирование и версионирование собственных дашбордов.
▫️ Затронем добавление Data Source, работу с данными через Explore, импорт готовых дашбордов, обзор элементов существующего дашборда и создание дашборда.

После вебинара вы сможете приобрести полный курс в рассрочку.

👉 Чтобы записаться на занятие, пройдите вступительное тестирование. https://otus.pw/QGBC/

Нативная интеграция. Информация о продукте www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Ответ на #вопрос63

Однорядные функции одновременно работают только с одной строкой, а многорядные функции – с данными из нескольких строк.

Команда GROUP BY объединяет все записи, имеющие одинаковые значения в определенном поле или любой группе полей.

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