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

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

Админ: @anothertechrock
Download Telegram
Трюк дня. Сравнение значений столбцов

Перепишите PostgreSQL запрос так, чтобы не использовать оператор AND.

WITH users (id, surname)
AS (VALUES
(1, 'Powers'),
(2, 'Sierra'),
(3, 'Oushen'))

SELECT id, surname
FROM users
WHERE id = 2 AND surname = 'Sierra';

Решение будет вечером.
👍4
Статья дня. Эс-Кью-Эль или Сиквел: как произносится SQL?

#sql

Читать статью
👍2
Вопрос с собеседования.

Что такое план запросов? Когда бы вы его использовали? Как посмотреть план?
💩6👍1👎1🌚1😈1
Ответ на "Что такое план запросов? Когда бы вы его использовали? Как посмотреть план?"

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

Во многих системах SQL план выполнения можно получить с помощью ключевого слова EXPLAIN. В Microsoft SQL Server Query Analyzer имеет в раскрывающемся меню параметр “Show Execution Plan”. Если его активировать, то при выполнении запроса план будет отображаться в отдельном окне.
👍8👎1
Media is too big
VIEW IN TELEGRAM
Нормальные формы баз данных

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

00:00 Введение
01:20 Что такое нормализация
02:08 Что такое избыточность данных с примерами
04:51 Какие бывают нормальные формы БД
08:00 Ненормализованная форма
09:37 Первая нормальная форма
11:24 Вторая нормальная форма
15:29 Что такое декомпозиция
16:18 Третья нормальная форма
18:54 Нормальная форма Бойса-Кодда
21:54 Четвертая нормальная форма
27:45 Почему обычно не нормализуют до 5 или 6 формы
29:14 Пятая нормальная форма
35:39 Шестая нормальная форма
38:02 Выводы и заключение

Смотреть это видео на youtube: youtu.be/zqQxWdTpSIA
👍8👎1
Вопрос с собеседования.

Что вы знаете о функции OVERLAY() в PostgreSQL?
👍2
Ответ на "Что вы знаете о функции OVERLAY() в PostgreSQL?"

Функция OVERLAY() заменяет часть строки на другую подстроку, начиная с заданной позиции:
OVERLAY(main_string PLACING replacing_string FROM int [FOR int]);
main_string -
строка, которую изменяем.
replacing_string - подстрока, которую вставляем в main_string.
FROM int - позиция, с которой начнётся замена.
FOR int - количество заменяемых символов. Необязательно.

Например:

SELECT OVERLAY('who Pro' PLACING 'SQL' FROM 1);
👍8
Какие из операторов SQL могут быть использованы для выполнения CRUD (Create, Read, Update, Delete) операций над данными?

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

#вопросы #собеседование
👍21
Задача на мышление и логику.

У строителя есть 8 кирпичей, 7 из которых имеют одинаковый вес, а один — тяжелее. Как строителю выявить бракованный кирпич с помощью весов всего за два взвешивания?

Решение будет завтра.
👍2
Решение вчерашней задачи на логику и мышление.

Все нужно делать поэтапно:

1. Разделить 8 кирпичей на три стопки по 3, 3 и 2 штуки.
2. Взвесить 2 стопки, в которых по 3 кирпича.
3. Если они уравновесились, значит взвесить стопку из двух кирпичей и найти бракованный.
4. Если не уравновесились, то взять 3 кирпича из стопки, которая перевесила и разделить на 3 штуки.
5. Положить по одному на весы. Если один перевесил — он бракованный, если уравновесились, значит, тяжелее всех тот, что остался в стороне.

#логика
👍16
Трюк дня. SQL - Сортировка зеркальных строк

Есть БД со следующей структурой:
id team1      team2
1 spartak csk
2 csk spartak
3 real spartak
4 csk real

Нужно написать запрос что-бы узнать сколько раз команды играли между собой в виде:
game          num
spartak-csk 2
real-spartak 1
csk-real 1

Решение будет завтра.

#tips
👍1👏1
Чем NULL отличается от 0

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

#вопросы #собеседование
0 - это число.

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

#вопросы #собеседование
👍5🏆3
Вопрос с собеседования.

В чём разница между UNION и UNION ALL?
Ответ на "В чём разница между UNION и UNION ALL?".

Оба UNION и UNION ALL объединяют результат двух разных SQL запросов.

Они отличаются тем, как они обрабатывают дубликаты:

UNION выполняет DISTINCT в результирующем наборе, исключая любые повторяющиеся строки.

UNION ALL не удаляет дубликаты, и поэтому он быстрее, чем UNION.
🔥6
Есть библиотека с книгами. Оперируя сущностями «Книга» и «Автор», Вы хотите сохранить реестр своей библиотеки в БД. Сколько таблиц понадобится для эффективного хранения такой структуры в 3-й нормальной форме?
Anonymous Quiz
5%
1
27%
2
55%
3
3%
4
10%
Узнать ответ
Трюк дня. Получить id покупки с максимальной value для каждого customer.

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

id customer value
1 Alex 5
2 Sam 1
3 Sam 3

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

id customer value
1 Alex 5
3 Sam 3

В PostgreSQL можно использовать оператор DISTINCT ON:


SELECT
DISTINCT ON(customer)
id,
customer,
value
FROM table
ORDER BY customer, value
DESC, id


#tips
А какие варианты решения вы знаете?
👍3🔥2