SQL и Базы Данных
4.25K subscribers
161 photos
5 videos
179 links
Задачи по базам данных и SQL

Основы языка SQL, задачи и решения к ним.

Админ: @anothertechrock
Download Telegram
Курс молодого бойца PostgreSQL

1. Использование временных таблиц
2. Часто используемый сокращенный синтаксис Postgres
3. Общие табличные выражения (CTE). Конструкция WITH
4. Функция array_agg(MyColumn).
5. .......

Разбираться вглубь
Self JOIN - это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.

Например, следующий SQL-запрос объединяет клиентов из одного города:

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
Когда используется PRIMARY KEY?

#вопросы_с_собеседований
PRIMARY KEY — это первичный ключ, который используется в качестве основного ключа и может быть использован для связи с дочерней таблицей, содержащей внешний ключ.
Трюк дня. Объединить значения из нескольких строк таблицы в одну, группируя по определённому параметру.

Например, есть таблица:

id name value
1 A 4
1 B 8
2 C 9

В результате нужно получить следующее:

id column
1 A:4, B:8
2 C:9

В SQL Server 2017, Azure можно использовать функцию STRING_AGG:

SELECT
id,
STRING_AGG(
CONCAT(name,’:’,[value], ‘, ‘)
FROM table
GROUP BY id

#tips
🐍🐬 Python и MySQL: Как соединить их?

Большинство приложений в той или иной форме взаимодействует с данными. Поэтому языки программирования (Python не исключение), предоставляют инструменты хранения источников данных и доступа к ним. MySQL — одна из самых популярных систем управления базами данных (СУБД). В прошлом году она заняла второе место после СУБД Oracle в рейтинге баз данных.

Разбираться

#python #mysql
Что Такое MySQL: Объяснение MySQL Для Начинающих

1. Что такое MySQL?
2. Модель клиент-сервер
3. SQL
4. Как работает MySQL?
5. Почему MySQL так популярен?
6. ...

Разобраться вглубь

#mysql
Трюк дня. COALESCE() для перезаписи NULL

При помощи функции COALESCE() можно перезаписать NULL на другое значение:

SELECT
id,
null_var,
COALESCE(null_var, 'missing') AS recode_null_var
FROM
current_table
ORDER BY id

Запрос вернёт значение ‘missing‘ для всех строк таблицы, где null_var IS NULL

#tips
Вопрос с собеседования.

Опишите различные типы индексов.

P.S ответ вечером

#собес
Есть три типа индексов, а именно:

1) Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.

2) Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.

3) Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
SQL for Data Analysis

Автор: Cathy Tanimura
Год издания: 2021

#sql #english
Что такое Self JOIN?

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

Ответ завтра.
Self JOIN - это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.

Например, следующий SQL-запрос объединяет клиентов из одного города:

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
Друзья, мы бы хотели провести кодинг-марафон по SQL по аналогии с этим марафоном.

Напишите ваше мнение и кто будет участвовать поставьте плюс в комментариях. Также приветствуются пожелания по темам задач.

Если кто-то готов помочь в администрировании марафона и канала в целом, напишите также в комментариях.