Джек Дорси про алгоритмы лент
Новая Tesla Model Y
Подарить Plus
Редизайн ya.ru
Goku+ от TikTok
Альтман про Маска
Оживление фото LumaAI
«Умная» лампа Pixar
Роботы копируют людей
Генератор дипфейков от TikTok

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 (Сотрудники)

20 вопросов и задач по SQL на собеседовании с ответами

Positions (должности)

20 вопросов и задач по SQL на собеседовании с ответами

Написать запрос, чтобы получилась таблица вида:

20 вопросов и задач по SQL на собеседовании с ответами

Ответ:

SELECT persons.id, name, title AS pos_title FROM persons INNER JOIN positions ON persons.pos_id=positions.id;

2) Дана пустая таблица publisher с колонками id и name. На id стоит автоинкремент, а Синтаксис name имеет тип varchar(40). Какие из следующих запросов корректно отработают:

  1. INSERT INTO publisher (name) VALUES ('OREILLY');
  2. INSERT INTO publisher (name) VALUES ('О Reilly');
  3. INSERT INTO publisher (name) VALUES ('O'Reilly');
  4. INSERT INTO publisher (name) VALUES ('O-Reilly');

Ответ:

1, 2, 4

3) Результат объединения запросов выведет все значения из таблицы tab?

SELECT * FROM tab WHERE b = 'a' UNION SELECT * FROMtabWHEREb <> 'a'
  1. Да
  2. Нет

Ответ:

2

4) С помощью какого update-запроса можно обновить значения более чем одной колонки?

  1. UPDATE table_name SET col1_name = 'col1val', col2_name = 'col2val';
  2. UPDATE table_name SET col1_name = 'col1val' AND SET col2_name = 'col2val';
  3. UPDATE table_name SET col1_name = 'col1val' SET col2_name = 'col2val';
  4. Одним запросом можно обновить не более одной колонки

Ответ:

1

5) Дана таблица PERSONS:

20 вопросов и задач по SQL на собеседовании с ответами

Каков будет результат выполнения следующего запроса:

SELECT AVG(Age) FROM Persons
  1. 150
  2. 75
  3. UNKNOWN, поскольку присутствует NULL
  4. Запрос не выполнится (завершится ошибкой), поскольку присутствует NULL
  5. 100

Ответ:

5

6) Нарастающий итог

Есть таблица transactions в таком виде:

20 вопросов и задач по SQL на собеседовании с ответами

Где cash_flow — это выручка минус затраты за каждый день.

Нужно написать запрос, чтобы получить нарастающий итог для денежного потока каждый день таким образом, чтобы в конечном итоге получилась таблица в такой форме:

20 вопросов и задач по SQL на собеседовании с ответами

Ответ:

SELECT date, cash_flow, SUM(cash_flow) OVER (ORDER BY date ASC) AS cumulative_cf FROM transactions;

7) Дана таблица CARS:

20 вопросов и задач по SQL на собеседовании с ответами

Каким будет результат следующего запроса:

SELECT COUNT (DISTINCT color) FROM cars
  1. red blue null
  2. 3
  3. 2 1 1
  4. 2

Ответ:

4

8) Даны две таблицы:

EMPLOYEES:

20 вопросов и задач по SQL на собеседовании с ответами

TASK:

20 вопросов и задач по SQL на собеседовании с ответами

Таблица EMPLOYEES имеет поле CURRENT_TASK_ID, которое является внешним ключом и ссылается на поле TASK_ID таблицы TASKS. Вывести список, состоящий из имен всех имеющихся сотрудников и их текущих занятий.

  1. SELECT NAME, COMMENT FROM EMPLOYEES LEFT JOIN TASKS ON CURRENT_TASK_ID = TASK_ID
  2. SELECT NAME, COMMENT FROM EMPLOYEES, TASKS WHERE CURRENT_TASK_ID = TASK_ID
  3. SELECT NAME, COMMENT FROM EMPLOYEES, TASKS WHERE JOB_ID = TASK_ID
  4. SELECT NAME, COMMENT FROM EMPLOYEES RIGHT JOIN TASKS ON CURRENT_TASK_ID = TASK_ID

Ответ:

1

9) Имеется таблица WOMEN

20 вопросов и задач по SQL на собеседовании с ответами

Сколько строк вернет запрос

SELECT * FROM Women WHERE Score >= ALL (SELECT Score FROM Women WHERE FirstName='Eva');
  1. Запрос содержит ошибку и не выполнится
  2. 2
  3. 1
  4. 3
  5. 4

Ответ:

6

