Позиция data-инженера востребована в IT-индустрии. Такой специалист занимается обработкой данных, которые чаще всего хранятся в базах данных. Работа с БД, в свою очередь, подразумевает хорошее знание языка запросов SQL.

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

Итак, начнём. Представьте, что у вас в базе данных есть две таблицы: TABLE1 и TABLE2. Ниже будут приведены несколько SQL-запросов. Нужно ответить на один простой вопрос: отработает ли данный запрос или упадет с ошибкой? И объяснить, почему.

Задача 1

select * from TABLE1 group by ID

Ответ

Задача 2

select field1 from TABLE1 group by field1, field2

Ответ

Задача 3

select field1, field2 from TABLE1 group by field1, field2 having field2 = 0

Примечание: field1, field2 являются числовыми полями.

Ответ

Задача 4

update TABLE1 set field1 = row_number() from TABLE1

Ответ

Задача 5

insert into TABLE1 (field1, field2, field3) values ('1','2')

Примечание: field1, field2, field3 являются текстовыми полями.

Ответ