SQL расшифровывается как структурированный язык запросов. Запрос — это запрос данных из базы данных. Запросы на SQL задаются непосредственно на собеседовании, поскольку они проверяют как ваши практические, так и теоретические знания. В этой статье мы рассмотрим 10 лучших вопросов по SQL-запросам, задаваемых на собеседованиях.
Справочная таблица для вопросов по SQL
QUE-1 Напишите SQL-запрос для получения данных о различных проектах из таблицы EmployeeSalary.
Ans В таблице EmployeeSalary мы видим, что таблица содержит значения проектов, соответствующие каждому сотруднику, или мы можем сказать, что при выборе значений проектов из этой таблицы у нас будут дубликаты значений проектов.
Поэтому мы будем использовать выражение distinct, чтобы получить уникальные значения Project.
SELECT DISTINCT(Project)
FROM EmployeeSalary;
QUE-2 Напишите SQL-запрос для отображения общей зарплаты каждого сотрудника, добавив значение Зарплата к значению Переменная.
Ans Мы можем использовать оператор ‘+’ в SQL.
QUE-3 Напишите SQL-запрос для создания пустой таблицы с той же структурой, что и у другой таблицы.
Ans Запрос, который используется для создания пустой таблицы с той же структурой, что и у другой таблицы, выглядит следующим образом
CREATE TABLE NewTable
SELECT * FROM EmployeeSalary where 1=0;
QUE-4 Напишите SQL-запрос для получения EmpIds, которые присутствуют в обеих таблицах — ‘EmployeeDetails’ и ‘EmployeeSalary’.
Ans С помощью подзапроса
QUE-5 Напишите SQL-запрос для получения позиции заданного символа (символов) в поле.
Ans Можно использовать функцию ‘Instr’
QUE-6 Напишите SQL-запрос для получения всех записей о сотрудниках из таблицы EmployeeDetails, у которых есть запись о зарплате в таблице EmployeeSalary.
Ans С помощью команды Exists
QUE-7 Напишите SQL-запрос для удаления дубликатов из таблицы без использования временной таблицы.
Ans Мы можем использовать delete с псевдонимом и внутренним объединением. Затем проверить равенство всех совпадающих записей и удалить строку с более высоким EmpId.
QUE-8 Напишите SQL-запрос для получения дубликатов записей из EmployeeDetails (без учета первичного ключа — EmpId).
Ans Чтобы найти дубликаты записей из таблицы, мы можем использовать GROUP BY для всех полей, а затем использовать предложение HAVING, чтобы вернуть только те поля, количество которых больше 1, т.е. строки с дублирующимися записями.
QUE-9 Напишите SQL-запрос для отображения EmpId и ManagerId вместе.
Ans С помощью команды CoNCAT
QUE-10 Напишите SQL-запрос для получения общих записей между двумя таблицами.
Ans SQL Server — С помощью оператора INTERSECT.
MySQL — Поскольку в MySQL нет оператора INTERSECT, мы можем использовать подзапрос.
Это конец статьи, посмотрите ссылки на другие вопросы, задаваемые на собеседованиях. Спасибо за чтение:)
Ссылки :
SQL-запросы, задаваемые на собеседовании
Изучите SQL-запросы