OneCompiler

Лига Цифровой Экономики

  1. Даны две таблицы T1 (col1, col2) и T2 (col1, col3)

В таблице T1 три записи
В таблице T2 четыре записи

Оцените какое количество строк вернут операторы

T1 join T2 on T1.col1 = T2.col1 
min:0
max:12

T1 left join T2 on T1.col1 = T2.col1 
min:3
max:12

T1 full join T2 on T1.col1 = T2.col1 
min:4
max:12

T1 cross join T2
min:12
max:12
  1. Дана таблица T(value), выведите все повторяющиеся записи. Написать sql-запрос.
with cte as
(
select *, count(1) over (partition by value) cnt 
)
select distinct value
from cte
where cnt > 1
  1. Требуется написать SQL-запрос, который будет находить ошибки в версионности
    по ключу employee_id, такие как «дыры» в истории и пересечение версий.

Результатом запроса является список пар employee_id и from_dt, в которых есть ошибка.

Для каждой пары вывести тип ошибки.

Salary
Employee_id Salary_amt From_dt To_dt
1 50 000.000 01.01.2019 01.02.2019
1 70 000.000 01.04.2019 01.01.9999
2 70 000.000 01.01.2019 01.05.2019
2 90 000.000 01.03.2019 01.01.9999
3 45 000.000 01.01.2019 01.01.9999

with cte as
(
select *, lead(From_dt) over (partition by Employee_id order by From_dt) ld_From_dt
)
select *, 
    case 
        when ld_From_dt - To_dt > 1 then 'есть дыра со следующей записью'
        when ld_From_dt - To_dt < 1 then 'есть пересечение со следующей записью'
    end type_error
from cte
where ld_From_dt - To_dt > 1 or ld_From_dt - To_dt < 1
  1. Есть две таблицы с приходами и списаниями с банковских счетов:

Income
account_id datetime amount

Outcome
account_id datetime amount

Необходимо написать запрос, который вернет баланс выбранного счета на каждый
день когда были операции -- выбранного месяца.

Пример:
account_id datetime amount
777 01.02.2024 250
777 02.02.2024 300
777 07.02.2024 170
… … …
777 28.02.2024 900

with operations as
(
select account_id, datetime, amount
from Income 
union all
select account_id, datetime, -amount
from Outcome  
)
select account_id, datetime, sum(amount) over (partition by account_id order by datetime) balance
from operations