Трюк дня. Как узнать размер базы данных PostgreSQL одной командой, не используя скриптов?
----------------
36 GB
Также можно посмотреть и размер таблицы (с индексами):
----------------
6341 MB
Если нужно без индексов, тогда запрос другой:
----------------
1341 MB
#tips
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
Что покажет следующий запрос:
select seller_id, count(*) from Orders GROUP BY seller_id HAVING seller_id IN (2,4,6);
select seller_id, count(*) from Orders GROUP BY seller_id HAVING seller_id IN (2,4,6);
Anonymous Quiz
59%
Количество заказов, сгруппированное по продавцам 2, 4 и 6
17%
Количество продавцов, у которых 2, 4 или 6 товаров
20%
Ничего, запрос составлен неверно: для указания условия должно быть использовано WHERE
4%
Посмотреть ответ
👍1
#вопрос55
Как скопировать данные из одной таблицы в другую?
Решение будет вечером.
#вопросы #собеседование
Как скопировать данные из одной таблицы в другую?
Решение будет вечером.
#вопросы #собеседование
Ответ на #вопрос55
INSERT INTO table2 (column1, column2, column3, ...)#вопросы #собеседование
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
👍3
Решение сегодняшней задачи на логику и мышление.
Самая распространенная цифра — 1! Вы поняли, почему? Каждое число от 1 до 9 встречается ровно одинаковое количество раз в каждых десяти числах. Но поскольку было включено число 1000, цифра 1 появляется в числовом ряде на один раз больше.
Итак, всего цифра 1 встречается 301 раз, в то время как все остальные числа встречаются в ряде по 300 раз.
#логика
Самая распространенная цифра — 1! Вы поняли, почему? Каждое число от 1 до 9 встречается ровно одинаковое количество раз в каждых десяти числах. Но поскольку было включено число 1000, цифра 1 появляется в числовом ряде на один раз больше.
Итак, всего цифра 1 встречается 301 раз, в то время как все остальные числа встречаются в ряде по 300 раз.
#логика
❤2🔥1
select * from R, S в SQL эквивалентно...
Anonymous Quiz
9%
select * from R natural join S
33%
select * from R cross join S
20%
select * from R union join S
28%
select * from R inner join S
11%
Посмотреть ответ
Возможно ли использование одновременно двух агрегирующих функций:
select min(price), max(price) from Orders;
select min(price), max(price) from Orders;
Anonymous Quiz
9%
Да, но данный запрос составлен неверно, надо так: select * from Orders where price IN (min, max)
73%
Да, в результате мы получим минимальную и максимальную стоимости
2%
Да, в результате мы получим стоимости, отсортированные от минимальной до максимальной
9%
Нет, две функции одновременно использовать нельзя
6%
Посмотреть ответ
#вопрос56
Предположим, есть две таблицы Emp (ID, name, DeptId), Dept(ID, name). В таблице Emp 10 записей, а в Dept – 5. Сколько строк будет отображаться в результате следующего SQL-запроса:
Решение будет вечером.
#вопросы #собеседование
Предположим, есть две таблицы Emp (ID, name, DeptId), Dept(ID, name). В таблице Emp 10 записей, а в Dept – 5. Сколько строк будет отображаться в результате следующего SQL-запроса:
Select * From Emp, Dept Решение будет вечером.
#вопросы #собеседование
Ответ на #вопрос56
Запрос выведет 50 строк, т. к. тут перекрестное объединение, являющееся значением по умолчанию, когда условие WHERE, отсутствует.
#вопросы #собеседование
Запрос выведет 50 строк, т. к. тут перекрестное объединение, являющееся значением по умолчанию, когда условие WHERE, отсутствует.
#вопросы #собеседование
👍1
Решение сегодняшней задачи на логику и мышление.
Сперва наполните пятилитровое ведро. Далее перелейте из него воду в трехлитровое так, чтобы в пятилитровом осталось 2 л воды (полностью заполнив трехлитровое). Вылейте из меньшего ведра всю воду и перелейте в него оставшиеся в большем 2 л. Снова наполните пятилитровое и перелейте один литр в трехлитровое (оно как раз заполнится): так в большем ведре останется 4 л воды.
#логика
Сперва наполните пятилитровое ведро. Далее перелейте из него воду в трехлитровое так, чтобы в пятилитровом осталось 2 л воды (полностью заполнив трехлитровое). Вылейте из меньшего ведра всю воду и перелейте в него оставшиеся в большем 2 л. Снова наполните пятилитровое и перелейте один литр в трехлитровое (оно как раз заполнится): так в большем ведре останется 4 л воды.
#логика
👍7
Трюк дня. Что такое миграции и как создать миграции бд postgresql?
Миграции - инструмент для перевода базы из одного состояния в другое. Своего рода git для бд.
Обычно когда просят написать миграцию, то имеют ввиду SQL-файл, выполнение которого переведёт схему базы в новое состояние. То есть файл с инструкциями типа create table, alter table и тд. Часто необходим и второй файл - файл отката, который вернёт всё к исходному состоянию.
Так как последовательность применения таких файлов очень важана (например, в первой миграции создали таблицу, а во второй модифицируем её), то имена файлов содержат возрастающий идентификатор миграции. Часто этот идентификатор - просто дата и время миграции:
#tips
Миграции - инструмент для перевода базы из одного состояния в другое. Своего рода git для бд.
Обычно когда просят написать миграцию, то имеют ввиду SQL-файл, выполнение которого переведёт схему базы в новое состояние. То есть файл с инструкциями типа create table, alter table и тд. Часто необходим и второй файл - файл отката, который вернёт всё к исходному состоянию.
Так как последовательность применения таких файлов очень важана (например, в первой миграции создали таблицу, а во второй модифицируем её), то имена файлов содержат возрастающий идентификатор миграции. Часто этот идентификатор - просто дата и время миграции:
migrations/Инструмент миграции применяет SQL-файл и помечает (обычно в той же базе данных, в своей служебной табличке), что миграция с этим идентификатором уже применена. При повторном запуске применённые миграции будут пропущены. Соответственно применённую миграцию можно откатить, найдя down-файл с нужным идентификатором.
- 20220728102400_create-foo-table_up.sql
- 20220728102400_create-foo-table_down.sql
#tips
👍9🔥2🤔1🥱1
Каков порядок выполнения операторов AND и OR?
Anonymous Quiz
54%
Сначала выполняется AND, затем OR
9%
Сначала выполняется OR, затем AND
28%
Это зависит от того, какой из операторов стоит первым
8%
Операторы AND и OR выполняются одновременно
#вопрос57
Напишите SQL-запрос, с применением UNION ALL (не UNION), использующий WHERE для устранения дубликатов.
Решение будет вечером.
#вопросы #собеседование
Напишите SQL-запрос, с применением UNION ALL (не UNION), использующий WHERE для устранения дубликатов.
Решение будет вечером.
#вопросы #собеседование
Ответ на #вопрос57
#вопросы #собеседование
SELECT * FROM mytable WHERE a=X UNION ALL SELECT * FROM mytable WHERE b=Y AND a!=XКлючевое место – AND a!=X. Это дает вам все плюшки UNION DISTINCT, избегая при этом просадки производительности.
#вопросы #собеседование
❤2