Статьи

Вопросы и ответы по интервью SQL – ULTIMATE List

Это краткое изложение многих важных вопросов, которые могут быть заданы в ходе собеседования, связанного с SQL. Вам не нужно беспокоиться о вашем следующем тесте собеседования, потому что Java Code Geeks здесь для вас! Большинство вопросов, которые вам могут быть заданы, собраны в списке ниже.

SQL-интервью-Вопросы-ответы Термин SQL в основном связан с базой данных в целом. В статье рассматриваются основные понятия SQL, основные запросы SQL и рассматриваются некоторые сложные и сложные запросы SQL. Кроме того, мы также подробно рассмотрим расширенные концепции баз данных, такие как триггеры, функции, представления и процедуры.

Вопросы и ответы рассматриваются с использованием всех возможных деталей, а также содержат запросы по мере необходимости. Это гарантирует, что вы изучите все до мелочей и будете хорошо подготовлены к собеседованию. Для начала рассмотрим основные понятия о SQL. Далее мы перейдем к различным возможным запросам, которые были определены в SQL. Позже мы подробно обсудим некоторые концепции баз данных, чтобы дать представление о сложных операциях с базами данных. В заключение рассмотрим некоторые стандартные функции, которые по умолчанию доступны в SQL.

Содержание

Основы SQL

1. Что означает SQL?

SQL является аббревиатурой от языка структурированных запросов. SQL — это определенный стандарт для создания обычных запросов к базе данных в любой базе данных. Стандарт был определен с целью обеспечения минимального количества изменений при переключении с одной базы данных на другую.

2. Что такое СУБД? Как это связано с SQL?

RDBMS является аббревиатурой для системы управления реляционными базами данных. СУБД содержит реляционную базу данных, которая содержит структурированные данные. Эти структурированные данные могут быть запрошены с использованием некоторых стандартных предопределенных операторов. SQL является стандартом этих предопределенных операторов, называемых запросами.

3. Что такое таблицы в SQL?

Структурированные данные в СУБД хранятся в блоке, называемом таблицей. Таблица представляет собой набор строк, организованных в виде столбцов. Структура таблицы определяется с помощью набора столбцов. Например, таблица User может содержать столбцы user_id, password и email.

4. Что такое типы данных в SQL?

Типы данных столбца указывают тип данных, которые содержит конкретный столбец. Типы данных различаются в разных базах данных в зависимости от того, как они интерпретируют и хранят данные. Таким образом, SQL не определяет какой-либо конкретный стандарт для типов данных.

5. Как вы определяете запись в SQL?

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

6. Каковы различные типы запросов в SQL?

В SQL существует 3 основных типа запросов. Эти типы перечислены и объяснены ниже:

  1. DDL: запрос языка определения данных — это запрос, который определяет структуру и тип данных в таблице. Эти запросы включают запросы CREATE, ALTER и DROP.
  2. DML: запрос языка манипулирования данными — это запрос, который используется для вставки, обновления или удаления данных из таблицы базы данных. Эти запросы включают запросы INSERT INTO, UPDATE, SELECT и DELETE
  3. DCL: запрос языка управления данными — это запрос, который используется для административных целей. Административные задачи включают в себя создание пользователя, разбиение базы данных, предоставление грантов пользователю, назначение ролей пользователю, а также создание пользователей.

7. Как мы выбираем данные из столбцов «username» и «email» из таблицы «users»?

SQL определяет стандартный запрос SELECT для этой цели. Вышеуказанная операция может быть выполнена с использованием следующего запроса:

1
SELECT username, email from users;

8. Что такое предложение в запросе SQL?

Предложение — это часть запроса, которая выполняет различные задачи. Каждое ключевое слово в запросе SQL формирует отдельное предложение. Эти пункты могут быть использованы для таких целей, как:

  • Выбор данных
  • Фильтрация данных
  • Группировка данных
  • Заказ данных

