SQL Pro
Відкрити в Telegram
SQL Pro - всё об SQL Реклама: @anothertechrock Контент канала: 1. Разбор вопросов с собеседований 2. Трюки SQL 3. Видео 4. Тесты 5. Задачи на логику 6. Юмор
Показати більше4 923
Підписники
-124 години
-37 днів
-3430 день
Архів дописів
4 922
Задача на логику.
Представьте себе замкнутую по окружности железную дорогу. По ней едет поезд, последний вагон которого скреплён с первым так, что внутри можно свободно перемещаться между вагонами. Вы оказались в одном случайном вагоне и ваша задача — подсчитать их общее количество. В каждом вагоне можно включать или выключать свет, но начальное положение переключателей случайное и заранее неизвестно.
Все вагоны внутри выглядят строго одинаково, окна закрыты так, что невозможно посмотреть наружу, движение поезда равномерное. Помечать вагоны как-либо, кроме включения или выключения света, нельзя. Количество вагонов конечно.
Решение будет вечером.
#логика
4 922
Tips & Tricks. 9 best practices написания SQL запросов
В этой статье мы рассмотрим best practices при написании SQL, позволяющие улучшить читабельность и производительность запросов.
#sql
Читать статью
4 922
Ответ на #вопрос9
NOW() возвращает время, когда начал исполняться оператор.
Основное различие между NOW() и CURRENT_DATE() заключается в том, что NOW() получает текущую дату и время в формате 'YYYY-MM-DD HH:MM:SS', а CURRENT_DATE() получает дату текущего дня 'YYYY-MM-DD'.
#вопросы #собеседование4 922
#вопрос9
В чем разница между функциями
NOW() и CURRENT_DATE() в PostgreSQL/MySQL?
#вопросы #собеседование4 922
Какой будет результат выполнения следующего PostgreSQL кода:
SELECT SPLIT_PART ('How~@~are~@~you?', '~@~', 2);
4 922
Какой результат возвратит код для таблицы с картинки выше:
SELECT COUNT (city) FROM table;
4 922
Трюк дня. Найти второе место по зарплате. Решение.
Решение 1: использование
IFNULL и OFFSET
• IFNULL(expression, alt): эта функция возвращает аргумент expression в случае, если он не равен null. В противном случае возвращается аргумент alt. Мы используем эту функцию чтобы возвратить null, если в таблице не окажется искомого значения.
• OFFSET: этот оператор используется с ORDER BY для того чтобы отбросить первые n строк. Используется для получения второго по величине значения.
SELECT
IFNULL(
(SELECT DISTINCT salary
FROM employee
ORDER BY salary DESC
LIMIT 1
OFFSET 1
), null) AS sec_salary
FROM employee
LIMIT 1
Решение 2: использование MAX
Здесь выбирается самое большое значение зарплаты, не равное максимальной зарплате, полученной по всей таблице. В результате мы и получаем то, что нужно — вторую по величине зарплату.
SELECT
MAX(salary) AS sec_salary
FROM Employee
WHERE salary != (SELECT MAX(salary) FROM employee)
#tips4 922
Трюк дня. Найти второе место по зарплате
Напишите SQL-запрос для получения из таблицы (
employee) с зарплатами записи, содержащие вторую по размеру заработную плату.
Например, для таблицы на картинке выше такой запрос должен вернуть 200. Если в таблице нет значения, меньшего, чем самая высокая зарплата — запрос должен вернуть null.
Решение будет вечером.
#tips4 922
Tips & Tricks. Функции vs Хранимые процедуры в SQL Server
В этой статье мы рассмотрим разницу между функциями и хранимыми процедурами в SQL Server на простых примерах.
#sql
Читать статью
4 922
Ответ на #вопрос8
Типы данных CHAR и VARCHAR очень схожи между собой, но различаются по способам их хранения и извлечения.
В столбце типа CHAR длина поля постоянна и задается при создании таблицы. Эта длина может принимать любое значение между 1 и 255.
Величины типа CHAR при хранении дополняются справа пробелами до заданной длины. Эти концевые пробелы удаляются при извлечении хранимых величин.
Величины в столбцах VARCHAR представляют собой строки переменной длины. Так же как и для столбцов CHAR, можно задать столбец VARCHAR любой длины между 1 и 255.
Однако, в противоположность CHAR, при хранении величин типа VARCHAR используется только то количество символов, которое необходимо, плюс один байт для записи длины. Хранимые величины пробелами не дополняются, наоборот, концевые пробелы при хранении удаляются.
Различия можно увидеть на картинке выше.
#вопросы #собеседование
4 922
Ответ на #вопрос8
CHAR:
• длина поля постоянна и задается при создании таблицы
• длина <=255
• значения при хранении дополняются справа пробелами до заданной длины
• эти концевые пробелы удаляются при извлечении хранимых величин.
VARCHAR:
• значения VARCHAR - это строки переменной длины
• длина <=255.
• при хранении используется только то количество символов, которое необходимо, плюс один байт для записи длины.
• хранимые величины пробелами не дополняются, наоборот, концевые пробелы при хранении удаляются.
На картинке выше приведен пример, сколько памяти требуется для CHAR и VARCHAR, и описано, как хранятся значения таких полей.
#вопросы #собеседование
4 922
#вопрос8
В чем разница между типами данных VARCHAR и CHAR в SQL?
#вопросы #собеседование
4 922
Без SQL нет аналитики, так как данные сперва нужно достать из базы, почистить и сгруппировать. Если вы собираетесь стать аналитиком, задачи из этого канала — уже хорошее начало!
Но можно пойти и другим путём — сразу начать использовать весь потенциал SQL для решения аналитических задач. Этому на курсе «Аналитик данных» научит Беслан Курашов, сооснователь школы KARPOVꓸCOURSES.
Помимо SQL за 5 месяцев вы освоите все hard skills, необходимые на позиции junior аналитика. Обучение проходит в формате буткемпа, когда максимум навыков даётся за минимальный срок — интенсивный формат обучения не даст новым знаниям устареть, и вы заранее приспособитесь к рабочему темпу.
По окончании обучения наш HR обязательно поможет с трудоустройством — в течение трёх месяцев работу находят 90% наших выпускников.
Переходите по ссылке и записывайтесь на курс до 20 февраля — по промокоду SQLPRO вы получите скидку 10% на полную оплату курса.
4 922
Какой результат возвратит следующая функция в PostgreSQL:
TO_DATE ('2017:JUNE:11','YYYY:Month:DD')?
4 922
Какой ранг будет у записи с id = 3 с картинки выше, если использовать следующую функцию:
RANK() OVER (ORDER BY firstname) ?
