Поиск по сайту:

Вопросы и ответы на собеседовании по SQL


Вопросы на собеседовании по SQL задают почти на всех собеседованиях, потому что операции с базами данных очень распространены в приложениях. SQL расшифровывается как Structured Query Language, который представляет собой язык программирования для предметной области, используемый для связи с базами данных и управления реляционными базами данных. SQL состоит из стандартных команд для взаимодействия с базой данных, таких как SELECT, INSERT, CREATE, DELETE, UPDATE, DROP и т. д. С их помощью пользователь может извлекать и загружать данные из баз данных, создавать и удалять элементы таблиц, а также осуществлять динамическое взаимодействие между базами данных. сервера и программы.

Вопросы для интервью по SQL

Что такое SQL?

SQL — это предметно-ориентированный язык программирования, который позволяет вам запрашивать и обрабатывать данные в системах управления базами данных, организованных оптимизированным образом и с категоризацией. Это возможно благодаря реализации команд в SQL, которые позволяют читать, записывать, выбирать и удалять записи или даже столбцы одного и того же атрибута или таблиц. SQL также предоставляет очень эффективный способ создания динамического доступа между вашими программами, веб-сайтами или мобильными приложениями к базе данных. Например, при вводе ваших данных для входа на веб-сайте пользователя эта информация журнала передается в базу данных с помощью SQL для проверки и ограничения пользователей.3. ### В чем разница между базой данных и реляционной базой данных?

База данных или система управления базами данных (СУБД) и система управления реляционными базами данных (СУБД) используются SQL для хранения данных и структур. Тем не менее, каждый тип системы управления базами данных предпочтителен для различных целей. Основное различие между ними заключается в том, что СУБД сохраняет вашу информацию в виде файлов, тогда как RDMS сохраняет вашу информацию в табличной форме. Кроме того, как подразумевает ключевое слово «реляционная», RDMS позволяет различным таблицам иметь отношения друг с другом с использованием первичных ключей, внешних ключей и т. д. Это создает динамическую цепочку иерархии между таблицами, которая также предлагает полезные ограничения для таблиц. СУБД сортирует свои таблицы с помощью иерархического или навигационного метода. Это полезно, когда речь идет о хранении данных в таблицах, которые не зависят друг от друга, и вы не хотите изменять другие таблицы, пока таблица заполняется или редактируется. ### Какова базовая структура SQL?

SQL основан на структуре реляционных операций. Он основан на определенных модификациях и улучшениях. Очень простая форма SQL-запроса:

select A1, A2, ..., An

from R1, R2, ..., Rm

where P

Здесь An — атрибуты, Rm — отношения внутри базы данных, а P — предикат или фильтр.7. ### Какие существуют категории команд SQL?

Команды SQL делятся на следующие четыре категории:

  • DML (язык манипулирования данными), предоставляющий функции манипулирования данными.
  • DDL (язык определения данных), который используется для управления структурами базы данных
  • TCL (язык управления транзакциями), который отвечает за проверку транзакций данных и обработку ошибок.
  • DCL (язык управления данными) — это заявления о безопасности, в которых указаны ограничения пользователей и разрешения на доступ к данным для обеспечения безопасности ваших данных.

Для чего используется SQL?

SQL используется и популярен среди серверных программистов благодаря своей способности очень быстро и легко обрабатывать большое количество записей в базе данных. Это открывает большие возможности для улучшения поиска и обработки данных. Чтобы пояснить это, SQL предоставляет возможность выполнять, извлекать, вставлять, обновлять, удалять записи в базе данных и из нее. Это также позволяет создавать структуры, такие как таблицы, представления и базы данных, при условии, что дано уникальное имя.10. ### Определение ключевых слов SELECT, INSERT, CREATE, DELETE, UPDATE, DROP

  • Ключевое слово SELECT используется для выделения и получения записей в строках из таблиц или представлений. Он также может сопровождаться ключевым словом AS для предоставления псевдонима. Чтобы отфильтровать оператор SELECT, можно включить предложение WHERE, чтобы предоставить условия фильтрации и выбрать только нужные записи, которые удовлетворяют условию.
  • INSERT позволяет добавить или вставить строку или несколько строк в таблицу базы данных. В сопровождении ключевого слова VALUES позволяет добавить строку с определенными значениями. INSERT также может сопровождаться SELECT для вставки предварительно выбранной строки.
  • CREATE — это ключевое слово, используемое для создания элементов в SQL. Обычно он сопровождается ключевым словом, которое необходимо создать, например CREATE DATABASE, CREATE TABLE, CREATE VIEW и т. д.
  • Ключевое слово DELETE используется для удаления записей в базе данных. Вы всегда должны использовать его осторожно, чтобы избежать нежелательной потери данных. Вы можете удалить записи, которые не хотели удалять. Используйте предложение WHERE, чтобы указать диапазон записей, которые вы хотите удалить.
  • Ключевое слово UPDATE обновляет или изменяет существующие данные в существующей записи. Обязательно обратите внимание, что запись должна существовать.
  • Ключевое слово DROP удаляет или удаляет таблицу в базе данных.

