SQL cобеседования
778 subscribers
97 photos
181 links
Подготовка к собеседованиям в IT

Еще больше разобранных вопросов для подготовки на сайте https://frontview-it.ru

Backend - @frontview_backend
Frontend - @frontview_it
Все IT вакансии - @frontview_all_vacancies
Download Telegram
Шифрование данных в SQL используется для защиты конфиденциальной информации, хранящейся в базе данных, путем преобразования данных в зашифрованный формат, который может быть прочитан только с использованием ключа дешифрования. Это достигается с помощью встроенных функций шифрования, таких как TDE (Transparent Data Encryption) для шифрования всего хранилища или функций для шифрования отдельных столбцов, что обеспечивает дополнительный уровень безопасности данных.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Команда UPDATE в SQL используется для изменения существующих записей в таблице базы данных. Она позволяет обновлять одно или несколько полей в одной или нескольких строках.

Синтаксис команды:


UPDATE имя_таблицы
SET имя_столбца1 = новое_значение1, имя_столбца2 = новое_значение2
WHERE условие;


Важный аспект использования UPDATE — это указание условия в блоке WHERE. Без него все записи в таблице будут обновлены, что может привести к нежелательным изменениям.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
DDL (Data Definition Language) используется для определения структуры базы данных, включая создание, изменение и удаление таблиц и схем. DML (Data Manipulation Language) отвечает за операции с данными, такие как вставка, обновление и удаление, тогда как DCL (Data Control Language) управляет доступом к данным, предоставляя или отзывая права пользователей.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
🔳EXPLAIN используется для анализа и оптимизации SQL-запросов, предоставляя информацию о том, как база данных планирует выполнить запрос.

🔲Он показывает детали выполнения, такие как порядок соединений таблиц, использование индексов и оценка затрат, что помогает выявить узкие места в производительности.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
⚡️Триггер — это специальный тип хранимой процедуры, которая автоматически выполняется в ответ на определенные события в базе данных, такие как вставка, обновление или удаление строк в таблице. Триггеры позволяют автоматизировать задачи, обеспечивать целостность данных и реализовывать сложную бизнес-логику на уровне базы данных.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
😎 При выполнении INSERT, индексы замедляют процесс, так как после добавления каждой новой строки необходимо обновить все соответствующие индексы. Это требует дополнительных вычислительных ресурсов и времени.

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

😎 Однако индексы ускоряют операции SELECT, что делает их полезными в ситуациях, где чтение данных преобладает над записью.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Транзакция — это последовательность операций, выполняемых как единое целое, обеспечивающее целостность данных и соблюдение принципов ACID (атомарность, согласованность, изолированность, долговечность). Она гарантирует, что все операции внутри транзакции будут успешно выполнены или ни одна из них не будет применена, предотвращая частичные изменения данных.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
🟥 UNION и UNION ALL — это операторы SQL, используемые для объединения результатов двух или более запросов.

🔸UNION объединяет результаты и удаляет дубликаты, возвращая только уникальные строки. Это полезно, когда требуется получить уникальный набор данных из нескольких таблиц или запросов.

SELECT name FROM employees
UNION
SELECT name FROM managers;


🔸UNION ALL также объединяет результаты, но сохраняет все дубликаты. Это более производительно, так как не требует дополнительной обработки для удаления дубликатов.

SELECT name FROM employees
UNION ALL
SELECT name FROM managers;


😁 Основное отличие: UNION удаляет дубликаты, а UNION ALL — нет.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥21
SQL Server — это реляционная система управления базами данных, разработанная Microsoft, которая используется для хранения, управления и извлечения данных по запросам пользователей. Она поддерживает транзакции, обеспечивает безопасность данных и позволяет выполнять сложные аналитические запросы для бизнес-аналитики и отчетности.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
😎Аутентификация для доступа к базе данных обеспечивает безопасность, требуя проверки подлинности пользователя перед предоставлением доступа.

😎Для настройки аутентификации создается пользователь с уникальными учетными данными. Пример для MySQL:

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; 
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;


😎CREATE USER создает нового пользователя, GRANT назначает права доступа к базе данных, а FLUSH PRIVILEGES обновляет изменения.

