SQL Pro
5.08K subscribers
142 photos
2 videos
10 files
127 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Download Telegram
#вопрос54

Что выведет приведенный запрос, если в таблице Employee 10 записей?

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

#вопросы #собеседование
🤷‍♂6💩51
Ответ на #вопрос54

BEGIN TRAN
TRUNCATE TABLE Employees
ROLLBACK
SELECT * FROM Employees

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

6636 — 3, 8118 — 4, 2242 — 0, 3316 — ?

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

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

На месте знака вопроса должна стоять цифра 1. Для получения правильного ответа нужно посчитать количество кружочков в цифрах слева и написать полученный результат справа.

#логика
💩13👎1
Трюк дня. Как узнать размер базы данных PostgreSQL одной командой, не используя скриптов?

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

#tips
Трюк дня. Как узнать размер базы данных PostgreSQL одной командой, не используя скриптов?

SELECT pg_size_pretty( pg_database_size( 'sample_db' ) );

pg_size_pretty
----------------
36 GB

Также можно посмотреть и размер таблицы (с индексами):

SELECT pg_size_pretty( pg_total_relation_size( 'table' ) );

pg_size_pretty
----------------
6341 MB

Если нужно без индексов, тогда запрос другой:

# SELECT pg_size_pretty( pg_relation_size( 'table' ) );

pg_size_pretty
----------------
1341 MB

#tips
👍11
#вопрос55

Как скопировать данные из одной таблицы в другую?

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

#вопросы #собеседование
Ответ на #вопрос55

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

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

Какая цифра чаще всего встречается между числами от 1 до 1000 включительно?

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

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

Самая распространенная цифра — 1! Вы поняли, почему? Каждое число от 1 до 9 встречается ровно одинаковое количество раз в каждых десяти числах. Но поскольку было включено число 1000, цифра 1 появляется в числовом ряде на один раз больше.

Итак, всего цифра 1 встречается 301 раз, в то время как все остальные числа встречаются в ряде по 300 раз.

#логика
2🔥1
#вопрос56

Предположим, есть две таблицы Emp (ID, name, DeptId), Dept(ID, name). В таблице Emp 10 записей, а в Dept – 5. Сколько строк будет отображаться в результате следующего SQL-запроса:

Select * From Emp, Dept

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

#вопросы #собеседование
Ответ на #вопрос56

Запрос выведет 50 строк, т. к. тут перекрестное объединение, являющееся значением по умолчанию, когда условие WHERE, отсутствует.

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

Есть
2 пустых ведра: первое объемом 5 л, второе - 3 л. Как с их помощью отмерить 4 литра воды?

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

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

Сперва наполните пятилитровое ведро. Далее перелейте из него воду в трехлитровое так, чтобы в пятилитровом осталось 2 л воды (полностью заполнив трехлитровое). Вылейте из меньшего ведра всю воду и перелейте в него оставшиеся в большем 2 л. Снова наполните пятилитровое и перелейте один литр в трехлитровое (оно как раз заполнится): так в большем ведре останется 4 л воды.

#логика
👍7
Трюк дня. Что такое миграции и как создать миграции бд postgresql?

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

#tips
👍2
Трюк дня. Что такое миграции и как создать миграции бд postgresql?

Миграции - инструмент для перевода базы из одного состояния в другое. Своего рода git для бд.

Обычно когда просят написать миграцию, то имеют ввиду SQL-файл, выполнение которого переведёт схему базы в новое состояние. То есть файл с инструкциями типа create table, alter table и тд. Часто необходим и второй файл - файл отката, который вернёт всё к исходному состоянию.

Так как последовательность применения таких файлов очень важана (например, в первой миграции создали таблицу, а во второй модифицируем её), то имена файлов содержат возрастающий идентификатор миграции. Часто этот идентификатор - просто дата и время миграции:

migrations/
- 20220728102400_create-foo-table_up.sql
- 20220728102400_create-foo-table_down.sql

Инструмент миграции применяет SQL-файл и помечает (обычно в той же базе данных, в своей служебной табличке), что миграция с этим идентификатором уже применена. При повторном запуске применённые миграции будут пропущены. Соответственно применённую миграцию можно откатить, найдя down-файл с нужным идентификатором.

#tips
👍9🔥2🤔1🥱1