Каковы основные различия между SQL и P/L SQL?

SQL или язык структурированных запросов — это язык, который используется для связи с реляционной базой данных. Он предоставляет способ манипулирования и создания баз данных. С другой стороны, PL/SQL — это диалект SQL, который используется для расширения возможностей SQL. Он был разработан корпорацией Oracle в начале 90-х годов. Он добавляет процедурные возможности языков программирования в SQL.13. ### Что такое язык определения данных?

DDL или язык определения данных относится к командам SQL, непосредственно влияющим на структуру базы данных. DDL — это категория классификаций команд SQL, которая также включает DML (язык манипулирования данными), транзакции и безопасность. Особым атрибутом команд DDL являются операторы, которые могут манипулировать индексами, объектами, таблицами, представлениями, триггерами и т. д. Три популярных ключевых слова DDL в SQL:

  1. CREATE – which is used to create a table

    CREATE TABLE tableName (name data_type);
    
  2. ALTER – used to modify entries or existing columns within a table.

    ALTER TABLE tableName [additional syntax such as ADD, DROP, MODIFY]
    
  3. DROP – used to Delete or Drop an existing table along with its entries, constraints, triggers, indexes, and permissions. Essentially deletes the table.

    DROP TABLE tableName;
    
  4. What is Data Manipulation Language?

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

  • SELECT – used to highlight a row within a table and retrieve it.

    SELECT [columnName] FROM [tableName]
    
  • UPDATE – used to update entries from existing tables.

    UPDATE [tableName] SET [value]
    
  • INSERT – used to insert entries into an existing table.

    INSERT INTO [tableName]
    
  • DELETE – used to delete entries from an existing table

    DELETE FROM [tableName]
    

Что такое язык управления транзакциями (TCL)?

TCL — это категория команд SQL, которая в основном имеет дело с транзакциями базы данных и точками сохранения. Эти ключевые слова реализуют функции и логику SQL, определенные разработчиком, в структуру и поведение базы данных. Примерами этих команд TCL являются: COMMIT — используется для подтверждения транзакции ROLLBACK — при любом появлении ошибки откат транзакции вызывается этим ключевым словом. SAVEPOINT – ключевое слово, обозначающее точку возврата при откате. SET TRANSACTION – задает особенности транзакции19. ### Что такое язык управления данными (DCL)?

Язык управления данными или DCL наблюдает за предоставлением доступа и ограничений пользователям, включая права и разрешения, требуемые в операторах SQL. Примеры ключевых слов DCL: GRANT — ключевое слово DCL, которое предоставляет пользователям доступ к определенным базам данных. REVOKE — напротив ключевого слова GRANT. Отменяет или отзывает привилегии, данные пользователю.20. ### Определение таблиц и полей в базе данных

С точки зрения баз данных таблица называется расположением организованных записей. Далее он делится на ячейки, которые содержат разные поля строки таблицы. Поле относится к структуре данных, представляющей один элемент записи. Затем они дополнительно организованы в записи. Они практически содержат один фрагмент данных. Они являются основной единицей распределения памяти для данных и доступны.21. ### Какие бывают типы ключей в SQL?

Ключи — важная функция RDMS. По сути, это поля, которые связывают одну таблицу с другой и способствуют быстрому извлечению и регистрации данных за счет управления индексами столбцов. Существуют следующие типы ключей: Первичный ключ — уникальный ключ, идентифицирующий записи в таблицах базы данных. Под уникальным это означает, что он не должен быть нулевым и должен быть уникальным в таблице. Ключ кандидата — уникальное поле, которое идентифицирует столбец или группу столбцов независимо, без какой-либо обязательной ссылки на другие поля. Альтернативный ключ — может использоваться вместо первичных ключей, но считается вторичным. Разница в том, что альтернативные ключи могут иметь значение Null при условии, что в столбцах есть данные. Тип потенциального ключа, который также должен быть уникальным. Уникальный ключ — ключи, предлагающие ограничения для предотвращения дублирования данных в строках, за исключением пустых записей. Другими доступными ключами являются внешние ключи, суперключи и составные ключи.22. ### Назовите различные типы индексов в SQL и определите их.