9. Каковы различные типы предложений в SQL?

Доступные предложения в стандартном запросе SQL перечислены ниже:

  • Предложение SELECT : предложение SELECT является наиболее часто используемым предложением, которое потребуется для извлечения данных из базы данных.
  • Предложение FROM : это предложение используется для указания таблиц базы данных, из которых необходимо выбирать записи.
  • Предложение WHERE : это предложение используется для применения фильтра к извлекаемым записям. Предложение WHERE может использоваться для фильтрации записей на основе одного или нескольких полей из одной или нескольких таблиц.
  • Предложение ORDER BY : это предложение, как следует из названия, используется для упорядочения записей, которые извлекаются из базы данных с помощью оператора SQL. Заказ может быть сделан с использованием одного или нескольких столбцов. Может быть в порядке возрастания или убывания. Порядок может быть применен к любому столбцу независимо от того, выбран ли он в предложении SELECT
  • Предложение GROUP BY : Это предложение используется для группировки данных на основе любых конкретных данных столбца из определенной таблицы. Это предложение обычно используется в связи с групповой функцией или объединением.
  • Предложение HAVING . Предложение HAVING определено для манипулирования данными после их выборки. Например, мы сгруппировали данные о сотрудниках по полу и попытались получить количество мужчин и женщин, и нам нужна запись со счетом более 100, этот пункт можно использовать.

10. Можно ли выбрать данные из нескольких таблиц одновременно?

Да. Абсолютно возможно выбрать данные из нескольких таблиц, используя SQL. Это можно сделать несколькими способами. Они включают:

  • СОВМЕСТНЫЕ столы
  • Используйте подзапросы
  • Используйте список таблиц через запятую

11. Что такое JOIN в SQL? Какие бывают типы?

JOIN — это функция, используемая для получения данных из нескольких таблиц путем логического объединения данных путем сопоставления одного или нескольких столбцов каждой таблицы. Существует 4 разных типа JOIN. Они перечислены и объяснены ниже:

  • (INNER) JOIN : возвращает записи, значения которых соответствуют столбцам в обеих таблицах
  • LEFT (OUTER) JOIN : возвращает все записи из левой таблицы, в то время как только сопоставленные записи из правой таблицы
  • RIGHT (OUTER) JOIN : возвращает все записи из правой таблицы и только совпадающие записи из левой таблицы
  • FULL (OUTER) JOIN : возвращать все записи, когда есть совпадение в левой или правой таблице. В таком случае записи умножаются. Например, если в одной таблице 10 записей, а в другой 80 записей, мы получим минимум 80 записей, а максимум 800.

12. Что такое псевдонимы в SQL?

Псевдонимы в SQL используются для предоставления альтернативных имен для столбцов и таблиц в запросах SQL. Псевдонимы помогают разрешить анонимность при попытке объединения таблиц. Если две разные таблицы содержат столбцы с одинаковыми именами, псевдонимы помогают в выборе определенного столбца только в предложении select. Пример запроса с использованием псевдонимов показан ниже.

1
SELECT U.NAME, U.EMAIL FROM USERS U;

Здесь U действует как псевдоним для выбора столбцов. Лучший вариант использования того же самого обсуждается в следующем вопросе.

13. Как мне объединить таблицы, используя имена таблиц через запятую?

Чтобы объединить таблицы, используя только имена таблиц, разделенных запятыми, все, что вам нужно сделать, это получить соответствующие имена таблиц и выполнить запрос, как показано ниже.

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

1
SELECT P.NAME,U.LAST_LOGIN_DATE FROM USERS U, PROFILE P WHERE U.EMAIL = P.EMAIL;

14. Что такое INNER join? Объясните с примером

INNER join используется для объединения записей из двух таблиц с использованием общего столбца данных. Например, в приведенном выше примере таблиц пользователя и профиля пользователя тот же SQL может быть записан в форме INNER join, как показано ниже.

