SQL и БД Learning – Telegram
SQL и БД Learning
10.2K subscribers
797 photos
9 videos
22 files
445 links
№ 5060218708

Изучаем SQL с нуля

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
#Вопросы_с_собеседования
Как можно оптимизировать выполнение запроса с использованием коррелированного подзапроса, чтобы улучшить производительность на больших объемах данных?


Один из эффективных способов оптимизации — преобразование коррелированного подзапроса в JOIN. Коррелированный подзапрос выполняется для каждой строки внешнего запроса, что может быть неэффективно на больших наборах данных. Использование JOIN позволяет базе данных обрабатывать данные более эффективно, сокращая общее время выполнения за счет однократного выполнения операции соединения и оптимизации плана запроса.
👍4
Оператор OUTER APPLY

Outer
Apply - это оператор, который используется для выполнения левого внешнего соединения и одновременно применения правильного оператора присоединения к каждой строке левой таблицы. Это позволяет выполнять операцию, которая зависит от значений в каждой строке левой таблицы.

Синтаксис оператора OUTER APPLY выглядит следующим образом:

SELECT {выбранные столбцы}
FROM {левая таблица}
OUTER APPLY {правая таблица}
WHERE {условие};

При использовании OUTER APPLY происходит следующее:
- Для каждой строки в левой таблице, оператор OUTER APPLY выполняет операцию, используя значения в этой строке. Если в правой таблице нет строк, которые удовлетворяют условию, то возвращается NULL.
👍12
5 рекомендаций по оптимизации запросов SQL

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

Следовательно, пора избавиться от непродуктивных навыков SQL, а взамен сформировать новые и эффективные. Этим мы сейчас и займемся.

Смотреть статью
👍31
#Вопросы_с_собеседования
Почему важно использовать параметризованные запросы в SQL вместо конкатенации строк при создании динамических запросов?


Использование параметризованных запросов помогает предотвратить SQL-инъекции, которые могут произойти при прямой конкатенации строк для создания динамических запросов. Параметризация обеспечивает соответствующий эскейпинг и обработку входных данных, что делает запросы более безопасными.
👍4
#Вопросы_с_собеседования
Как в SQL можно выполнить самосоединение таблицы без использования ключевого слова JOIN?


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

В этом запросе мы используем синтаксис таблицы "FROM employees a, employees b", который подразумевает декартово произведение, но фильтруем результаты с помощью условия WHERE, чтобы оставить только те строки, где должности совпадают, исключая при этом строки, где сравниваются сами с собой. Это необычный способ выполнения самосоединения, обычно предпочтительнее использовать JOIN для большей читаемости и эффективности.
👍9🔥3
Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

Смотреть статью
👍11🔥2
#Вопросы_с_собеседования
Как вы можете применить оконную функцию и одновременно фильтровать результаты с использованием этой функции без применения подзапроса?


Используйте ключевое слово QUALIFY (в некоторых СУБД, например, в Teradata), которое позволяет фильтровать результаты запроса на основе условий, связанных с оконными функциями.
👍3😱1
SQL Комментарии

SQL Comments
используются для объяснения разделов инструкций SQL или для предотвращения выполнения самих инструкций SQL.
Комментарии не поддерживаются в базе данных Microsoft Access.

Однострочный комментарий

Однострочные комментарии начинаются с --.
Любой текст между -- и концом строки будет игнорироваться (не выполняться).

Многострочные комментарии

Многострочные комментарии начинаются с /* и заканчиваются */.
Любой текст между /* и */ будет игнорироваться.
👍7
SQL в Фокусе: Полное Руководство. 100 ключевых Вопросов с собеседований

Смотреть статью
👍8
SQL_Pandas.pdf
515.4 KB
🖥 Наглядный гайд с функциями от SQL до Pandas
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Сравнение JSONB с hstore

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

Hstore хранит данные в виде одиночных пар, что может быть удобно для простых случаев, но менее мощно для сложных структур.
👍71
This media is not supported in your browser
VIEW IN TELEGRAM
Выполнение побитовых операций над числами из Oracle Database 21c с помощью:

BIT_AND_AGG
BIT_XOR_AGG
BIT_OR_AGG



Преобразование десятичных чисел в двоичные (5 = 101, 6 = 110 и т. д.).
Сравнение значений в каждой битовой позиции
Преобразование результатов обратно в десятичный вид
👍1