Программирование

5 вопросов для интервью Easy SQL из настоящего интервью

..И ответы! Из моего интервью с аналитиком данных в Amdocs!

Интервью SQL. 💯

Ранее в этом году я взял интервью в Amdocs, Индия, на должность аналитика данных и разработчика Power BI. Хотя я не прояснил это, я записал все 5 вопросов, заданных интервьюером.

В следующие 3 минуты вы выучите 5 вопросов SQL, за которыми последуют ответы на них.

Это вопросы из РЕАЛЬНОГО собеседования для должности начального уровня. Итак, вы можете быть готовы к следующему собеседованию в этой области.

🎁 В моем репозитории Github есть множество проектов с ответами для вашей практики. Это может быть дополнительным выводом из этой статьи!

Примечание 1: я использовал SQLite DB Browser ♻️, чтобы ответить на эти вопросы.

Примечание 2. Для этого интервью не было подписано NDA, поэтому я могу написать об этих вопросах.

Интервьюер предоставил мне структуру таблицы, то есть названия столбцов таблицы. Поскольку это было виртуальное собеседование 💻, меня попросили написать SQL-запросы в окне чата.

Чтобы показать здесь, я заполнил таблицу фиктивными данными, как показано ниже.

1. Показать страну и количество различных штатов в стране.

Это было довольно просто, и я тоже понял его правильно.

SELECT Country, count(DISTINCT State)
FROM table1
GROUP BY Country

2. Отображение Имена клиентов, для которых Цена выше, чем средняя Цена для всех клиентов.

Мой подход заключался в использовании подзапроса в предложении HAVING.

SELECT Name, sum(Price)
FROM table1
GROUP BY Name
HAVING sum(Price) > (SELECT avg(Price) FROM table1)

Средняя цена для всех покупателей составила 144,29.

Подробнее об этом подходе вы можете прочитать ниже. ♻️



3. Отображение имени клиента и суммы цены за 2019 год.

Это был простой случай предложений WHERE и GROUP BY

SELECT Name, sum(price)
FROM table1
WHERE strftime('%Y',OrderDate) = "2019"
GROUP BY Name

4. Отобразите 5 самых высоких цен, сгруппированных по годам.

Это хороший вопрос об извлечении свойства даты и времени из столбца «OrderDate».

SELECT strftime('%Y',OrderDate) AS "Year", sum(price)
FROM table1
GROUP by Year
ORDER BY sum(Price) DESC
LIMIT 5

5. Отобразите от 2 до 6 самых высоких цен (оставьте максимальную цену)

В то время я не мог ответить на этот вопрос, насколько мне было известно. Позже я нашел простое решение, как показано ниже.

SELECT Name,
    dense_rank() OVER (ORDER by Price DESC) ranker,
    Price 
FROM (SELECT Name, Price
      FROM table1
      ORDER BY Price
      LIMIT 6)
LIMIT 5

Дополнительная информация об использовании подзапроса в предложении FROM находится здесь. ♻️

Вы можете расширить свои знания SQL с помощью этих статей, связанных с SQL.

Создайте собственную базу данных SQL с помощью Python

Визуализируйте данные SQLite с помощью PowerBI

Лучшие хитрости Python для экономии времени в 2021 году

Теперь вы можете читать все статьи о Medium. Вот как это сделать.

Зарегистрируйтесь здесь и Присоединяйтесь к моим подпискам по электронной почте

стать участником Medium сегодня и получить ⚡ неограниченный ⚡ доступ ко всем историям Medium.

Когда вы зарегистрируетесь здесь и решите стать платным участником Medium, я получу часть вашего членского взноса в качестве вознаграждения.

Спасибо за чтение! И твое время!

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

Заинтересованы в обучении через проекты ??

Посмотрите несколько проектов в моем репозитории Github.