SQL и Базы Данных – Telegram
SQL и Базы Данных
4.19K subscribers
165 photos
5 videos
183 links
Задачи по базам данных и SQL

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

Админ: @anothertechrock
Download Telegram
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем

В столбце fullname таблицы customers содержится имя, отчество и фамилия в следующем формате: 'name middlename surname'.

Напишите MySQL-запрос, который извлечет name, middlename и surname в отдельные столбцы. Если middlename не существует, то в результате в middlename должен быть NULL.

Например, из 'Alena Igorevna Petrova' должны получиться 3 столбца:
• name = 'Alena',
• middlename = 'Igorevna',
• surname = 'Petrova'.

А из строки 'Jack Powers' получится следующее:
• name = 'Jack',
• middlename = NULL,
• surname = 'Powers'.

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

#tips
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.

SELECT
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 1), ' ', -1) AS name,
IF (LENGTH (fullname) - LENGTH (REPLACE (fullname, ' ', '')) > 1,
SUBSTRING_INDEX(SUBSTRING_INDEX (fullname, ' ', 2), ' ', -1), NULL)
AS middlename,
SUBSTRING_INDEX (SUBSTRING_INDEX (fullname, ' ', 3), ' ', -1) AS surname
FROM customers;

#tips
Задача на логику.

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

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

Ответ: 208

муравей = 12
шапка = 8
труба = 4
Итого: (12 + 8 + 4) * 8 + (12 + 4) = 208

#логика
Какой результат вернёт данный запрос(PostgreSQL)?
SELECT (20/25)*25.0;
Anonymous Quiz
9%
25.0
3%
25
5%
125
23%
0
30%
Запрос не выполнится
30%
Узнать ответ
Таблица employee имеет две колонки: emp_name и emp_id. Какой результат возвратит следующий SQL запрос:

SELECT emp_name FROM employee ORDER BY 2 DESC;

#вопросы #собеседование
ORDER BY 2 сработает только в том случае, когда в SELECT указаны по крайней мере две колонки.

В запросе выше, даже с учетом того, что таблица employee содержит 2 колонки, выбирается только 1 колонка. Поэтому такой запрос будет выдавать ошибку.

#вопросы #собеседование
SQL для начинающих на примере PostgreSQL

В этом видео автор подробно и наглядно разбирает реляционные базы данных и язык для работы с ними — SQL — на примере популярной СУБД PostgreSQL. Вы изучите работу с базой данных для интернет-магазина, хранящую в себе товары, их фотографии, покупателей и их заказы.

00:00 Зачем знать SQL и базы данных
02:47 Виды баз данных
03:28 Понятие сущностей, проектирование больших систем
06:01 Сущности в реляционных базах данных
06:50 Проектирование схемы БД магазина на бумаге
10:27 Перенос схемы БД в PostgreSQL
17:40 SELECT (получение данных)
19:03 JOIN (объединение таблиц)
23:25 LEFT JOIN, RIGHT JOIN, INNER JOIN
26:57 Удаление, обновление данных
28:23 Пример комплексного запроса с несколькими JOIN
32:31 GROUP BY (группировка данных)
34:11 COALESCE
34:47 ORDER BY (сортировка данных)
35:13 HAVING
36:26 LIMIT, OFFSET
38:09 Итоги

Смотреть это видео на youtube: youtu.be/WpojDncIWOw
👍2
Теория баз данных для программиста

В этом видео автор говорит про теорию баз данных и нормализацию данных, разбирая только самое необходимое.

00:00 Введение
01:40 Делаем телефонный справочник
07:34 Оптимизируем повторяющиеся слова
09:56 Разделение строки на колонки
11:37 Вынос пола в отдельную колонку
16:10 О важности связей
19:14 Установка MySQL
20:36 Установка и запуск MySQL в Ubuntu
23:54 Работа с MySQL из VS Code

Смотреть это видео на youtube: youtu.be/BPr1ZBEJ4lc
👍2
Какого строкового типа данных нет в SQL?
Наиболее распространенным является тип объединения:
Anonymous Quiz
55%
INNER JOIN
8%
FULL JOIN
37%
LEFT JOIN
Кто из вас каким либо образом связан с криптовалютами?
Anonymous Poll
6%
Да, торгую, владею
11%
Да владею
11%
Сталкиваюсь
72%
Не связан никак
Группировка и фильтрация в SQL

В этом видеоуроке автор подробно разбирает процесс фильтрации результатов группировки в SQL с помощью ключевого слова HAVING.

00:00 Фильтрация результатов группировки
00:59 Почему не работает фильтрация в WHERE
01:41 Порядок выполнения запроса SQL
02:29 Ключевое слово HAVING
04:00 Итоги

Смотреть это видео на youtube: youtu.be/ytfXUvCsNuo
Фильтрация данных в SQL

В этом ролике автор подробно и наглядно разбирает процесс фильтрации данных в SQL с использованием оператора WHERE.

00:00 Ключевое слово WHERE и фильтры для выбора строк
01:55 Операции, которые можно использовать в WHERE
02:32 Использование BETWEEN в WHERE
03:05 Использование IN в WHERE
03:58 Использование LIKE в WHERE
04:59 Логические операции AND, OR и NOT в WHERE
07:36 Итоги

Смотреть это видео на youtube: youtu.be/Q8UmK7wC9Hk
🛢SQL hub - без баз даных программирование невозможно. Узучи SQL быстро и легко. В канале собраны самые доступые и понятные гайды для освоения SQL.

1 канал вместо тысячи платных курсов и книг.
Что такое NoSQL и нереляционные базы данных

В этом ролике автор дает подробные ответы на следующие вопросы:
• Что такое NoSQL
• Что такое нереляционные базы данных
• Отличие NoSQL от SQL
• Способы организации данных в NoSQL-базах
• Базы данных типа ключ-значение
• Хранение данных в виде колонок
• Хранение данных в виде графов и деревьев
• Хранение данных в виде документов
• Работа с запросами в NoSQL
• Применение NoSQL

Смотреть это видео на youtube: youtu.be/Xu4S2OX8Gb4
🥰2
В SQL инструкция SELECT * FROM R, S эквивалентна_________
Anonymous Quiz
13%
Select * from R natural join S
28%
Select * from R cross join S
23%
Select * from R union join S
37%
Select * from R inner join S
Если мы хотим удалить дубликаты, мы используем в этом агрегатном выражении ключевое слово ______
Anonymous Quiz
90%
Distinct
4%
Count
2%
Avg
4%
Primary key
Трюк дня. Улучшить производительность запроса к таблице с индексом

В таблице test в столбце signup_date содержатся данные типа date. Для этого стоблца существует индекс.

Следующий SQL запрос не будет использовать существующий индекс, что может приводить к потере производительности:

SELECT
*
FROM test
WHERE DATEPART (YEAR, signup_date) = '2021';

Перепишите запрос так, чтобы существующий индекс стал использоваться.

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