Основные концепции SQL
Для чего используется LIKE?
Оператор LIKE в SQL используется для выполнения поиска в текстовых данных с использованием шаблонов. Он позволяет выбирать строки, которые соответствуют определенному шаблону, который может содержать специальные символы, такие как % (заменяющий любое количество символов) и _ (заменяющий один символ). Это полезно для поиска строк с определенными паттернами, например, имена, которые начинаются или заканчиваются определенной последовательностью символов, или содержат определенные символы в середине строки.
Что такое обобщенное табличное выражение (CTE) и как оно используется?
CTE представляет именованный результат запроса, заданный через WITH и доступный внутри одной SQL-команды. Он помогает разбить сложный запрос на части и поддерживает рекурсивные вычисления. CTE не гарантирует ускорение или однократное вычисление: материализация и встраивание в основной запрос зависят от СУБД и плана.
Что представляют собой значения null и NaN, и в чем заключается их различие? Каким образом следует обрабатывать данные с такими типами?
Значения NULL и NaN используются для представления отсутствующих или неопределенных данных.
NULL:
-
В SQL,
NULLиспользуется для обозначения отсутствия значения. -
Он не является нулевым значением, а скорее указывает на отсутствие какого-либо значения.
-
NULLне равен ни одному другому значению, даже самому себе.
NaN (Not a Number):
-
NaNиспользуется в числовых вычислениях, чтобы указать на неопределенный результат или ошибку. -
Он обычно возникает при выполнении некорректных математических операций, таких как деление на ноль или попытка получить квадратный корень отрицательного числа.
Различие между NULL и NaN заключается в их контексте использования: NULL применяется в SQL для обозначения отсутствия значения, в то время как NaN используется в числовых вычислениях для обозначения неопределенного результата.
В чем разница query и key?
В контексте SQL, термины "query" и "key" относятся к разным понятиям:
-
Query (Запрос): Это инструкция или набор инструкций, написанных на языке SQL, которые позволяют выполнить операции с данными в базе данных. Запросы могут включать выборку данных, их вставку, обновление, удаление и множество других операций. Например,SELECT * FROM users;— это запрос на выборку всех данных из таблицы пользователей. -
Key (Ключ): Это атрибут или набор атрибутов в таблице, который помогает SQL-системе быстро и эффективно организовать, доступить и поддерживать целостность данных. Существуют различные типы ключей:-
Primary Key (Первичный ключ): Уникально идентифицирует каждую запись в таблице.
-
Foreign Key (Внешний ключ): Обеспечивает ссылочную целостность между двумя таблицами.
-
Unique Key (Уникальный ключ): Гарантирует, что все значения в столбце уникальны.
-
Таким образом, "query" это команды для работы с данными, а "key" — это элементы структуры базы данных, обеспечивающие управление и целостность данных.
В чем разница между операторами DELETE и TRUNCATE?
Между двумя этими операторами, есть основная разница:
-
DELETEудаляет строки в таблице, одну за другой, и поддерживает транзакции и триггеры. -
TRUNCATE удаляет все строки без WHERE. Возможность отката и работа триггеров зависят от СУБД: в PostgreSQL TRUNCATE транзакционен и может быть отменён через ROLLBACK.