20 вопросов и задач по SQL на собеседовании с ответами
От автора Telegram-канала Аналитика и Growth mind-set (там публикую еще больше вопросов и тестовых задач с собеседований).
В данной статье вопросы и тестовые задания на SQL с собеседований на аналитика.
У некоторых HR есть практика задавать вопросы прямо при телефонном звонке. Сидишь дома, а тут неожиданно звонит HR и задает тебе вопрос по SQL. Некоторые спрашивают про SQL в тестовом задании, а некоторые на техническом интервью.
Стоит отметить, что ответы предоставлены работодателями. Если вы не согласны с каким-то из ответов - пишите в комментариях свой вариант.
Сначала вопросы с ответами:
Назовите типы джойнов в SQL
Ответ:
INNER, JOIN LEFT, JOIN RIGHT, JOIN FULL, JOIN CROSS
Чем NULL отличается от 0
Ответ:
0 - это число.
NULL - это не число, а также NULL не является значением пустой строки. NULL используется для указания того, что данные отсутствуют, неизвестны, неприменимы. NULL не равен ничему, даже другому NULL.
Какие параметры используются в конструкции order by?
Ответ:
ASC и DESC
Какой оператор имеет больший приоритет AND или OR (если они используются совместно)?
Ответ:
AND имеет больший приоритет, нежели OR
Какие операторы обязательны при выборке данных с соединением таблиц (не учитывая cartesian product)?
Ответ:
SELECT, JOIN, FROM
Какие из операторов SQL могут быть использованы для выполнения CRUD (Create, Read, Update, Delete) операций над данными?
Ответ:
INSERT, DELETE, SELECT, UPDATE
С помощью какого запроса можно удалить все записи из таблицы?
Ответ:
DELETE FROM
Для чего нужен оператор UNION?
Ответ:
Для объединения двух таблиц, при условии что каждая имеет одинаковое количество столбцов, столбцы имеют схожие типы данных, столбцы располагаются в том же порядке.
Какой оператор используется для изменения объектов базы данных?
Ответ:
ALTER
Что такое оконная функция? И в чем отличие от функции агрегации с группировкой?
Ответ:
Оконная функция в SQL - функция, которая работает с выделенным набором строк (окном, партицией) и выполняет вычисление для этого набора строк в отдельном столбце.
При использовании агрегирующих функций предложение GROUP BY сокращает количество строк в запросе с помощью их группировки. При использовании оконных функций количество строк в запросе не уменьшается по сравнению с исходной таблицей.
Задачи с ответами:
1) Написать запрос SQL.
Есть 2 таблицы
Persons (Сотрудники)
Positions (должности)
Написать запрос, чтобы получилась таблица вида:
Ответ:
2) Дана пустая таблица publisher с колонками id и name. На id стоит автоинкремент, а Синтаксис name имеет тип varchar(40). Какие из следующих запросов корректно отработают:
- INSERT INTO publisher (name) VALUES ('OREILLY');
- INSERT INTO publisher (name) VALUES ('О Reilly');
- INSERT INTO publisher (name) VALUES ('O'Reilly');
- INSERT INTO publisher (name) VALUES ('O-Reilly');
Ответ:
1, 2, 4
3) Результат объединения запросов выведет все значения из таблицы tab?
- Да
- Нет
Ответ:
2
4) С помощью какого update-запроса можно обновить значения более чем одной колонки?
- UPDATE table_name SET col1_name = 'col1val', col2_name = 'col2val';
- UPDATE table_name SET col1_name = 'col1val' AND SET col2_name = 'col2val';
- UPDATE table_name SET col1_name = 'col1val' SET col2_name = 'col2val';
- Одним запросом можно обновить не более одной колонки
Ответ:
1
5) Дана таблица PERSONS:
Каков будет результат выполнения следующего запроса:
- 150
- 75
- UNKNOWN, поскольку присутствует NULL
- Запрос не выполнится (завершится ошибкой), поскольку присутствует NULL
- 100
Ответ:
5
6) Нарастающий итог
Есть таблица transactions в таком виде:
Где cash_flow — это выручка минус затраты за каждый день.
Нужно написать запрос, чтобы получить нарастающий итог для денежного потока каждый день таким образом, чтобы в конечном итоге получилась таблица в такой форме:
Ответ:
7) Дана таблица CARS:
Каким будет результат следующего запроса:
- red blue null
- 3
- 2 1 1
- 2
Ответ:
4
8) Даны две таблицы:
EMPLOYEES:
TASK:
Таблица EMPLOYEES имеет поле CURRENT_TASK_ID, которое является внешним ключом и ссылается на поле TASK_ID таблицы TASKS. Вывести список, состоящий из имен всех имеющихся сотрудников и их текущих занятий.
- SELECT NAME, COMMENT FROM EMPLOYEES LEFT JOIN TASKS ON CURRENT_TASK_ID = TASK_ID
- SELECT NAME, COMMENT FROM EMPLOYEES, TASKS WHERE CURRENT_TASK_ID = TASK_ID
- SELECT NAME, COMMENT FROM EMPLOYEES, TASKS WHERE JOB_ID = TASK_ID
- SELECT NAME, COMMENT FROM EMPLOYEES RIGHT JOIN TASKS ON CURRENT_TASK_ID = TASK_ID
Ответ:
1
9) Имеется таблица WOMEN
Сколько строк вернет запрос
- Запрос содержит ошибку и не выполнится
- 2
- 1
- 3
- 4
Ответ:
6
10) Какая ошибка в этом запросе?
- Вы не можете использовать арифметические операторы для функции SUM() (например SUM(qty * price))
- Следует использовать знак (=) для подзапроса
- Вы не можете использовать подзапрос для SET внутри оператора UPDATE
- Ключевое слово BETWEEN нельзя использовать для символов или дат
Ответ:
2
Удачи на собеседованиях!
В своем канале Аналитика и Growth mind-set я публикую еще больше тестовых с собеседований.
Иногда людям нужно дать то, чего они действительно хотят. И эта история не про деньги.
Переезд из России в Египет стал для меня не только началом новой жизни, но и настоящим финансовым открытием. Конечно, при планировании долгосрочного пребывания важно понимать, как изменятся расходы на повседневные нужды. Поэтому я решила поделиться своим опытом и рассказать о ценах в Египте в 2025 году.
У себя в голове каждый из нас охрененный и недооцененный. Все начинается с сына маминой подруги , потом коллега которого повысили, а тебя как обычно, ну и конечно я все тяну на себе, в эти чудаки только могут в подковерные игры играть.
Знаете, что общего между вашим корешом и крутым брендом? Они не пытаются продать вам что-то в лоб. Вместо этого они шутят, подкалывают и иногда отправляют мемчики и видосики, от которых вы орёте прям в голосину. Как российские компании, включая «Авиасейл», превратили свои соцсети в стендап-площадки, а подписчиков — в фанатов.
Приветствую!
Меня зовут Юлия Сташенко — директор агентства ST-Digital.
В феврале 2022 года Василя, опытный русскоязычный турагент из Германии, обратилась к нам за помощью в ведении Instagram и масштабировании бизнеса. На старте у неё было около 2 000 подписчиков, основной задачей было увеличение числа заявок и внедрение депозитной системы для работ…
Интересная выдалась неделька. Переговоры о переговорах запустили вторую часть Трамп-ралли, но неопределённость и высокая ключевая ставка сдерживают рост. Эльвира Сахипзадовна сохранила ключ на 21, но сказала на всякий случай, что умеет считать и дальше. Потихоньку просыпаются дивиденды после спячки, но сильнее всех удивил рубль. Он сделал доллару н…
Девушка,спасибо Вам огромное за такую замечательную статью❤️
Спасибо за эту веселую и поучительную (я понял какой результат у оконной функции) статью. Особенно повеселил девятый вопрос, в котором из пяти возможных правильным оказался шестой ответ. :-)
спасибо за замечание, увидела это ранее, но отредактировать не могу. у статьи прошел срок давности.
Как же мало нужно знать аналитику...
Комментарий недоступен
Испорченный телефон какой-то получился: вместо
INNER, JOIN LEFT, JOIN RIGHT, JOIN FULL, JOIN CROSS
должно быть
INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN
Как будто текст не проверил тот, кто знает SQL.
С 9 примером беда ))