SQL и Базы Данных
الذهاب إلى القناة على Telegram
Задачи по базам данных и SQL Основы языка SQL, задачи и решения к ним. Админ: @anothertechrock
إظهار المزيد3 679
المشتركون
-124 ساعات
-77 أيام
-1330 أيام
أرشيف المشاركات
3 679
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем. Решение.
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;
#tips3 679
Трюк дня. Извлечение имени, отчества и фамилии из строки с полным именем
В столбце
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'.
Решение будет вечером.
#tips3 679
❓Хочешь освоить PostgreSQL?
📌 14 апреля в 20:00 в OTUS пройдет открытый урок «Резервное копирование и восстановление» с Евгением Аристовым, архитектором баз данных PostgreSQL, MongoDB, MSSQL, Oracle, MySQL, MariaDB, Couchbase и автором книг по PostgreSQL.
📘На занятии мы разберем:
• Стандартные методы логического и физического копирования
• Современную утилиту pg_probackup
• Лучшие практики по бэкапам и восстановлению
💻 Открытый урок пройдет в рамках онлайн-курса «PostgreSQL Cloud Solutions», рассчитанного на DevOps-инженеров, SRE, архитекторов данных, администраторов баз данных и разработчиков.
👉ЗАРЕГИСТРИРОВАТЬСЯ!
3 679
Практический курс по SQL для начинающих
В этом видеокурсе автор разбирает основы SQL: вы узнаете что такое SQL, научитесь писать SQL-запросы различной сложности. Все эти знания будут легко применимы не только к PostgreSQL, но и к другим СУБД: MySQL, Microsoft SQL Server, Oracle.
0:00:00 Основные концепции: БД, СУБД
0:17:22 Реляционная модель и SQL
0:30:54 Почему стоит выбрать PostgreSQL?
0:36:04 Установка PostgreSQL
0:42:38 Обзор типов данных в PostgreSQL
0:56:48 Как создать базу данных
1:04:22 Как создать таблицу
1:16:03 Отношение "один ко многим"
1:35:18 Отношение "один к одному"
1:44:45 Отношение "многие ко многим"
1:59:12 Создаём БД Northwind
Смотреть это видео на youtube: youtu.be/HVQNxdI6fqY
3 679
Статья дня. Как работать с json в Postgresql?
json — самый популярный, на данный момент, формат сериализации данных, состоящий из пар ключ-значение. Является нативным для Javascript и поддерживается абсолютно всеми языками программирования.
PostgreSQL нативно поддерживает json с версии 9.2. И до этого у постгри был тип данных для пар ключ-значение, но не настолько гибкий и с куда менее полным функционалом. Сейчас это мощнейший и удобнейший инструмент.
#sql
Читать статью
3 679
SQL All-in-One For Dummies
Автор: Allen G. Taylor
Год издания: 2019
Рецензия на книгу:
Плюсы:
1. Легко читается;
2. Актуальность материала.
Минусы:
1. Не замечено.
#sql
Скачать книгу
Задачи по SQL - ТУТ
3 679
Ответ на #вопрос9
Да, отработает. В SQL допускается перечисление не всех полей в разделе
SELECT, если мы группируем по нескольким полям.
В данном примере группировка выполняется по двум полям, а выводится на экран одно поле. А вот наоборот сделать уже нельзя.
#вопросы #собеседование3 679
#вопрос9
Отработает ли данный запрос или выдаст ошибку:
SELECT field1 FROM table GROUP BY field1, field2;#вопросы #собеседование
3 679
Чемпионат для системных аналитиков
Всего 3 дня и 2 этапа:
- 25-26 марта - отборочный раунд.
- 26-28 марта - финальный раунд, который определит победителей.
Задачи на чемпионате рассчитаны на системных аналитиков уровня middle и senior. Лучшие участники разделят призовой фонд в 500 тысяч рублей и получат предложение о работе в IT_ONE.
Регистрация открыта до 25 марта.
3 679
Tips & Tricks. Очистка raw data в SQL
В этой статье мы рассмотрим несколько примеров, как очистить реальные данные так, чтобы можно было их использовать для дальнейшей работы с ними.
#sql
Читать статью
3 679
Ответ на #вопрос8
Учитывая, что
NULL в SQL — просто отсутствие значения, то все значения NULL при группировке попадают в одну группу. Например, пусть есть таблица:
name score
Alex 5
Sam 1
Sam 11
NULL 4
NULL 3
Тогда запрос
SELECT name, SUM (score) AS sc FROM table GROUP BY name;выдаст: name sc Alex 5 Sam 12 NULL 7 #вопросы #собеседование
3 679
#вопрос8
Как оператор
GROUP BY обрабатывает поля с NULL?
#вопросы #собеседование3 679
Мастерски составляете SQL-запросы? Научитесь работать с большими данными и станьте востребованным дата-инженером.
Под руководством ведущих специалистов из VK, Яндекс Go, СберМаркет и Mars вы научитесь работать с Hadoop, PostgreSQL, Greenplum, Kubernetes, Airflow и множеством других технологий для управления данными и проектирования всей необходимой инфраструктуры.
За 5 месяцев вы освоите:
▫️Архитектуру традиционных и облачных DWH
▫️ MPP, SQL и NoSQL базы данных
▫️Хранение и обработку Big Data с применением Big ML
▫️ ETL-пайплайны и автоматизацию рутинных задач
А чтобы вы глубже разобрались в процессах и научились смотреть на данные глазами их потребителя, преподаватели обучат вас работать с гибким и востребованным BI-инструментом — Tableau.
После обучения поможем с поиском работы и доведём вас до оффера в хорошую компанию.
Переходите по ссылке и записывайтесь на курс «Инженер данных» до 5 марта. А если хотите посмотреть, как обучение выглядит изнутри, попробуйте нашу бесплатную демоверсию.
3 679
Трюк дня. Найти максимальное значение из двух колонок таблицы
Например, есть таблица:
customer value_1 value_2
Alex 5 18
Sam 1 19
Sam 3 2
В результате нужно получить следующее:
customer max
Alex 18
Sam 19
Sam 3
В PostgreSQL, MySQL и Oracle можно воспользоваться функцией
GREATEST:
SELECT customer, GREATEST (value_1, value_2) FROM table;В SQL Server подобной функции нет, поэтому можно решить эту задачу так:
SELECT customer, MAX (x.combined_val) AS greatest FROM table AS u CROSS APPLY (SELECT u.value_1 UNION ALL SELECT u.value_2) AS x(combined_val) GROUP BY customer;#tips
3 679
Тест по SQL
Вы - разработчик и подумываете о специализации в сфере MS SQL серверов? Пройдите тест и проверьте, готовы ли вы вступить на этот путь!
Количество вопросов: 20.
После удачного прохождения теста с вами свяжется менеджер курсов от компании Otus.
3 679
Ответ на #вопрос7
Код выдаст ошибку, так как в данном случае alias нельзя использовать в операторе WHERE.
Порядок выполнения упомянутого SELECT запроса следующий:
1. FROM
2. WHERE
3. SELECT
Соответственно при выполнении команды WHERE, alias, задаваемый в SELECT еще неизвестен.
Для PostgreSQL или MySQL данную проблему можно решить, например, следующим образом:
WITH ct AS (
SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
)
SELECT ct.*
FROM ct
WHERE ct.city_m = 'EU:Oslo';
А какие еще варианты решения данной проблемы вы знаете?
#вопросы #собеседование3 679
#вопрос7
Почему данный код выведет ошибку?
SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
WHERE city_m = 'EU:Oslo';
#вопросы #собеседование3 679
Tips & Tricks. SQL vs NoSQL в примерах
В этой статье мы рассмотрим примеры, демонстрирующие, как выполнять запросы к базам данных SQL и NoSQL.
#sql
Читать статью
