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
Даны 2 таблицы А и В, которые содержат поле row. А содержит 10 записей, В - 5 записей. Сколько записей вернет следующий запрос:

select A.row, B.row from A,B
Anonymous Quiz
12%
5
22%
10
54%
50
11%
Посмотреть ответы
👍5
#вопрос50

Назовите типы джойнов в SQL

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

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

INNER, JOIN LEFT, JOIN RIGHT, JOIN FULL, JOIN CROSS

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

Запишите восемь восьмерок таким образом, чтобы в сумме получилась тысяча.

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

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

888 + 88 + 8 + 8 + 8 = 1000

#логика
👍9
Трюк дня. Как сохранить порядок сущностей в списке?

Есть список сущностей "todo", нужно помимо того, что бы сохранить его в базе по id как то сохранить порядок, то есть если пользователь захотел задачу с id 20 выполнить вперед всех остальных, то она должна оказаться на самом верху, в не зависимости от того, какие у всех остальных задач id.

Как это сделать учитывая, что порядок одних и тех же задач в разных местах может быть разный, например в папке inbox один, а в папке today - уже другой порядок, хотя задачи одни и те же.

Как решить поставленную задачу?

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

#tips
💩5
Трюк дня. Как сохранить порядок сущностей в списке?

Используйте коллекцию TreeSet с помощью своего компаратора по приоритету или добавляйте в ту коллекцию, в которой Вы храните сейчас, с помощью компаратора по приоритету. Таким образом Вы добьетесь порядка в коллекции.

Если Вы используете ORM-системы, то они автоматически восстановят из базы данных коллекцию с правильным порядком.

#tips
💩2
#вопрос51

Как, используя CTE, найти пятый по величине оклад в таблице?

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

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

Declare @N int
set @N = 5;
WITH CTE AS
(
SELECT Name, Salary, EmpID, RN = ROW_NUMBER()
OVER (ORDER BY Salary DESC)
FROM Employee
)
SELECT Name, Salary, EmpID
FROM CTE
WHERE RN = @N

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

У вас есть две одинаковые по длине нити, и известно, что при зажигании одного конца любой из них горение будет длиться ровно один час. Как с помощью всего двух таких ниток и спичек отмерить 45 минут, не прикасаясь при этом руками к ниткам?

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

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

Зажгите оба конца первой нити и один конец второй. Когда полностью сгорит первая нить, это будет сигнализировать о прошествии 30 минут. Сразу же подпалите второй конец горящей нитки таким образом, чтобы огонь шел навстречу друг другу. В результате, когда она полностью сгорит, пройдет 45 минут.

#логика
👍3
Трюк дня. SQL Вернуть другую строку, если не найдена первая?

Как вернуть строку, если не найдена первая.

Например: SELECT * FROM TEST WHERE ID = '1' ИНАЧЕ SELECT * FROM TEST WHERE ID = '2'.

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

#tips
Трюк дня. SQL Вернуть другую строку, если не найдена первая?

Выберите обе, и отсортируйте в правильном порядке, взяв только первую строку.

SELECT * 
FROM test
WHERE id IN ('A','B')
ORDER BY CASE WHEN id = 'A' THEN 1 ELSE 2 END
LIMIT 1

подразумевая, что ID у вас не просто 1,2, т.к в этом случае можно просто order by id сделать

#tips
👍4
1
#вопрос52

Учитывая данные из таблицы A:

 x
------
2
-2
4
-4
-3
0
2

Напишите один запрос для вычисления суммы всех положительных и отрицательных значений x.

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

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

select sum(case when x>0 then x else 0 end)
sum_pos,sum(case when x<0 then x else 0 end)
sum_neg from a;

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

Если в 12 часов ночи пошел снег, можно ли предположить, что через 96 часов на улице будет солнце?

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

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

Такого быть не может так как 96 часов — это ровно четверо суток, а значит, через указанный промежуток времени снова будет 12 часов ночи.

#логика
👍1😁1
Трюк дня. 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
💩2
Трюк дня. SQL - Сортировка зеркальных строк

SELECT game, count(game)
FROM (
select
case when a < b then concat(a, '-' , b)
else concat(b , '-', a ) end as game
from data
) as t
GROUP by game|

#tips
👍6👎1💩1
С помощью предиката IN можно извлечь данные, соответствующие заданным значениям, являющимся
Anonymous Quiz
3%
числовыми
4%
строковыми
16%
числовыми или строковыми
77%
любого типа, поддерживаемого в SQL
👍1