- Введение
- Последний найденный купон EXCLUSIVE 25% OFF
- Рассчитайте процентный вклад каждого магазина в общий объём продаж
- Найдите второй по стоимости заказ в таблице
- Рассчитайте объём продаж для каждого магазина, учитывая только заказы за 1993 год
- Рассчитайте объём экспорта и импорта для каждой компании
- Определите месяц с наибольшим числом заказов в прошлом году
- Найдите книги, которые не были выпущены в последние шесть месяцев
- Рассчитайте накопленную сумму в столбце «количество» в таблице
- Получите дату последнего заказа для каждого магазина
- Рассчитайте среднюю сумму заказа для каждого месяца в 1993 году
- Найдите магазины, которые продали как минимум 3 товара в мае 1993 года
- Основные концепции и операторы SQL
- Подзапросы
- Группировка и агрегатные функции
- CASE
- Примеры задач среднего уровня
- Определение среднего возраста пользователей по городам
- Вычисление общего количества продаж и общей суммы продаж по категориям товаров
- Решения и объяснения
- Решение задачи 2
- Заключение и дополнительные ресурсы
- Что такое СУБД?
- Что такое SQL?
- Что такое база данных?
- Что такое таблицы и поля?
- Что такое первичный ключ?
- Что такое уникальный ключ?
- Что такое внешний ключ?
- Что такое объединение?
- Какие бывают типы объединений и объясните каждое из них?
- Вопросы для собеседования по SQL для 3-летнего опыта
- Что такое денормализация?
- Какие существуют виды нормализации?
- Что такое представление?
- Что такое индекс?
- Какие существуют типы индексов?
- Что такое курсор?
- Что такое отношения и какие они бывают?
- Что такое запрос?
- Что такое подзапрос?
- Вопросы для собеседования по SQL для 5-летнего опыта
- Что такое хранимая процедура?
- Что такое триггер?
- В чем разница между командами DELETE и TRUNCATE?
- Что такое локальные и глобальные переменные и их различия?
- Что такое ограничение?
- Что такое целостность данных?
- Что такое автоинкремент?
- В чем разница между Cluster и Non-Cluster Индекс?
- Что такое хранилище данных?
- Что такое самостоятельное присоединение?
- Что такое перекрестное соединение?
- Что такое определяемые пользователем функции?
- Каковы все типы пользовательских функций?
- Что такое сопоставление?
- Каковы различные типы чувствительности сопоставления?
- Преимущества и недостатки хранимых процедур?
- Что такое онлайн-обработка транзакций (OLTP)?
- Что такое СТАТЬЯ?
- Что такое рекурсивная хранимая процедура?
- Вопросы для собеседования по SQL для более чем 10-летнего опыта
- Что такое команда ALIAS?
- В чем разница между операторами TRUNCATE и DROP?
- Что такое агрегатные и скалярные функции?
- Как создать пустую таблицу из существующей таблицы?
- Как получить общие записи из двух таблиц?
- Как получить альтернативные записи из таблицы?
- Как выбрать уникальные записи из таблицы?
- Какая команда используется для получения первых 5 символов строки?
- Который operator используется в запросе на сопоставление шаблонов?
- В Чём Отличие Между Командами Delete и Truncate?
- Что Такое SQL Сервер?
- Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
- Что Такое Таблица (Table) и Поле (Field)?
- Что Такое Join?
- Что Такое View?
- Что Такое Constraint?
- Как Вы Отобразите Текущее Время и Дату с Помощью SQL Запроса?
- Что Такое Запрос (Query)?
- Самые трендовые находки
- Самые понравившиеся находки
- Дайте Определение и Объясните Индекс (Index).
- Что Делать, Если Вы Забыли Ваш Пароль Для Root?
- Можете Ли Вы Сказать, Что Значения NULL Равны Нулю?
- Что Необходимо Сделать, Если Диск Данных Переполнен?
- Что Такое Auto Increment?
- Назовите Компоненты, Составляющие Самую Базовую Архитектуру MySQL.
- Создайте Пустую Таблицу Из Существующей.
- Как Получить Текущую Версию SQL?
- Как Бы Вы Получили Альтернативные Нечётные Записи Из Таблицы?
- Выберите Уникальную Запись Из Таблицы.
- Дайте Объяснение Переменным в SQL.
- Что Такое ‘Datawarehouse’?
- Каково Основное Применение Рекурсивных Хранимых Процедур?
- Как Бы Вы Извлекли Первые 3 Символа Из Строки?
- Извлеките Общие Записи Из Двух Таблиц.
Введение
Как ранее упоминалось, это руководство начнётся с самых распространённых вопросов собеседования.
Последний найденный купон EXCLUSIVE 25% OFF
SQL кажется одним из самых быстрорастущих языков программирования (по крайней мере в вопросе популярности), даже несмотря на то, что технически он не является таковым! Как так получилось и почему это происходит? Что же, именно об этом мы и собираемся поговорить – не упустив возможности рассказать про самые популярные SQL задачи, а также вопросы, которые помогут вам успешно пройти SQL собеседование!
В этом руководстве мы собираемся рассказать о всём, начиная с базовых тем и заканчивая более сложными вопросами. Кроме того, вы также узнаете о полезных советах, способных помочь вам как перед, так и во время самого собеседования. Итак, давайте начинать.
В спортивных кругах существуют особые методы тренировок перед соревнованиями. Чем оно ближе, тем меньше становится продолжительность тренировки, но увеличивается интенсивность – по сути, вы будете тренироваться меньше времени, но прилагать за это время больше усилий.
Этот подход идеален не только для спорта, но и для прохождения собеседований или подготовке к экзаменам. Чем ближе собеседование, тем меньше времени вы должны уделять изучению, но ваша концентрация должна быть на максимуме. Это означает, что вы не должны заниматься посторонними вещами, делать долгие перерывы или отвлекаться. Это поможет вам снизить уровень стресса перед собеседованием, без потери уверенности в себе.
Кстати, уверенность является другой темой для обсуждения. Постарайтесь быть уверенным в себе и выглядеть уверенно. Существует определённая разница между тем, что вы говорите о своей опытности в сфере программирования и тем, что вы ведёте себя как самый лучший программист в мире.
Запомните – нельзя достичь многого всего за пару дней. Конечно, будут собеседования, где вы провалитесь, но вы не должны думать об этом лишь как о плохом опыте – чем больше вы проходите собеседований, тем более опытными вы становитесь (узнаёте всё более интересные SQL задачи).
На собеседованиях часто задают вопросы, направленные на оценку способности кандидата работать с данными, писать эффективные запросы и решать сложные и необычные задачи. Поэтому важно хорошо разбираться в SQL и уметь демонстрировать свои навыки в составлении запросов.
В этой статье мы рассмотрим 10 задач, касающихся SQL-запросов, которые часто встречаются на собеседованиях. Ознакомившись с этими задачами и их решениями, вы будете лучше готовы к тому, чтобы продемонстрировать свои навыки работы с SQL и успешно справитесь с будущими собеседованиями.
Рассчитайте процентный вклад каждого магазина в общий объём продаж
SELECT stor_id, SUM(qty) AS total_qty, (SUM(qty) / (SELECT SUM(qty) FROM sales) * 100) AS percentage
FROM sales
GROUP BY stor_id
ORDER BY SUM(qty) DESC;
Найдите второй по стоимости заказ в таблице
Эту задачу можно решить с использованием операторов LIMIT и OFFSET или с помощью подзапроса.
— Использование LIMIT OFFSET
SELECT order_id, price
FROM order_items
ORDER BY price DESC
LIMIT 1 OFFSET 1;
— Использование подзапроса
SELECT MAX(price)
FROM order_items
WHERE price < (SELECT MAX(price) FROM order_items);
— Найти вторую по величине зарплату в таблице
SELECT MAX(salary) AS SecondHighestSalary
FROM Employee
WHERE salary < (SELECT MAX(salary) FROM Employee);
Рассчитайте объём продаж для каждого магазина, учитывая только заказы за 1993 год
— OPTION 1
SELECT stor_id, SUM(CASE WHEN YEAR(ord_date) = 1993 THEN qty ELSE 0 END) AS total_sales
FROM sales
GROUP BY stor_id;
— OPTION 2
SELECT stor_id, SUM(qty)
FROM sales
WHERE YEAR(ord_date) = 1993
GROUP BY stor_id;
Рассчитайте объём экспорта и импорта для каждой компании
Обратите внимание: экспорт — это когда компания является продавцом, а импорт — когда компания является покупателем.
SELECT country,
SUM(CASE WHEN companies.name = trades.seller THEN trades.value ELSE 0 END) AS export,
SUM(CASE WHEN companies.name = trades.buyer THEN trades.value ELSE 0 END) AS import
FROM companies
LEFT JOIN trades ON companies.name = trades.seller OR companies.name = trades.buyer
GROUP BY companies.country
ORDER BY companies.country ASC;
Определите месяц с наибольшим числом заказов в прошлом году
Обратите внимание: DATE_ADD() и DATE_SUB() выполняют операции сложения или вычитания со значениями даты. Например, DATE_SUB(CURRENT_DATE, INTERVAL 3 MONTH) демонстрирует 3 месяца до текущей даты.
Найдите книги, которые не были выпущены в последние шесть месяцев
SELECT title, MONTH(pubdate), pubdate
FROM titles
WHERE pubdate IN (
SELECT pubdate
FROM titles
WHERE pubdate < DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
);
Рассчитайте накопленную сумму в столбце «количество» в таблице
SELECT qty, SUM(qty) OVER (ORDER BY qty) AS cumulative_sum
FROM sales;
Получите дату последнего заказа для каждого магазина
SELECT stor_id, MAX(ord_date) AS most_recent_order
FROM sales
GROUP BY stor_id
ORDER BY most_recent_order DESC;
Рассчитайте среднюю сумму заказа для каждого месяца в 1993 году
SELECT MONTH(ord_date) AS month, AVG(qty)
FROM sales
WHERE YEAR(ord_date) = 1993
GROUP BY month
ORDER BY AVG(qty) DESC;
Найдите магазины, которые продали как минимум 3 товара в мае 1993 года
SELECT stor_id, SUM(qty)
FROM sales
WHERE MONTH(ord_date) = ’05’ AND YEAR(ord_date) = 1993
GROUP BY stor_id
ORDER BY SUM(qty) DESC;
Перевод статьи «10 SQL Interview Coding Questions for Data Analysts and Data Scientists».
Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы
SQL (Structured Query Language) — это язык запросов, используемый для взаимодействия с базами данных. Если вы уже освоили базовые команды SQL, такие как SELECT, INSERT, UPDATE и DELETE, то пора переходить к более сложным задачам. В этой статье мы рассмотрим задачи среднего уровня по SQL, которые помогут вам углубить свои знания и навыки. Эти задачи включают работу с различными типами JOIN, подзапросами, группировкой данных и использованием агрегатных функций, а также условной логикой с помощью оператора CASE.
Основные концепции и операторы SQL
Операторы JOIN позволяют объединять данные из нескольких таблиц. Основные типы JOIN включают:
Подзапросы
Подзапросы — это запросы, вложенные внутри другого запроса. Они могут использоваться в SELECT, INSERT, UPDATE и DELETE операциях. Подзапросы позволяют выполнять сложные операции, такие как фильтрация данных на основе результатов другого запроса.
Группировка и агрегатные функции
Группировка данных с помощью оператора GROUP BY и использование агрегатных функций (SUM, AVG, COUNT, MAX, MIN) позволяют выполнять вычисления на наборах данных. Это полезно для создания отчетов и анализа данных.
CASE
Оператор CASE позволяет выполнять условную логику в запросах SQL, что полезно для создания вычисляемых столбцов и сложных условий. С помощью CASE можно создавать выражения, которые возвращают разные значения в зависимости от условий.
Примеры задач среднего уровня
Описание задачи: Найти сотрудников, которые получают максимальную зарплату в каждом отделе. Эта задача требует использования подзапросов и операторов JOIN для объединения данных из нескольких таблиц.
Определение среднего возраста пользователей по городам
Описание задачи: Определить средний возраст пользователей для каждого города. Эта задача требует использования операторов JOIN и агрегатных функций для вычисления среднего возраста.
Вычисление общего количества продаж и общей суммы продаж по категориям товаров
Описание задачи: Вычислить общее количество продаж и общую сумму продаж для каждой категории товаров. Эта задача требует использования нескольких операторов JOIN и агрегатных функций для вычисления итоговых значений.
Решения и объяснения
SELECT e.name, e.salary, d.name AS department
FROM employees e
JOIN departments d ON e.department_id = d.id
WHERE e.salary = (
SELECT MAX(salary)
FROM employees
WHERE department_id = e.department_id
);
Объяснение: В этом запросе мы используем подзапрос для нахождения максимальной зарплаты в каждом отделе и затем фильтруем сотрудников по этой зарплате. Подзапрос выполняется для каждой строки основной таблицы employees, что позволяет найти максимальную зарплату в соответствующем отделе.
Решение задачи 2
SELECT c.name AS category, SUM(s.quantity) AS total_quantity, SUM(s.total_price) AS total_sales
FROM sales s
JOIN products p ON s.product_id = p.id
JOIN categories c ON p.category_id = c.id
GROUP BY c.name;
Объяснение: В этом запросе мы используем два оператора JOIN для объединения таблиц sales, products и categories. Затем группируем данные по категориям и вычисляем общее количество и сумму продаж с помощью функций SUM. Оператор GROUP BY позволяет группировать данные по столбцу category, а функции SUM вычисляют итоговые значения для каждой группы.
Заключение и дополнительные ресурсы
Эти задачи среднего уровня по SQL помогут вам углубить свои знания и навыки работы с базами данных. Практикуйтесь с различными типами JOIN, подзапросами и агрегатными функциями, чтобы стать более уверенным в написании сложных SQL-запросов. Решение таких задач поможет вам лучше понять, как работают различные операторы и функции SQL, и как их можно комбинировать для решения сложных задач.
Дополнительные ресурсы для изучения:
Продолжайте практиковаться и изучать новые концепции, и вы скоро станете экспертом в SQL! 😉
Вот вопросы и ответы на собеседовании по SQL для новичков и опытных кандидатов, желающих получить работу своей мечты.
Что такое СУБД?
Система управления базой данных (СУБД) — это программа, которая управляет созданием, обслуживанием и использованием базы данных. СУБД можно назвать файловым менеджером, который управляет данными в базе данных, а не сохраняет их в файловых системах.
RDBMS означает систему управления реляционными базами данных. СУБД хранит данные в коллекции таблиц, которая связана общими полями между столбцами таблицы. Он также обеспечивает реляционные operaТоры для манипулирования данными, хранящимися в таблицах.
Что такое SQL?
SQL означает язык структурированных запросов и используется для связи с базой данных. Это стандартный язык, используемый для выполнения таких задач, как поиск, обновление, вставка и удаление данных из базы данных.
Стандарт Команды SQL выбраны.
Что такое база данных?
База данных — это не что иное, как организованная форма данных для легкого доступа, хранения, поиска и управления данными. Это также известно как структурированная форма данных, доступ к которой можно получить разными способами.
Пример: база данных управления школой, база данных управления банком.
Что такое таблицы и поля?
Таблица — это набор данных, организованных в модели со столбцами и строками. Столбцы можно разделить на вертикальные, а строки — на горизонтальные. В таблице указано количество столбцов, называемых полями, но может быть любое количество строк, которое называется записью.
Поле: Идентификатор Emp, Имя Emp, Дата рождения.
Что такое первичный ключ?
A первичный ключ представляет собой комбинацию полей, которые однозначно определяют строку. Это особый вид уникального ключа, который имеет неявное ограничение NOT NULL. Это означает, что значения первичного ключа не могут быть NULL.
Что такое уникальный ключ?
Ограничение уникального ключа уникально идентифицирует каждую запись в базе данных. Это обеспечивает уникальность столбца или набора столбцов.
Ограничение первичного ключа имеет автоматическое уникальное ограничение, определенное для него. Но не в случае с уникальным ключом.
Для каждой таблицы может быть определено множество уникальных ограничений, но для каждой таблицы определено только одно ограничение первичного ключа.
Что такое внешний ключ?
Внешний ключ — это одна таблица, которая может быть связана с первичным ключом другой таблицы. Связь должна быть создана между двумя таблицами путем ссылки на внешний ключ с первичным ключом другой таблицы.
Что такое объединение?
Это ключевое слово, используемое для запроса данных из большего количества таблиц на основе взаимосвязи между полями таблиц. Ключи играют важную роль при использовании JOIN.
Какие бывают типы объединений и объясните каждое из них?
Существуют различные типы объединения который можно использовать для извлечения данных, и это зависит от отношений между таблицами.
Внутреннее соединение возвращает строки, если между таблицами есть хотя бы одно совпадение строк.
Правое соединение возвращает строки, которые являются общими для таблиц и всех строк правой таблицы. Проще говоря, он возвращает все строки из правой таблицы, даже если в левой таблице нет совпадений.
Левое соединение возвращает строки, которые являются общими для таблиц и всех строк левой таблицы. Проще говоря, он возвращает все строки из левой таблицы, даже если в правой таблице нет совпадений.
Полное соединение возвращает строки, если в любой из таблиц есть совпадающие строки. Это означает, что он возвращает все строки из левой таблицы и все строки из правой таблицы.
Вопросы для собеседования по SQL для 3-летнего опыта
Нормализация — это процесс минимизации избыточности и зависимостей путем организации полей и таблиц базы данных. Основная цель нормализации — добавить, удалить или изменить поля, которые можно создать в одной таблице.
Что такое денормализация?
Денормализация — это метод, используемый для доступа к данным из более высоких нормальных форм базы данных в более низкие. Это также процесс введения избыточности в таблицу путем включения данных из связанных таблиц.
Какие существуют виды нормализации?
Нормализация базы данных можно легко понять с помощью тематического исследования. Нормальные формы можно разделить на 6 форм, они описаны ниже.
Нормальные формы базы данных
Это должно удалить все повторяющиеся столбцы из таблицы. Создание таблиц связанных данных и определение уникальных столбцов.
Соответствие всем требованиям первой нормальной формы. Размещение подмножеств данных в отдельных таблицах и создание связей между таблицами с использованием первичных ключей.
Это должно соответствовать всем требованиям 2NF. Удаление столбцов, которые не зависят от ограничений первичного ключа.
Если ни один экземпляр таблицы базы данных не содержит два или более независимых и многозначных данных, описывающих соответствующий объект, то он находится в 4th Нормальная форма.
Таблица находится в 5-й нормальной форме только в том случае, если она находится в 4НФ и ее нельзя разложить на любое количество меньших таблиц без потери данных.
Что такое представление?
Представление — это виртуальная таблица, состоящая из подмножества данных, содержащихся в таблице. Представлений практически нет, и для хранения требуется меньше места. В представлении могут быть объединены данные одной или нескольких таблиц, в зависимости от связи.
Что такое индекс?
Индекс — это метод настройки производительности allo.wing более быстрое извлечение записей из таблицы. Индекс создает запись для каждого значения, поэтому извлечение данных происходит быстрее.
Какие существуют типы индексов?
Существует три типа индексов -.
Эта индексация не позволяет полю иметь повторяющиеся значения, если столбец уникально проиндексирован. Уникальный индекс может применяться автоматически при определении первичного ключа.
Этот тип индекса изменяет физический порядок таблицы и выполняет поиск на основе значений ключей. В каждой таблице может быть только один clusterиндекс изд.
неClustered Index не изменяет физический порядок таблицы и поддерживает логический порядок данных. В каждой таблице может быть 999 неclusterиндексы изд.
Что такое курсор?
Курсор базы данных — это элемент управления, который позволяет перемещаться по строкам или записям таблицы. Это можно рассматривать как указатель на одну строку в наборе строк. Курсор очень полезен для перемещения, например поиска, добавления и удаления записей базы данных.
Что такое отношения и какие они бывают?
Отношения с базой данных определяются как связь между таблицами в базе данных. Существуют различные отношения баз данных, и они заключаются в следующем:
Что такое запрос?
Запрос к БД — это код, написанный для получения информации из базы данных. Запрос можно спроектировать таким образом, чтобы он соответствовал нашим ожиданиям от набора результатов. Просто вопрос к базе данных.
Что такое подзапрос?
Подзапрос — это запрос внутри другого запроса. Внешний запрос называется основным запросом, а внутренний запрос называется подзапросом. Подзапрос всегда выполняется первым, а результат подзапроса передается основному запросу.
Давайте рассмотрим синтаксис подзапроса –
Распространенной жалобой клиентов видеотеки MyFlix является малое количество названий фильмов. Руководство хочет покупать фильмы из категории, в которой наименьшее количество наименований.
Вы можете использовать запрос типа
SELECT category_name FROM categories WHERE category_id =( SELECT MIN(category_id) from movies);
Вопросы для собеседования по SQL для 5-летнего опыта
Существует два типа подзапросов — коррелированные и некоррелированные.
Коррелированный подзапрос не может рассматриваться как независимый запрос, но он может ссылаться на столбец таблицы, указанный в списке FROM основного запроса.
Некоррелированный подзапрос можно рассматривать как независимый запрос, а выходные данные подзапроса подставляются в основной запрос.
Что такое хранимая процедура?
Сохраненная процедура — это функция, состоящая из множества операторов SQL для доступа к системе базы данных. Несколько операторов SQL объединяются в хранимую процедуру и выполняются в любое время и в любом месте.
Что такое триггер?
Триггер БД — это код или программы, которые автоматически выполняются в ответ на какое-либо событие в таблице или представлении в базе данных. В основном триггер помогает поддерживать целостность базы данных.
Пример: Когда в базу данных студентов добавляется новый студент, новые записи должны быть созданы в связанных таблицах, таких как таблицы экзаменов, оценок и посещаемости.
В чем разница между командами DELETE и TRUNCATE?
Команда DELETE используется для удаления строк из таблицы, а предложение WHERE может использоваться для условного набора параметров. Фиксация и откат могут быть выполнены после оператора удаления.
TRUNCATE удаляет все строки из таблицы. Усечь operaцию невозможно откатить назад.
Что такое локальные и глобальные переменные и их различия?
Локальные переменные — это переменные, которые могут использоваться или существовать внутри функции. Они неизвестны другим функциям, и на эти переменные нельзя ссылаться или использовать. Переменные могут создаваться при каждом вызове этой функции.
Глобальные переменные — это переменные, которые могут использоваться или существовать во всей программе. Та же переменная, объявленная в global, не может использоваться в функциях. Глобальные переменные не могут быть созданы при каждом вызове этой функции.
Что такое ограничение?
Ограничение можно использовать для указания ограничения на тип данных таблицы. Ограничение можно указать при создании или изменении оператора таблицы. Пример ограничения.
Что такое целостность данных?
Целостность данных определяет точность и согласованность данных, хранящихся в базе данных. Он также может определять ограничения целостности для обеспечения соблюдения бизнес-правил для данных, когда они вводятся в приложение или базу данных.
Что такое автоинкремент?
Ключевое слово автоматического увеличения позволяет пользователю создать уникальный номер, который будет генерироваться при вставке новой записи в таблицу. Ключевое слово AUTO INCREMENT можно использовать в Oracle и ключевое слово IDENTITY можно использовать в SQL SERVER.
В основном это ключевое слово можно использовать всякий раз, когда используется ПЕРВИЧНЫЙ КЛЮЧ.
В чем разница между Cluster и Non-Cluster Индекс?
ClusterИндекс ed используется для облегчения извлечения данных из базы данных путем изменения способа хранения записей. База данных сортирует строки по столбцу, который установлен как clusterиндекс изд.
Неclustered index не изменяет способ его хранения, а создает в таблице полностью отдельный объект. Он указывает на исходные строки таблицы после se.archiнг.
Что такое хранилище данных?
Datawarehouse — это центральное хранилище данных из нескольких источников информации. Эти данные консолидируются, преобразуются и предоставляются для майнинга и онлайн-обработки. Данные хранилища имеют подмножество данных, называемое витринами данных.
Что такое самостоятельное присоединение?
Самосоединение настроено как запрос, используемый для сравнения с самим собой. Это используется для сравнения значений в столбце с другими значениями в том же столбце в той же таблице. ALIAS ES можно использовать для сравнения одной и той же таблицы.
Что такое перекрестное соединение?
Перекрестное соединение определяется как декартово произведение, в котором количество строк в первой таблице умножается на количество строк во второй таблице. Если предположим, что в перекрестном соединении используется предложение WHERE, тогда запрос будет работать как INNER JOIN.
Что такое определяемые пользователем функции?
Пользовательские функции — это функции, написанные для использования этой логики всякий раз, когда это необходимо. Не обязательно писать одну и ту же логику несколько раз. Вместо этого функцию можно вызывать или выполнять всякий раз, когда это необходимо.
Каковы все типы пользовательских функций?
Три типа определяемых пользователем функций.
Скалярная единица возврата, вариант определяет предложение возврата. Другие два типа возвращают таблицу в качестве возврата.
Что такое сопоставление?
Параметры сортировки определяются как набор правил, которые определяют, как можно сортировать и сравнивать символьные данные. Это можно использовать для сравнения символов A и других языков, а также зависит от ширины символов.
Значение ASCII можно использовать для сравнения этих символьных данных.
Каковы различные типы чувствительности сопоставления?
Фоллоwing различные типы чувствительности сортировки -.
Преимущества и недостатки хранимых процедур?
Хранимая процедура может использоваться как модульное программирование – это означает создание один раз, сохранение и вызов несколько раз, когда это необходимо. Это поддерживает более быстрое выполнение вместо выполнения нескольких запросов. Это снижает сетевой трафик и обеспечивает лучшую безопасность данных.
Недостаток заключается в том, что он может выполняться только в базе данных и использует больше памяти на сервере базы данных.
Что такое онлайн-обработка транзакций (OLTP)?
Онлайн-обработка транзакций (OLTP) управляет приложениями на основе транзакций, которые можно использовать для ввода, извлечения и обработки данных. OLTP делает управление данными простым и эффективным. В отличие от систем OLAP, целью систем OLTP является обслуживание транзакций в реальном времени.
Пример – банковские операции ежедневно.
Что такое СТАТЬЯ?
Предложение SQL определено для ограничения набора результатов путем предоставления условия запросу. Обычно это фильтрует некоторые строки из всего набора записей.
Пример. Запрос с условием WHERE.
Запрос с условием HAVING.
Что такое рекурсивная хранимая процедура?
Хранимая процедура, которая вызывается сама по себе, пока не достигнет некоторого граничного условия. Эта рекурсивная функция или процедура помогает программистам использовать один и тот же набор кода любое количество раз.
Вопросы для собеседования по SQL для более чем 10-летнего опыта
СОЮЗ operaTor используется для объединения результатов двух таблиц и удаляет повторяющиеся строки из таблиц.
МИНУС operator используется для возврата строк из первого запроса, но не из второго запроса. Будут отображены совпадающие записи первого и второго запроса, а также другие строки из первого запроса.yed в результате набор.
ПЕРЕСЕЧЕНИЕ operator используется для возврата строк, возвращаемых обоими запросами.
Что такое команда ALIAS?
Имя ALIAS может быть присвоено таблице или столбцу. На этот псевдоним можно ссылаться в Предложение WHERE для идентификации таблицы или столбца.
Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID
Здесь st относится к псевдониму таблицы учащихся, а Ex относится к псевдониму таблицы экзаменов.
В чем разница между операторами TRUNCATE и DROP?
TRUNCATE удаляет все строки из таблицы, и откат невозможен. Команда DROP удаляет таблицу из базы данных и operaцию невозможно откатить назад.
Что такое агрегатные и скалярные функции?
Агрегатные функции используются для оценки математических вычислений и возврата отдельных значений. Это можно рассчитать по столбцам таблицы. Скалярные функции возвращают одно значение на основе входного значения.
Агрегат – max(), count – рассчитывается относительно числового значения.
Скаляр — UCASE(), NOW() — вычисляется относительно строк.
Как создать пустую таблицу из существующей таблицы?
Примером будет -.
Select * into studentcopy from student where 1=2
Здесь мы копируем таблицу учеников в другую таблицу с той же структурой без копирования строк.
Как получить общие записи из двух таблиц?
Общий набор результатов записей можно получить с помощью -.
Select studentID from student INTERSECT Select StudentID from Exam
Как получить альтернативные записи из таблицы?
Записи могут быть получены как для нечетной, так и для четной строки. numbers -.
Чтобы отобразить даже numbers-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0
Чтобы отобразить нечетное numbers-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1
Как выбрать уникальные записи из таблицы?
Выберите уникальные записи из таблицы, используя ключевое слово DISTINCT.
Select DISTINCT StudentID, StudentName from Student.
Какая команда используется для получения первых 5 символов строки?
Существует множество способов получить первые 5 символов строки.
Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student
Который operator используется в запросе на сопоставление шаблонов?
LIKE operator используется для сопоставления с образцом и может использоваться как -.
Select * from Student where studentname like ‘a%’
Select * from Student where studentname like ‘ami_’
Эти вопросы для собеседования также помогут вам в устной речи.
Срок действия:
03/07/2024
2,765 людей уже воспользовались
В самом начале мы упомянули, что SQL на самом деле не является языком программирования. Тогда, что это за язык?
SQL означает Structured Query Language или же Язык Структурированных Запросов. Его можно назвать языком управления базой данных. Сам по себе он не является языком программирования, но его возможности позволяют расширить его до полноценного языка кодинга – именно поэтому люди часто называют его “языком программирования”.
В Чём Отличие Между Командами Delete и Truncate?
Это самые простые SQL задачи, которые вы только можете встретить.
Основным отличием является то, что команда “delete” удаляет одну строку из таблицы, тогда как “truncate” удаляет их все.
Другим ключевым отличием является то, что когда вы используете “delete” и что-то идёт не так как планировалось, то у вас есть возможность осуществить откат изменений – после выполнения команды “truncate” подобного сделать уже не получится. Хотя есть и определённый плюс, процесс truncate выполняется гораздо быстрее.
Что Такое SQL Сервер?
SQL задачи и вопросы посвящённые SQL серверу обязательно должны быть в вашем собеседовании. Поэтому мы добавили несколько из них в это руководство.
В этот раз всё просто, SQL сервер — это система управления базой данных (DBMS). Она собирает и анализирует информацию, а также обновляет и администрирует базу данных.
Вы когда-либо хотели узнать, какие платформы для онлайн обучения лучше всего подходят для вашей карьеры?
Упражнения по SQL также будут очень часто связаны с MySQL, так как ей часто пользуются различные компании.
MySQL — это система управления базой данных с открытым исходным кодом. Она предоставляет широкий выбор доступных функций и интерфейсов, имеет кросс-платформенную поддержку и обладает полезными инструментами для выполнения любых типов задач.
Что Такое Таблица (Table) и Поле (Field)?
Как вы понимаете, из этих вопросов могут состоять тесты по SQL на собеседовании, так как они требуют лишь знаний терминологии и определений. Таблица является организованными данными, разделёнными на отдельные строки и столбцы. Поле является числом столбцов в таблице.
Что Такое Join?
Команда “join” объединяет строки из различных таблиц. Способ объединения этих строк зависит от связанного с ними столбца, который присоединяется к ним. С помощью этой команды вы можете объединить две таблицы или просто перенести данные из одной таблицы в другую.
Всего существует четыре различных типа команды “join”: inner, full, left и right.
Что Такое View?
“View” является визуальным представлением таблицы. Более того, View может включать в себя и представлять данные нескольких таблиц – это зависит от ситуации и отношений между ними.
Что Такое Constraint?
“Constraint” — это команда, которая используется для выделения и указания определённого типа данных в одной таблице.
Как Вы Отобразите Текущее Время и Дату с Помощью SQL Запроса?
В этой всё просто, но есть более сложные SQL задачи. SQL имеет встроенную команду GetDate(), способную вернуть и показать текущее время и дату.
Денормализация — это процесс, при котором вы обращаетесь к базе данных от высших форм к низшим. Этот процесс выполняется с целью увеличения производительности базы данных.
Что Такое Запрос (Query)?
Подобные вопросы опять же легко могут попасть в тесты по SQL на собеседовании, так как требуют знания терминологии – порой даже очень простой.
Как подразумевает сам термин, запрос является вопросом. Этот вопрос отправляется в базу данных с помощью определённого кода для извлечения из неё какой-либо информации.
Самые трендовые находки
Просмотрите нашу коллекцию самых подробных статей, руководств и учебных пособий по криптообмену. Всегда будьте в курсе дела и принимайте продуманные решения!
Самые понравившиеся находки
Итак, мы наконец закончили с базовыми вопросами по SQL, которые помогут вам понять, какими могут быть тесты по SQL на собеседовании. После этого ваш потенциальный работодатель перейдёт к более серьёзным испытаниям. Продвинутые SQL задачи и вопросы могут стать настоящим испытанием вашим знаниям и навыкам – поэтому стоит тщательно к ним подготовиться.
Дайте Определение и Объясните Индекс (Index).
Индексы являются методами повышения производительности, позволяя извлекать информацию из базы данных с более высокой скоростью и производительностью.
Всего существует три типа индексов – кластеризованные, некластеризованные и уникальные.
Кластеризованные индексы изменяют порядок таблицы и ищут информацию с помощью ключевых значений, тогда как некластеризованные сохраняют порядок таблицы в прежнем состоянии. Уникальные индексы запрещают полям иметь дублирующие значения.
Таблица может иметь только один кластеризованный индекс, но несколько некластеризованных.
Конечно, данный вопрос не настолько сложен, как другие SQL задачи, но сложность здесь заключается в возможностях правильно раскрыть эту тему. Честно говоря, именно это делает многие вопросы более сложными и продвинутыми – работодатель может продолжать задавать уточняющие вопросы до тех пор, пока вы не начнёте путаться и теряться.
Что Делать, Если Вы Забыли Ваш Пароль Для Root?
Если вы забыли или потеряли ваш пароль для рута, то запустите базу данных с командой “skip-grants-table”. После того, как вы установите новый пароль, перезагрузите базу данных в обычном режиме и введите новый пароль.
Можете Ли Вы Сказать, Что Значения NULL Равны Нулю?
Нет, вы не можете.
“Ноль” имеет числовой характер, а NULL означает отсутствие значения, будь оно неизвестно или недоступно. Следуя этой же логике, NULL не то же самое, что и пробел, так как это просто символ.
Что Необходимо Сделать, Если Диск Данных Переполнен?
Вы можете столкнуться с ситуацией, когда вы полностью заполните ваш диск данных. В таком случае работать с базой будет невозможно.
Что Такое Auto Increment?
“Auto increment” или “Поле автоматического приращения” — это команда, позволяющая генерировать и создавать уникальное число для каждой новой записи внутри таблицы.
Это ключевое слово может быть использовано на нескольких платформах, хотя может немного отличаться. Так как вы можете встретить SQL задачи для работы с сервером SQL, то давайте сразу уточним – заменой команды “auto increment” в сервере SQL является “identity”.
Назовите Компоненты, Составляющие Самую Базовую Архитектуру MySQL.
Давайте рассмотрим некоторые вопросы по MySQL, которые также может включать ваше SQL собеседование.
Самый базовый MySQL может состоять из трёх компонентов – оптимизатора запросов, менеджера подключения и подключаемых движков.
Создайте Пустую Таблицу Из Существующей.
Подобные упражнения по SQL встречаются очень часто. Вот пример того, как это сделать:
Select * into employeecopy from employee where 1=2
Как Получить Текущую Версию SQL?
Это звучит как простой вопрос, но многие люди не уделяют этому особого внимания – нужно назвать именно команду.
Получить текущую версию SQL можно с помощью выполнения команды:
Как Бы Вы Получили Альтернативные Нечётные Записи Из Таблицы?
Вы могли бы сделать это с данной командой:
Select employeeId from (Select rowno, employeetId from employee) where mod(rowno,2)=1
Выберите Уникальную Запись Из Таблицы.
Решить подобные SQL задачи можно с помощью выполнения команды “distinct”. Пример:
Select DISTINCT employeeID from Employee
Дайте Объяснение Переменным в SQL.
Вам нужно знать только то, что в SQL существует два различных типа переменных – локальные и глобальные.
Локальные переменные — это те, которые существуют только в одной, единственной функции. В отличие от них, глобальные переменные могут находиться по всей программе.
Что Такое ‘Datawarehouse’?
“Datawarehouse” выполняет похожую на функцию с настоящей “warehouse”, но только с данными.
В “datawarehouse” данные хранятся во множестве различных частей и источниках. Там, они отсортированы и готовы к использованию.
Каково Основное Применение Рекурсивных Хранимых Процедур?
Рекурсивная хранимая процедура — это когда процедура работает над собой до тех пор, пока не достигнет указанной границы.
Главным преимуществом данного типа процедур является то, что они позволяют программистам использовать один и тот же код снова и снова.
Как Бы Вы Извлекли Первые 3 Символа Из Строки?
Существует несколько способов для этого, но самым простым и популярным является этот:
Select SUBSTRING(EmployeeSurname,1,5) as employeesurname from employee
Извлеките Общие Записи Из Двух Таблиц.
Вы можете сделать это с помощью данной команды:
Select employeeID from employee. INTERSECT Select EmployeeID from WorkShift
Итак, теперь вы имеете представление, какие SQL задачи и вопросы вам может преподнести SQL собеседование. Давайте теперь обсудим общие советы для подготовки к собеседованию.
Ни для кого не секрет, что хорошие программисты сейчас востребованным как никогда. Потенциальные работодатели готовы платить огромные деньги тем, кто может доказать свои навыки и знания в сфере программирования.
SQL как раз таки и является одним из самых востребованных языков программирования. Люди ценят простоту языка и возможности его применения в различных областях. Его довольно просто освоить, но он открывает много возможностей для тех, кто по-настоящему станет в нём опытным.
Возвращаясь к теме нашего руководства, существуют различные SQL задачи и вопросы, которые могут встретиться вам на собеседовании. В этом руководстве мы рассказали лишь о некоторых из них – и это лишь верхушка айсберга. Если вы серьёзно настроены на получение работы в этой сфере, то вы должны найти пробелы в своих знаниях и постараться устранить их.
Мы постарались охватить как базовые, так и продвинутые вопросы, которые помогут вам проверить ваши знания. Более того, теперь вы знаете идеальный метод подготовки к будущему собеседованию.
Надеемся, что это руководство было для вас информативным, и вы используете эти знания с умом.
Если вы чувствуете, что ваших знаний пока не хватает для собеседования, то можете попробовать изучить наш Интерактивный SQL учебник.