1
2
3
SELECT P.NAME,U.LAST_LOGIN_DATE
FROM Users U
INNER JOIN PROFILE P ON U.EMAIL = P.EMAIL;

15. Что такое ЛЕВОЕ (НАРУЖНОЕ) соединение? Объясните с примером

Соединение LEFT (OUTER) возвращает все записи из левой таблицы, а возвращает только совпадающие записи из объединенной таблицы. Таким образом, для столбцов, для которых данные из объединенной таблицы недоступны, строки остаются пустыми. Вышеуказанное утверждение может быть преобразовано в левое соединение, как показано ниже.

1
2
3
SELECT P.NAME,U.LAST_LOGIN_DATE
FROM Users U
LEFT JOIN PROFILE P ON U.EMAIL = P.EMAIL;

16. Что такое ПРАВИЛЬНОЕ объединение? Объясните с примером

Правое соединение полностью противоположно левому соединению. RIGHT (OUTER) join возвращает все записи из правой таблицы, в то время как возвращает только совпадающие записи из объединенной таблицы. Таким образом, для столбцов, для которых данные из объединенной таблицы недоступны, строки остаются пустыми. Вышеупомянутое утверждение может быть преобразовано в ПРАВИЛЬНОЕ объединение как ниже

1
2
3
SELECT P.NAME,U.LAST_LOGIN_DATE
FROM Users U
RIGHT JOIN PROFILE P ON U.EMAIL = P.EMAIL;

17. Что такое ПОЛНОЕ присоединение? Объясните с примером

FULL join — это комбинация LEFT и RIGHT. Соединение LEFT обеспечивает выборку всех записей левой таблицы, а соединение RIGHT — выборку всех записей правой таблицы. Таким образом, в ПОЛНОМ объединении полученные записи содержат данные из любой таблицы. Если записи совпадают в указанном столбце, они заполняют всю строку данными. Пример полного соединения показан ниже.

1
2
3
SELECT P.NAME,U.LAST_LOGIN_DATE
FROM Users U
FULL OUTER JOIN PROFILE P ON U.EMAIL = P.EMAIL;

18. Как мне вставить запись, используя SQL?

Запись в таблицу SQL вставляется с использованием инструкции INSERT. Рассмотрим таблицу USERS со столбцами — идентификатор, имя, пароль, адрес электронной почты. Чтобы вставить запись в таблицу, стандартный синтаксис оператора INSERT такой, как показано ниже.