Уникальный индекс: предотвращает дублирование записей в столбцах с уникальным индексом. Они генерируются автоматически, если первичный ключ доступен. Кластеризованный индекс: используется для организации или редактирования расположения внутри таблицы по отношению к значению ключа. Каждой таблице разрешено иметь только один кластеризованный индекс. Некластеризованный индекс. И наоборот, некластеризованный индекс управляет только порядком логики внутри записей. Он не управляет расположением, и таблицы могут иметь несколько некластеризованных индексов.26. ### В чем разница между SQL и MySQL?

SQL, что означает стандартный язык запросов, представляет собой серверный язык программирования, обеспечивающий взаимодействие с полями и столбцами базы данных. Хотя MySQL — это тип системы управления базами данных, а не фактический язык программирования, а точнее RDMS или система управления реляционными базами данных. Однако MySQL также реализует синтаксис SQL.27. ### Что такое ключевое слово UNION и UNION ALL в SQL и в чем их различия?

Оператор UNION в SQL объединяет несколько наборов, выделенных в операторах SELECT. Ограничения набора: (1) номер столбца должен быть идентичным, (2) типы данных в наборе должны быть одинаковыми, и (3) порядок столбца, выделенного в операторе SELECT, должен быть одинаковым. Он автоматически удаляет повторяющиеся строки в результатах, выделенных в операторе SELECT. UNION ALL выполняет ту же функцию, что и UNION, но включает все, включая повторяющиеся строки.

SELECT C1, C2 FROM T1
UNION
SELECT Cx, Cy FROM T2;

Какие существуют типы соединений в SQL?

Ключевое слово join запрашивает записи из нескольких таблиц. Он используется с разными ключами для поиска этих записей и учитывает связь между полями.

Внутреннее соединение: возвращает строки, которые являются общими для таблиц. Правое соединение: возвращает строки правой таблицы, включая общие строки. Левое соединение: возвращает строки левой таблицы, включая общие строки. Полное соединение: возвращает все строки, независимо от того, общие они или нет. Что такое нормализация и денормализация?

Нормализация упорядочивает существующие таблицы и их поля в базе данных, что приводит к минимальному дублированию. Он используется для максимального упрощения таблицы при сохранении уникальных полей. Денормализация позволяет извлекать поля из всех нормальных форм в базе данных. Что касается нормализации, то она делает обратное и вносит в таблицу избыточность.32. ### Когда мы можем использовать предложение WHERE и предложение HAVING?

Оба предложения принимают условия, которые используются в качестве основы для получения полей. Разница в том, что предложение WHERE используется только для статических неагрегированных столбцов, а предложение HAVING — только для агрегированных столбцов.

select order_id, SUM(sale_amount) as TotalSale 
from SalesData 
where quantity>1 
group by order_id 
having SUM(sale_amount) > 100;

В чем разница между UNION, MINUS и INTERSECT?

Ключевое слово UNION используется в SQL для объединения нескольких запросов SELECT, но удаляет дубликаты из набора результатов. Ключевое слово INTERSECT используется только для извлечения общих строк с помощью запросов SELECT между несколькими таблицами. Ключевое слово MINUS фактически выполняет вычитание между двумя запросами SELECT. Результатом является разница между первым запросом и вторым запросом. Любая строка, общая для обоих наборов результатов, удаляется из окончательного вывода.35. ### Как выбрать 10 записей из таблицы?

MySQL: использование предложения limit, например select * from Employee limit 10; Oracle: использование предложения ROWNUM, например SELECT * FROM Employee WHERE ROWNUM < 10; SQL Server: использование предложения TOP , пример ВЫБЕРИТЕ ТОП 3 * ОТ Сотрудника;39. ### Как вы можете поддерживать целостность вашей базы данных в случаях, когда удаление элемента в таблице приводит к удалению элемента(ов) в другой таблице?

Это возможно путем вызова триггера SQL, который отслеживает любые элементы, удаленные из таблицы A, и удаляет соответствующие связанные элементы из таблицы B.40. ### Как происходит копирование данных из таблицы A в таблицу B?

INSERT INTO TableB (columnOne, columnTwo, columnThree, ...)

