sql_tg | Unsorted

Telegram-канал sql_tg - SQL и БД Learning

10287

№ 5060218708 Изучаем SQL с нуля По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning

Subscribe to a channel

SQL и БД Learning

6 SQL-запросов, о которых должен знать каждый дата-инженер

Смотреть статью

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

SQL и БД Learning

Руководство по наиболее востребованным базовым командам SQL

Смотреть статью

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

SQL и БД Learning

📢SQL Translator - это инструмент для преобразования запросов на естественном языке в SQL-запросы с помощью искусственного интеллекта. Этот проект является 100% бесплатным и с открытым исходным кодом.

git clone https://github.com/whoiskatrin/sql-translator.git

Github
Проект

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

SQL и БД Learning

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

При выборке из таблицы workers выведите дату в формате '31.12.2025'

Ответ на картинке.

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

SQL и БД Learning

Как избежать распространенных ошибок при работе с СУБД

Смотреть статью

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

SQL и БД Learning

Производительные или и выгодные базы данных в облаке

Безопасные, масштабируемые и отказоустойчивые базы данных — одна из ключевых потребностей любого проекта. Именно такие предлагает Selectel. СУБД под разные запросы: от универсальной PostgreSQL до поисковой и аналитической БД Opensearch

Новые клиенты сейчас могут получить до 30 000 бонусов на использование облачных баз данных Selectel. Провайдер гарантирует:

🔹Высокую производительность. Выбирайте оптимальную конфигурацию кластера на базе мощного железа и локальных NVMe-дисков.
🔹Надежность. Автоматические бесплатные бэкапы с восстановлением вплоть до секунды — на стороне Selectel. А создать отказоустойчивый кластер можно всего от двух нод и сэкономить до 33%.
🔹Гибкое масштабирование. При росте нагрузки можно поменять конфигурацию облачного сервера и количество реплик без простоя.

Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/tqdcp

Реклама. АО "Селектел". erid:2W5zFH64PvY

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

SQL и БД Learning

NOT NULL в CREATE TABLE

Следующий SQL гарантирует, что столбцы "ID", "LastName", и "FirstName" не будут принимать нулевые значения при создании таблицы "Persons".

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

SQL и БД Learning

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

Что делает оператор MERGE?

Ответ:
MERGE позволяет осуществить слияние данных одной таблицы с данными другой таблицы. При слиянии таблиц проверяется условие, и если оно истинно, то выполняется UPDATE, а если нет - INSERT. При этом изменять поля таблицы в секции UPDATE, по которым идет связывание двух таблиц, нельзя.

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

SQL и БД Learning

Самый старый код в MSSQL

Читать статью

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

SQL и БД Learning

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

Смотреть статью

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

SQL и БД Learning

Парсинг HTML с помощью PHP и SQL. Немного провокационный пример с анализом пользователей Хабра

Смотреть статью

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

SQL и БД Learning

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

Какие есть SQL-операторы для составления условий?

-WHERE
- используется для фильтрации строк в таблице на основе заданного условия. Например:
- LIKE - используется для поиска строк, которые соответствуют заданному шаблону.
- BETWEEN - используется для выборки строк, значения которых находятся в заданном диапазоне.
- IN - используется для указания множества значений. Он возвращает результат, когда значение соответствует одному из заданных значений.

- IS NULL - оператор IS NULL используется для выборки строк с нулевым значением.
- AND - используется для объединения двух или более условий. Он возвращает результат только тогда, когда оба условия истинны.
- OR - используется для объединения двух или более условий. Он возвращает результат, когда хотя бы одно из условий истинно.
- NOT - используется для инвертирования значения условия. Он возвращает результат, когда условие ложно.

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

SQL и БД Learning

Пейджинг данных 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} – количество строк для выборки

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

SQL и БД Learning

#Вопросы_с_собеседования
Расскажите алгоритм решения следующей задачи

Предположим, у вас есть две таблицы: Orders (Заказы) и Customers (Клиенты). Таблица Orders содержит колонки OrderID, CustomerID и OrderDate, а таблица Customers содержит CustomerID, Name и Country. Как бы вы нашли имена всех клиентов из США, которые не сделали ни одного заказа после 1 января 2022 года?

Для решения этой задачи можно использовать подзапросы или соединения таблиц. Один из подходов - использовать левое соединение (LEFT JOIN) между Customers и Orders, фильтруя заказы после указанной даты. Затем можно использовать WHERE условие, чтобы выбрать только тех клиентов, у которых нет соответствующих записей в Orders после этой даты и которые находятся в США. Это демонстрирует понимание соединений таблиц, фильтрации и работы с датами в SQL.

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

SQL и БД Learning

MySQL: PERIOD_ADD

PERIOD_ADD
является одной из функций MySQL, которая используется для добавления количества периодов к указанной дате. Эта функция особенно полезна в тех случаях, когда вам нужно добавить несколько месяцев или лет к дате.

Синтаксис PERIOD_ADD выглядит следующим образом:

PERIOD_ADD(P,N) - где P - это период в формате YYMM или YYYYMM, а N - это количество периодов, которые нужно добавить к указанной дате.

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

SQL и БД Learning

Чем больше компания, тем больше вызовов 😱

Был десяток команд разработки – теперь их сотни. Единицы развертываний в день превращаются в тысячи.