10) Какая ошибка в этом запросе?

UPDATE books SET sales_1999 > (SELECT SUM(qty * price) FROM sales WHERE sales.book_id = books.id AND sales.date BETWEEN '01/01/1999' AND '12/31/1999')
  1. Вы не можете использовать арифметические операторы для функции SUM() (например SUM(qty * price))
  2. Следует использовать знак (=) для подзапроса
  3. Вы не можете использовать подзапрос для SET внутри оператора UPDATE
  4. Ключевое слово BETWEEN нельзя использовать для символов или дат

Ответ:

2

Удачи на собеседованиях!

В своем канале Аналитика и Growth mind-set я публикую еще больше тестовых с собеседований.

1717
реклама
разместить
22 комментария

Девушка,спасибо Вам огромное за такую замечательную статью❤️

5

Спасибо за эту веселую и поучительную (я понял какой результат у оконной функции) статью. Особенно повеселил девятый вопрос, в котором из пяти возможных правильным оказался шестой ответ. :-)

5

спасибо за замечание, увидела это ранее, но отредактировать не могу. у статьи прошел срок давности.

Как же мало нужно знать аналитику...

3

Комментарий недоступен

Испорченный телефон какой-то получился: вместо
INNER, JOIN LEFT, JOIN RIGHT, JOIN FULL, JOIN CROSS
должно быть
INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, CROSS JOIN
Как будто текст не проверил тот, кто знает SQL.

3
Раскрывать всегда
Пять нейросетей, которые помогут разобраться в теме и проанализируют десятки источников

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

Чат-бот составил план SEO-оптимизации из шести пунктов для сайта по ссылке
33
33
11
11
11
реклама
разместить
Нематериальная мотивация работает лучше, чем материальная. Как построить сильную команду

Иногда людям нужно дать то, чего они действительно хотят. И эта история не про деньги.

Нематериальная мотивация работает лучше, чем материальная. Как построить сильную команду
1313
22
11
Цены в Египте 2025: реальный взгляд на жизнь для россиян

Переезд из России в Египет стал для меня не только началом новой жизни, но и настоящим финансовым открытием. Конечно, при планировании долгосрочного пребывания важно понимать, как изменятся расходы на повседневные нужды. Поэтому я решила поделиться своим опытом и рассказать о ценах в Египте в 2025 году.

11
Два способа заработать выше рынка, в найме. Пошаговая инструкция с гарантиями.

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

Два способа заработать выше рынка, в найме. Пошаговая инструкция с гарантиями.
66
22
11
Уволился и открыл бизнес по перетяжке мебели, 50-60 клиентов в месяц. Но экс-босс объявил на меня охоту..
***
2424
88
11
Кликбейт. Какую охоту босс объявил? Накинул пару отзывов негативных? Историю высосали из пальца с кликбейтом. Не делайте так
Как бренды становятся своими в соцсетях: когда юмор заменяет тысячу рекламных бюджетов

Знаете, что общего между вашим корешом и крутым брендом? Они не пытаются продать вам что-то в лоб. Вместо этого они шутят, подкалывают и иногда отправляют мемчики и видосики, от которых вы орёте прям в голосину. Как российские компании, включая «Авиасейл», превратили свои соцсети в стендап-площадки, а подписчиков — в фанатов.

Как бренды становятся своими в соцсетях: когда юмор заменяет тысячу рекламных бюджетов
77
22
Кейс: Как турагенту масштабировать бизнес и внедрить депозитную систему работы?

Приветствую!
Меня зовут Юлия Сташенко — директор агентства ST-Digital.
В феврале 2022 года Василя, опытный русскоязычный турагент из Германии, обратилась к нам за помощью в ведении Instagram и масштабировании бизнеса. На старте у неё было около 2 000 подписчиков, основной задачей было увеличение числа заявок и внедрение депозитной системы для работ…

Трамп-ралли №2, крах доллара, ключ на 21 навсегда. Облигации, крипта, дивиденды. Воскресный инвестдайджест

Интересная выдалась неделька. Переговоры о переговорах запустили вторую часть Трамп-ралли, но неопределённость и высокая ключевая ставка сдерживают рост. Эльвира Сахипзадовна сохранила ключ на 21, но сказала на всякий случай, что умеет считать и дальше. Потихоньку просыпаются дивиденды после спячки, но сильнее всех удивил рубль. Он сделал доллару н…

Трамп-ралли №2, крах доллара, ключ на 21 навсегда. Облигации, крипта, дивиденды. Воскресный инвестдайджест
1717
11
11
11
[]