SELECT columnOne, columnTwo, columnThree, ...

FROM TableA

WHERE added_condtion;

В чем разница между предложением IN и EXISTS?

Очевидная разница между ними заключается в том, что ключевое слово EXISTS выполняется относительно быстрее, чем ключевое слово IN. Это связано с тем, что ключевое слово IN должно выполнять поиск по всем существующим записям, в то время как ключевые слова EXISTS автоматически останавливаются при обнаружении соответствующей записи. Кроме того, оператор IN работает с набором результатов, тогда как ключевое слово EXISTS работает с виртуальными таблицами. В этом контексте оператор IN также не работает с запросами, связанными с виртуальными таблицами, в то время как ключевое слово EXISTS используется для связанных запросов.43. ### Что означает аббревиатура ACID в управлении базами данных?

Акроним ACID расшифровывается как атомарность, согласованность, изоляция и долговечность. Это свойство в первую очередь отвечает за целостность процессов системы баз данных. Это означает, что все, что пользователь отправляет в базу данных как транзакцию данных, должно быть выполнено полностью, точно и иметь свойство устойчивости.44. ### Что такое триггер в SQL?

Триггер базы данных — это программа, которая автоматически запускается в ответ на какое-либо событие в таблице или представлении, например вставка/обновление/удаление записи. В основном триггер базы данных помогает нам поддерживать целостность базы данных.45. ### Что такое функция автоинкремента в SQL?

Автоинкремент позволяет пользователю создать уникальный номер, который будет генерироваться всякий раз, когда в таблицу вставляется новая запись. AUTO INCREMENT — это ключевое слово для Oracle, AUTO_INCREMENT в MySQL, а ключевое слово IDENTITY можно использовать в SQL SERVER для автоматического увеличения. В основном это ключевое слово используется для создания первичного ключа для таблицы.46. ### Что такое сопоставление?

Сопоставление — это, по сути, набор правил сравнения и сортировки символов, расширенный до строк. Сортировка в MSSQL и MySQL работает практически одинаково, за исключением некоторых параметров сортировки, таких как UTF-8. Помимо обычного посимвольного сравнения, сопоставление может также сортировать и сравнивать строки с точки зрения представления ASCII.47. ### Что такое рекурсивная хранимая процедура?

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

Ответом является оператор LIKE. Оператор LIKE используется для сопоставления с образцом и может использоваться как -.

  • % — соответствует нулю или более символов.
  • _(Подчеркивание) — соответствует только одному символу.

Что такое Hibernate и его связь с SQL?

Hibernate — это инструмент объектно-реляционного сопоставления в Java. Hibernate позволяет нам писать объектно-ориентированный код и внутренне преобразовывать его в собственные SQL-запросы для выполнения в реляционной базе данных. Hibernate использует свой собственный язык, такой как SQL, который называется Hibernate Query Language (HQL). Разница в том, что HQL хвастается возможностью запрашивать объекты сущностей Hibernate. Он также имеет объектно-ориентированный язык запросов в Hibernate, который называется Criteria Query. Это оказывается очень полезным и полезным для разработчиков, которые в основном используют объекты в своих интерфейсных приложениях, и Criteria Query может обслуживать эти объекты, даже добавляя функции, подобные SQL, такие как безопасность и ограничение доступа.52. ### Как мы можем решить ошибку SQL: ORA-00904: неверный идентификатор?

Эта ошибка обычно появляется из-за синтаксических ошибок при вызове имени столбца в базе данных Oracle, обратите внимание на идентификатор ORA в коде ошибки. Убедитесь, что вы ввели правильное имя столбца. Кроме того, обратите особое внимание на псевдонимы, поскольку именно они упоминаются в ошибке как недопустимый идентификатор.53. ### Что такое SQL Profiler?

SQL Profiler — это графический пользовательский интерфейс, который позволяет разработчикам баз данных контролировать и отслеживать действия ядра базы данных. Он включает в себя регистрацию активности для каждого происходящего события и обеспечивает анализ сбоев и несоответствий. По сути, это диагностическая функция в SQL, которая отлаживает проблемы с производительностью и предоставляет более универсальный способ увидеть, какая часть вашего файла трассировки вызывает засорение ваших транзакций SQL.54. ### Как связать базу данных SQL с существующим приложением для Android?

Для их связи потребуется драйвер JDBC (Java Database Connectivity). Кроме того, вы должны добавить соответствующие зависимости в файл build.gradle вместе с разрешениями и грантами.

Ссылка: Википедия