😎Использование аутентификации защищает данные от несанкционированного доступа.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍81
Для ограничения результатов подзапроса используется ключевое слово LIMIT, которое указывает максимальное количество строк, возвращаемых подзапросом. В некоторых СУБД, таких как SQL Server, вместо LIMIT используется TOP или FETCH FIRST N ROWS ONLY.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
➡️ Работа с временными зонами в SQL требует использования типа данных TIMESTAMP WITH TIME ZONE. Этот тип данных сохраняет временные метки вместе с информацией о временной зоне.

Пример использования в PostgreSQL:


-- Создание таблицы с временной меткой и временной зоной
CREATE TABLE events (
event_id SERIAL PRIMARY KEY,
event_time TIMESTAMP WITH TIME ZONE
);

-- Вставка данных с указанием временной зоны
INSERT INTO events (event_time) VALUES ('2025-01-01 10:00:00+02');

-- Преобразование временной метки в другую временную зону
SELECT event_time AT TIME ZONE 'UTC' FROM events;


Этот подход позволяет корректно обрабатывать временные данные в разных временных зонах.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
Контейнеризация баз данных позволяет изолировать и управлять средой базы данных, обеспечивая легкость развертывания и консистентность между различными окружениями. Используя инструменты, такие как Docker, можно быстро создавать, масштабировать и тестировать базы данных, упрощая процессы разработки и интеграции.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
Удаление данных из таблицы осуществляется с помощью команды DELETE. Она позволяет удалить одну или несколько строк, соответствующих заданным условиям.

Для удаления всех строк из таблицы используется команда без условия WHERE:


DELETE FROM table_name;


Для удаления конкретных строк необходимо указать условие WHERE:


DELETE FROM table_name WHERE condition;


Важно помнить, что DELETE удаляет данные, но не структуру таблицы. Для полного удаления данных и структуры используется команда DROP.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
Хранимая процедура — это предварительно скомпилированный набор SQL-команд, который хранится в базе данных и может быть выполнен по запросу для выполнения повторяющихся задач. Для создания хранимой процедуры используется команда CREATE PROCEDURE, за которой следует имя процедуры и тело, содержащее SQL-код.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2
📝 Для обновления данных в таблице используется оператор UPDATE. Он позволяет изменить существующие записи на основе заданных условий.


UPDATE employees
SET salary = salary * 1.1
WHERE department = 'Sales';


Этот запрос увеличивает зарплату на 10% для всех сотрудников в отделе продаж.

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

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍101
Работа с многопользовательскими транзакциями требует использования механизмов блокировок и уровней изоляции для предотвращения конфликтов и обеспечения целостности данных. Важно правильно выбирать уровень изоляции, чтобы балансировать между производительностью и консистентностью данных, минимизируя вероятность возникновения таких проблем, как потерянные обновления и фантомные чтения.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
✔️ Представление (view) — это виртуальная таблица, которая упрощает сложные запросы, сохраняя их логику и структуру. Оно позволяет создавать абстракции над базовыми таблицами, облегчая доступ к данным и улучшая читаемость кода.


-- Создание представления для упрощения сложного запроса
CREATE VIEW ActiveUsers AS
SELECT id, username, email
FROM users
WHERE status = 'active';

-- Использование представления в запросе
SELECT * FROM ActiveUsers;


Представления помогают сократить дублирование кода и централизовать логику выборки данных.

Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
Агрегатные функции выполняют вычисления над набором значений и возвращают одно значение, такие как SUM, AVG, COUNT, MIN и MAX. Они часто используются в сочетании с оператором GROUP BY для группировки данных и получения сводной информации из таблиц.

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
При работе с JOIN важно учитывать возможные дубликаты, которые могут возникнуть в результате объединения таблиц. Вот несколько способов обработки таких случаев.

🔴 Первый подход — использование DISTINCT для устранения дубликатов в результатах. Например:

SELECT DISTINCT a.column1, b.column2
FROM table_a a
JOIN table_b b ON a.id = b.a_id;


Этот запрос вернет уникальные комбинации значений из обеих таблиц.

🔴 Второй способ — использовать GROUP BY, если требуется агрегировать данные:

SELECT a.column1, COUNT(b.column2) AS count
FROM table_a a
JOIN table_b b ON a.id = b.a_id
GROUP BY a.column1;


Это позволит получить количество связанных записей без дубликатов.

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

SELECT a.column1, b.column2
FROM table_a a
JOIN (SELECT DISTINCT a_id, column2 FROM table_b) b ON a.id = b.a_id;


Ставь 👍, если было полезно!
Больше ответов на сайте 👈

✈️ SQL собеседования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍122🔥2