Как в этом потоке сохранить контроль, прозрачность и управляемость? Как можно автоматизировать рутинные процессы? Разрозненные инструменты и отсутствие единой картины тормозят скорость и снижают качество доставки – что делать?

🎯Если у вас нет ответа на эти вопросы, вашей компании стоит внедрить IT-решение, которое станет "единым источником правды". Оно автоматизирует учет IT-компонентов, управление стендами и планирование поставок, сокращая время на рутину и повышая надежность процессов. Название такого решения – Digital Q.CMDB.

Диасофт посвятит этому решению вебинар, который состоится 23 декабря в 14:00 🗓

Эксперты познакомят вас с решением, расскажут про вызовы масштабирования и затронут практику: от бизнес-требований до поставки.

Welcome: регистрируйтесь по ссылке!
Реклама. ООО "ДИАСОФТ ЭКОСИСТЕМА". ИНН 9715403607.

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

SQL и БД Learning

Функция LOG() в SQL Server

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

Например, если мы хотим вычислить натуральный логарифм числа 10, мы можем использовать следующий SQL-запрос:
SELECT LOG(10) AS NaturalLogarithm;

Результатом этого запроса будет число, представляющее натуральный логарифм числа 10. Функция LOG() также может быть использована в сочетании с другими функциями и операторами для выполнения более сложных вычислений.

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

SQL и БД Learning

🖥 Предположим, что нам необходимо получить данные о сотруднике, имеющем вторую по величине зарплату в компании. Мы можем использовать следующий запрос:

WITH employee_ranking AS (
SELECT
employee_id,
last_name,
first_name,
salary,
RANK() OVER (ORDER BY salary DESC) as ranking
FROM employee
)
SELECT
employee_id,
last_name,
first_name,
salary
FROM employee_ranking
WHERE ranking = 2

Условие WHERE ranking = 2 используется для фильтрации строк второй по величине зарплаты. Обратите внимание, что на позиции 2 может находиться более одного сотрудника, если у них одинаковая зарплата.

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

SQL и БД Learning

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

Для каких числовых типов недопустимо использовать операции сложения/вычитания?

Ответ:
В качестве операндов операций сложения и вычитания нельзя использовать числовой тип BIT. BIT - целочисленный тип данных, который может принимать значения 1, 0 или NULL.

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

SQL и БД Learning

Функция SUBSTRING_INDEX()

Функция SUBSTRING_INDEX() возвращает подстроку строки до того, как появится указанное число разделителей.

Синтаксис:
SUBSTRING_INDEX(string, delimiter, number).

Протестировать функцию можно здесь.

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

SQL и БД Learning

Функция MOD

Функция MOD() возвращает остаток от деления одного числа на другое.

Синтаксис:
MOD(x, y)

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

SQL и БД Learning

Пошаговая инструкция создания SQL-сервера на Google Cloud Platform

Смотреть статью

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

SQL и БД Learning

SpeedML - это библиотека Python, целью которой является ускорение процесса разработки конвейера машинного обучения.

Она объединяет часто используемые пакеты ML, такие как Pandas, NumPy, Scikit-learn, XGBoost и Matplotlib. SpeedML также предоставляет функциональные возможности для автоматизированного EDA.

pip install speedml

Github

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

SQL и БД Learning

💻Knex.js — конструктор SQL-запросов для PostgreSQL и других СУБД

npm install knex --save
npm install pg --save

Knex.js спроектирован как гибкий и портативный инструмент.

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

Knex можно использовать в качестве конструктора SQL-запросов как в Node.JS, так и в браузере, ограничиваясь возможностями WebSQL (например, невозможностью дропать таблицы или читать схемы). Составлять SQL-запросы в браузере для выполнения на сервере крайне не рекомендуется, так как это может стать причиной серьезных уязвимостей в безопасности.

🟡 Доки
🖥 GitHub

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

SQL и БД Learning

✔️ Особенности сравнения record и 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 --!!!

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

SQL и БД Learning

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

Объясните разницу между командами DELETE и TRUNCATE

Команда DELETE — это DML-операция, которая удаляет записи из таблицы, соответствующие заданному условию(1 строка на картинке). При этом создаются логи удаления, то есть операцию можно отменить.

А вот команда TRUNCATE — это DDL-операция, которая полностью пересоздаёт таблицу, и отменить такое удаление невозможно(2 строка на картинке).

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

SQL и БД Learning

Возвращаем 0 для функции SUM если не найдено ни одного значения в MySQL

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

SQL и БД Learning

Правильное подключение к БД: почему, зачем и как

Смотреть статью

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

SQL и БД Learning

Функция 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).

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

SQL и БД Learning

BINARY - MySQL

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

BINARY имеет следующие характеристики:

- Фиксированная длина:
Длина поля BINARY всегда фиксирована и задается при создании таблицы. Например, если вы создаете поле BINARY(10), то оно всегда будет занимать 10 байт в таблице, даже если вы вставляете данные меньшего размера.
- Регистрозависимость: Данные типа BINARY регистрозависимы, что означает, что значения 'abc' и 'ABC' будут различаться, даже если они имеют одинаковую длину.

- Сравнение: Для сравнения данных типа BINARY используется бинарное сравнение, то есть двоичный код каждого символа сравнивается отдельно.
- Индексирование: Поля типа BINARY могут быть проиндексированы, что повышает скорость поиска данных.

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