MySQL: PERIOD_ADD
PERIOD_ADD является одной из функций MySQL, которая используется для добавления количества периодов к указанной дате. Эта функция особенно полезна в тех случаях, когда вам нужно добавить несколько месяцев или лет к дате.
Синтаксис PERIOD_ADD выглядит следующим образом:
PERIOD_ADD(P,N) - где P - это период в формате YYMM или YYYYMM, а N - это количество периодов, которые нужно добавить к указанной дате.
PERIOD_ADD является одной из функций MySQL, которая используется для добавления количества периодов к указанной дате. Эта функция особенно полезна в тех случаях, когда вам нужно добавить несколько месяцев или лет к дате.
Синтаксис PERIOD_ADD выглядит следующим образом:
PERIOD_ADD(P,N) - где P - это период в формате YYMM или YYYYMM, а N - это количество периодов, которые нужно добавить к указанной дате.
👍5
Функция WEEK в MySQL
Функция WEEK используется для извлечения номера недели из даты.
Базовый синтаксис функции выглядит следующим образом:
WEEK( date_value, [ mode ] )
- date_value - значение даты или даты/времени, из которого извлекается неделя.
- mode - Необязательный. Он используется для указания дня недели. Это может быть один из следующих вариантов:
Примечание:
1. Функция WEEK возвращает значение от 0 до 53 или от 1 до 53 в зависимости от указанного режима.
2. Если вы используете MySQL 4.0.14+, а режим не указан, функция WEEK будет использовать значение в системной переменной default_week_format в качестве режима.
3. Если вы используете версию MySQL, которая старше 4.0.14, а режим не указан, функция WEEK будет использовать 0 в качестве режима.
4. Функция WEEKOFYEAR возвращает то же самое, что и функция WEEK с синтаксисом WEEK (date_value, 3).
Функция WEEK используется для извлечения номера недели из даты.
Базовый синтаксис функции выглядит следующим образом:
WEEK( date_value, [ mode ] )
- date_value - значение даты или даты/времени, из которого извлекается неделя.
- mode - Необязательный. Он используется для указания дня недели. Это может быть один из следующих вариантов:
Примечание:
1. Функция WEEK возвращает значение от 0 до 53 или от 1 до 53 в зависимости от указанного режима.
2. Если вы используете MySQL 4.0.14+, а режим не указан, функция WEEK будет использовать значение в системной переменной default_week_format в качестве режима.
3. Если вы используете версию MySQL, которая старше 4.0.14, а режим не указан, функция WEEK будет использовать 0 в качестве режима.
4. Функция WEEKOFYEAR возвращает то же самое, что и функция WEEK с синтаксисом WEEK (date_value, 3).
👍3
#Вопросы_с_собеседования
Расскажите алгоритм решения следующей задачи
Предположим, у вас есть две таблицы: Orders (Заказы) и Customers (Клиенты). Таблица Orders содержит колонки OrderID, CustomerID и OrderDate, а таблица Customers содержит CustomerID, Name и Country. Как бы вы нашли имена всех клиентов из США, которые не сделали ни одного заказа после 1 января 2022 года?
Для решения этой задачи можно использовать подзапросы или соединения таблиц. Один из подходов - использовать левое соединение (LEFT JOIN) между Customers и Orders, фильтруя заказы после указанной даты. Затем можно использовать WHERE условие, чтобы выбрать только тех клиентов, у которых нет соответствующих записей в Orders после этой даты и которые находятся в США. Это демонстрирует понимание соединений таблиц, фильтрации и работы с датами в SQL.
Расскажите алгоритм решения следующей задачи
Предположим, у вас есть две таблицы: Orders (Заказы) и Customers (Клиенты). Таблица Orders содержит колонки OrderID, CustomerID и OrderDate, а таблица Customers содержит CustomerID, Name и Country. Как бы вы нашли имена всех клиентов из США, которые не сделали ни одного заказа после 1 января 2022 года?
👍7
Пейджинг данных OFFSET…FECTCH
Пейджинг данных – это процесс разбиения большого объема данных на меньшие части или страницы. Это может быть полезно при работе с большими таблицами, когда нужно извлечь данные только для определенной страницы.
Оператор OFFSET…FETCH был добавлен в SQL Server 2012 и позволяет выбирать данные с определенной позиции. Он имеет следующий синтаксис:
SELECT {columns}
FROM {table}
ORDER BY {column}
OFFSET {offset} ROWS
FETCH NEXT {fetch} ROWS ONLY
- {columns} – список столбцов для извлечения данных
- {table} – имя таблицы
- {column} – столбец для сортировки
- {offset} – количество строк для пропуска
- {fetch} – количество строк для выборки
Пейджинг данных – это процесс разбиения большого объема данных на меньшие части или страницы. Это может быть полезно при работе с большими таблицами, когда нужно извлечь данные только для определенной страницы.
Оператор OFFSET…FETCH был добавлен в SQL Server 2012 и позволяет выбирать данные с определенной позиции. Он имеет следующий синтаксис:
SELECT {columns}
FROM {table}
ORDER BY {column}
OFFSET {offset} ROWS
FETCH NEXT {fetch} ROWS ONLY
- {columns} – список столбцов для извлечения данных
- {table} – имя таблицы
- {column} – столбец для сортировки
- {offset} – количество строк для пропуска
- {fetch} – количество строк для выборки
👍5
#вопросы_с_собеседований
Какие есть SQL-операторы для составления условий?
-WHERE - используется для фильтрации строк в таблице на основе заданного условия. Например:
- LIKE - используется для поиска строк, которые соответствуют заданному шаблону.
- BETWEEN - используется для выборки строк, значения которых находятся в заданном диапазоне.
- IN - используется для указания множества значений. Он возвращает результат, когда значение соответствует одному из заданных значений.
- IS NULL - оператор IS NULL используется для выборки строк с нулевым значением.
- AND - используется для объединения двух или более условий. Он возвращает результат только тогда, когда оба условия истинны.
- OR - используется для объединения двух или более условий. Он возвращает результат, когда хотя бы одно из условий истинно.
- NOT - используется для инвертирования значения условия. Он возвращает результат, когда условие ложно.
Какие есть SQL-операторы для составления условий?
-WHERE - используется для фильтрации строк в таблице на основе заданного условия. Например:
- LIKE - используется для поиска строк, которые соответствуют заданному шаблону.
- BETWEEN - используется для выборки строк, значения которых находятся в заданном диапазоне.
- IN - используется для указания множества значений. Он возвращает результат, когда значение соответствует одному из заданных значений.
- IS NULL - оператор IS NULL используется для выборки строк с нулевым значением.
- AND - используется для объединения двух или более условий. Он возвращает результат только тогда, когда оба условия истинны.
- OR - используется для объединения двух или более условий. Он возвращает результат, когда хотя бы одно из условий истинно.
- NOT - используется для инвертирования значения условия. Он возвращает результат, когда условие ложно.
👍9
#Вопросы_с_собеседования
Объясните разницу между командами DELETE и TRUNCATE
Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию(1 строка на картинке). При этом создаются логи удаления, то есть операцию можно отменить.
А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно(2 строка на картинке).
Объясните разницу между командами DELETE и TRUNCATE
Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию(1 строка на картинке). При этом создаются логи удаления, то есть операцию можно отменить.
А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно(2 строка на картинке).
👍8
Парсинг HTML с помощью PHP и SQL. Немного провокационный пример с анализом пользователей Хабра
Смотреть статью
Смотреть статью
👍3
✔️ Особенности сравнения record и NULL
Testing a ROW expression with IS NULL only reports TRUE if every single column is NULL. Нужно об этом знать, чтобы на напороться на ошибки в своём коде.
Testing a ROW expression with IS NULL only reports TRUE if every single column is NULL. Нужно об этом знать, чтобы на напороться на ошибки в своём коде.
SELECT
(NULL, NULL) IS NULL as "(NULL, NULL) IS NULL", --true
(NULL, NULL) IS NOT NULL as "(NULL, NULL) IS NOT NULL", --false
NOT (NULL, NULL) IS NULL as "NOT (NULL, NULL) IS NULL", --false
(1, NULL) IS NULL as "(1, NULL) IS NULL", --false
(1, NULL) IS NOT NULL as "(1, NULL) IS NOT NULL", --false --!!!
NOT (1, NULL) IS NULL as "NOT (1, NULL) IS NULL" --true --!!!👍3😁1
—
npm install knex --save—
npm install pg --saveKnex.js спроектирован как гибкий и портативный инструмент.
В нем есть как традиционные колбеки, так и интерфейс промисов для более чистого управления потоком
async, потоковый интерфейс, полнофункциональные конструкторы запросов и схем, поддержка транзакций (с точками сохранения), пул соединений и стандартизированные ответы между различными клиентами.Knex можно использовать в качестве конструктора SQL-запросов как в Node.JS, так и в браузере, ограничиваясь возможностями WebSQL (например, невозможностью дропать таблицы или читать схемы). Составлять SQL-запросы в браузере для выполнения на сервере крайне не рекомендуется, так как это может стать причиной серьезных уязвимостей в безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
SpeedML - это библиотека Python, целью которой является ускорение процесса разработки конвейера машинного обучения.
Она объединяет часто используемые пакеты ML, такие как
• Github
Она объединяет часто используемые пакеты ML, такие как
Pandas, NumPy, Scikit-learn, XGBoost и Matplotlib. SpeedML также предоставляет функциональные возможности для автоматизированного EDA.pip install speedml
• Github
👍2
#Вопросы_с_собеседования
❓Что делает оператор MERGE?
Ответ:
MERGE позволяет осуществить слияние данных одной таблицы с данными другой таблицы. При слиянии таблиц проверяется условие, и если оно истинно, то выполняется UPDATE, а если нет - INSERT. При этом изменять поля таблицы в секции UPDATE, по которым идет связывание двух таблиц, нельзя.
❓Что делает оператор MERGE?
Ответ:
👍7
Напишите запрос для выборки данных из таблицы «Customers», где условием является проживание заказчика в городе Москва?
Anonymous Quiz
91%
SELECT * FROM Customers WHERE City=”Moscow”
3%
SELECT City=”Moscow” FROM Customers
5%
SELECT Customers WHERE City=”Moscow”
😁10👍8
Производительные или и выгодные базы данных в облаке
Безопасные, масштабируемые и отказоустойчивые базы данных — одна из ключевых потребностей любого проекта. Именно такие предлагает Selectel. СУБД под разные запросы: от универсальной PostgreSQL до поисковой и аналитической БД Opensearch
Новые клиенты сейчас могут получить до 30 000 бонусов на использование облачных баз данных Selectel. Провайдер гарантирует:
🔹Высокую производительность. Выбирайте оптимальную конфигурацию кластера на базе мощного железа и локальных NVMe-дисков.
🔹Надежность. Автоматические бесплатные бэкапы с восстановлением вплоть до секунды — на стороне Selectel. А создать отказоустойчивый кластер можно всего от двух нод и сэкономить до 33%.
🔹Гибкое масштабирование. При росте нагрузки можно поменять конфигурацию облачного сервера и количество реплик без простоя.
Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/tqdcp
Реклама. АО "Селектел". erid:2W5zFH64PvY
Безопасные, масштабируемые и отказоустойчивые базы данных — одна из ключевых потребностей любого проекта. Именно такие предлагает Selectel. СУБД под разные запросы: от универсальной PostgreSQL до поисковой и аналитической БД Opensearch
Новые клиенты сейчас могут получить до 30 000 бонусов на использование облачных баз данных Selectel. Провайдер гарантирует:
🔹Высокую производительность. Выбирайте оптимальную конфигурацию кластера на базе мощного железа и локальных NVMe-дисков.
🔹Надежность. Автоматические бесплатные бэкапы с восстановлением вплоть до секунды — на стороне Selectel. А создать отказоустойчивый кластер можно всего от двух нод и сэкономить до 33%.
🔹Гибкое масштабирование. При росте нагрузки можно поменять конфигурацию облачного сервера и количество реплик без простоя.
Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/tqdcp
Реклама. АО "Селектел". erid:2W5zFH64PvY