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

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

Админ: @anothertechrock
Download Telegram
Сколько записей вернет следующий PostgreSQL запрос:
VALUES (11), (22), (33) INTERSECT VALUES (55), (33), (33);
Anonymous Quiz
31%
1
20%
2
14%
3
13%
Ничего из перечисленного
22%
Посмотреть ответ
Вопрос с собеседования.

В чем разница между Full Outer Join и Cross Join?
👍4
Задача на мышление и логику.

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

#логика
👍2
😁11👎3🤣3👍1
Вопрос с собеседования.

Отработает ли данный период запрос или упадёт с ошибкой?

UPDATE table_1 SET field1 = ROW_NUMBER () FROM table_1;
👍3
Ответ на "Отработает ли данный период запрос или упадёт с ошибкой?"

Нет, не отработает. Опытный инженер знает, что ROW_NUMBER() — это часть аналитической функции, которая не может быть применена сама по себе. Аналитические функции используются только в конcтрукциях SELECT или ORDER BY.
👍4
Задача на мышление и логику.

Каждой букве соответствует цифра от 0 до 9. Известно, что D=5. Вычислите все остальные цифры.

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

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

Ответ:
D = 5
O = 2
N = 6
A = 4
L = 8
G = 1
R = 7
B = 3
E = 9
T = 0

Задача решается простыми математическими расчётами и подбором.

Подробный разбор решения смотрите здесь

#логика
Трюк дня. Сравнение значений столбцов. Решение

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

SELECT id, surname
FROM users
WHERE (id, surname) = (2,'Sierra');
Трюк дня. Сравнение значений столбцов

Перепишите 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