1
INSERT into users values (1,'Abhishek','javacodgeeks',abc@javacodegeeks.com');

Вышеуказанная инструкция вставляет запись с данными для всех столбцов. Для большой таблицы часто возникает необходимость вставить запись с данными, доступными для ограниченного числа столбцов. Чтобы вставить такую ​​запись, вам нужно указать столбцы, для которых вставляются данные. Это можно сделать, как показано ниже.

1
INSERT INTO users(id,name,email) values (1,'Abhishek','abc@javacodegeeks.com');

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

19. Как мне обновить запись с помощью SQL?

Чтобы обновить запись, вы можете использовать оператор UPDATE, как показано ниже.

1
UPDATE users set password='java123' where id = 1

Приведенный выше оператор устанавливает значение столбца пароля для пользователя с идентификатором равным 1.

20. Как мне удалить запись с помощью SQL?

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

1
DELETE from users where id=1;

Оператор удаляет запись пользователя с идентификатором 1 из таблицы users.

21. Что такое предложение ORDER BY?

В большой базе данных становится необходимым получать данные в определенном порядке. Предложение ORDER BY используется в сочетании с предложением SELECT, чтобы сделать это возможным. Например, мы хотим отсортировать студентов по проценту, который они набрали. Вы можете использовать запрос, подобный показанному ниже.

1
SELECT name,percentage from results ORDER BY percentage;

Вышеуказанная инструкция сортирует записи в порядке возрастания по умолчанию. Чтобы отсортировать записи в порядке убывания, необходимо desc суффикс desc после имени столбца.

22. Можно ли упорядочить записи по двум столбцам?

Да. Заказать записи можно с помощью двух столбцов. В таком случае записи таблицы упорядочиваются сначала по первому столбцу, а затем упорядочивает записи по вторым столбцам. Таким образом, для сортировки по второму столбцу используется группировка строк, упорядоченная по первому столбцу. Синтаксис такого утверждения показан ниже.

1
SELECT * FROM TABLENAME ORDER BY COLUMN1 COLUMN2;

23. Как вы проверяете записи, не имеющие данных для определенного столбца?

Для проверки таких записей необходимо использовать предложение WHERE, которое проверяет, имеет ли значение столбца значение NULL. Пример того же самого был показан ниже.

1
SELECT * FROM TABLENAME WHERE COLUMN1 IS NULL;

SQL Advanced

24. Что такое функции SQL?

SQL определяет определенные стандартные функции, которые можно использовать для выполнения математических манипуляций. Мало таких функций — МИН, МАКС, СРЕДНЯЯ, СЧЕТЧИК и другие.

25. Какую функцию можно использовать, чтобы найти минимальное и максимальное значение для любого столбца?

Функции MIN и MAX используются для поиска минимального и максимального значения для любого конкретного столбца. Эти функции оценивают все строки и возвращают одно значение в качестве набора результатов. Рассмотрим таблицу результатов учащихся. Давайте найдем максимальные оценки, набранные любым студентом.

1
SELECT MAX(marks) from result;

26. Какую функцию можно использовать, чтобы найти средние оценки, набранные классом?

Функция AVG используется для вычисления среднего значения из определенного столбца. Например, средние оценки класса могут быть рассчитаны, как показано ниже.

1
SELECT AVG(marks) from result;

27. Как я могу получить количество записей в конкретной таблице?

Функция SQL COUNT может использоваться для определения количества записей в любой таблице. Пример SQL для того же самого был показан ниже.

1
SELECT COUNT(1) FROM RESULT;

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

28. Как я могу получить сумму значений определенного столбца?

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

1
SELECT SUM(amount) from sales;

30. Что такое оператор LIKE в SQL?

В SQL мы можем легко проверить, равно ли значение столбца для конкретной записи определенному значению. Например, я хочу найти пользователя с именем Abhishek, я бы использовал предложение WHERE, например, WHERE firstname='Abhishek' . Однако с помощью оператора равенства вы не можете искать всех пользователей, чье имя начинается с «A». Для этого вам нужно использовать оператор LIKE.

31. Что такое подстановочный знак? Как это можно использовать с оператором LIKE?

Подстановочный знак — это символ, который можно приравнять к любому символу. Он используется с LIKE для подстановки совпадений значений. Например, чтобы найти пользователей, чье имя начинается с «A», все, что вам нужно сделать, это добавить суффикс подстановочного знака и использовать предложение LIKE, как показано ниже.

1
SELECT * FROM USERS WHERE firstname like 'A%';

32. Можно ли найти имена, содержащие букву «е», используя SQL-запрос?

Да, это возможно. Чтобы сопоставить значения с одним или несколькими символами между ними, все, что вам нужно сделать, это вставить подстановочный знак с обеих сторон символа. Таким образом, запрос теперь будет написан так, как показано ниже.

1
SELECT * FROM USERS WHERE firstname like '%e%';

33. Что такое оператор IN в SQL?

В SQL оператор IN используется для поиска записей, для которых конкретное значение столбца является из набора значений. Например, я хочу найти список фильмов, относящихся к категориям Romance, Action & Horror. Мы можем написать запрос SQL, как показано ниже.

1
SELECT * FROM MOVIES WHERE CATEGORY IN ('Romance', 'Action', 'Horror');

34. Как мы находим записи, где определенное значение столбца находится в указанном диапазоне?

Чтобы найти такие записи, нам нужно использовать оператор BETWEEN, предоставляемый в SQL. Оператор BETWEEN позволяет вам указать диапазон определенного поля. Например, вы хотите получить список студентов с оценками от 80 до 90, оператор SQL можно записать, как показано ниже.

1
SELECT * FROM results where marks between 80 and 90;

35. Как мы объединяем результаты из нескольких таблиц?

Чтобы получить данные из нескольких таблиц, вам нужно использовать оператор UNION. Этот оператор объединяет строки из обеих таблиц. Пример оператора SQL предоставляется, как показано ниже.

1
2
3
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

Функции и процедуры SQL

36. Как я могу сгруппировать результаты на основе определенного столбца?

Результаты можно сгруппировать с помощью оператора GROUP BY. Оператор GROUP BY позволяет группировать записи на основе значений в определенном столбце. Например, мне нужно количество фильмов из категории Action, SQL можно записать, как показано ниже.

1
SELECT COUNT(1) from movies group by category;

37. Что такое пользовательская функция в SQL?

Функция — это набор операторов, которые могут быть запрограммированы в SQL. Функция позволяет пользователю программировать сложные задачи, такие как создание представления или сводной таблицы. Функции могут храниться в базе данных и использоваться в запросах так же, как AVG, SUM, MIN, MAX, предоставляемые SQL.

38. Каковы различные функции манипулирования регистром в SQL?

Регистр данных может быть изменен в SQL и может быть изменен на прописные, прописные или начальные буквы как прописные в соответствии с необходимостью. Эти преобразования можно выполнить напрямую, используя функции, предоставляемые по умолчанию в SQL. Эти функции описаны ниже.

1
2
3
LOWER('Abhishek') //Converts to Lower case - Output: abhishek
UPPER('Abhishek')//Converts to upper case - Output: ABHISHEK
INITCAP('ABHISHEK')//Converts first letter to uppercase and remaining letters to lower case - Output:Abhishek

39. Как получить уникальный список значений из определенного столбца?

Чтобы получить уникальный список значений, вам нужно использовать оператор DISTINCT. Этот оператор при использовании с конкретным столбцом удаляет дубликаты и предоставляет только уникальные значения. Например, если вы хотите найти список категорий, связанных с доступными фильмами, вы можете написать SQL для того же, как показано ниже:

1
SELECT DISTINCT(CATEGORY) FROM MOVIES;

40. Является ли SQL чувствительным к регистру?

Это общий вопрос почти каждого более свежего разработчика. SQL абсолютно нечувствителен к регистру, когда речь идет о случае предложений и запросов. Тем не менее, он обрабатывает данные с учетом регистра. Следовательно, если вы поместите предложение WHERE с учетом регистра, SQL гарантирует, что с ним позаботятся идеально.

41. Что такое хранимые процедуры?

Хранимая процедура в SQL — это набор предопределенных задач, которые можно выполнить, просто выполнив процедуру. Эти задачи могут включать генерацию отчетов, отправку писем, создание сводки и так далее. Хранимая процедура обычно не поддерживается. Это специфично для определенных баз данных. Базы данных, такие как MySQL и Oracle DB, поддерживают процедуры SQL.

Вывод

Это краткое изложение многих важных вопросов, которые могут быть заданы в ходе собеседования, связанного с SQL. Мы рассмотрели концепции SQL и некоторые сложные и сложные запросы SQL. Мы также подробно рассмотрели расширенные концепции баз данных, такие как триггеры, функции, представления и процедуры.

Итак, теперь вы готовы к собеседованию! Не забудьте проверить раздел « Примеры» !

Если вам понравилось, подпишитесь на нашу новостную рассылку, чтобы получать еженедельные обновления и бесплатные обзоры! Кроме того, ознакомьтесь с нашими курсами для повышения квалификации!

Вы можете оставить свои комментарии, и мы включим их в статью!