SQL и БД Learning
10.5K subscribers
768 photos
9 videos
22 files
429 links
№ 5060218708

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

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

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
DROP VIEW

- это оператор языка SQL, который используется для удаления (удаления) представления базы данных. Представление - это виртуальная таблица, которая не имеет физического существования в базе данных, но может быть использована для упрощения запросов к базе данных.

Чтобы удалить представление, используйте оператор DROP VIEW, за которым следует имя представления, которое нужно удалить. Пример:

DROP VIEW имя_представления;
имя_представления - то, что нужно удалить.

Использование DROP VIEW может быть полезно, если вам больше не нужно определенное представление, и вы хотите освободить место в базе данных. Однако, прежде чем удалить представление, убедитесь, что оно больше не нужно для вашей работы с базой данных.
👍4
MySQL ускорение SQL запросов

Ускорение SQL запросов в MySQL может быть достигнуто следующими способами:

1. Индексы: использование индексов может ускорить поиск и сортировку данных в ваших таблицах.

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

3. Оптимизация запросов: проверьте ваши запросы на оптимизацию, убедитесь, что вы используете правильные операторы JOIN и индексы для улучшения производительности.

4. Кэширование данных: использование кэширования данных может ускорить выполнение повторяющихся запросов.

5. Использование представлений: использование представлений может упростить запросы и улучшить их читаемость.

6. Ограничение размера выборки: используйте оператор LIMIT, чтобы выбрать только необходимые данные, это уменьшит время выполнения запроса.

7. Минимизация дубликатов данных: дубликаты данных могут увеличить размер таблицы и уменьшить производительность запросов. Удаляйте дубликаты данных или используйте оптимизированные структуры данных, такие как нормализованные таблицы.

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

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

10. Использование индексов: используйте индексы, чтобы ускорить поиск данных в таблице. Обеспечьте, чтобы ваши индексы были актуальными и эффективными.
👍3❤‍🔥1
Как получить информацию о структуре БД для документации

Создаём документацию БД и словарь данных информационной системы своими руками. Полезные SQL-скрипты и приемы документирования базы данных

Смотреть статью
👍3❤‍🔥1
DB Fiddle — онлайн-площадка для работы с базами данных SQL

Её можно использовать как своеобразную песочницу для тестирования, отладки и обмена фрагментами SQL. Есть поддержка разных версий MySQL, PostgreSQL и SQLite

Из интересного: к работе над базой можно подключить приятеля — делается это буквально в пару кликов
👍2
SQLGlot - это универсальный инструмент для работы с SQL.

Он может использоваться для форматирования SQL-запросов, а также для трансляции между 20 различными диалектами, включая DuckDB, Presto, Spark, Snowflake и BigQuery.

Более того, при помощи SQLGlot можно проводить оптимизацию SQL-запросов, что повышает их эффективность и быстродействие.
👍2🎄1
#Вопросы_с_собеседования
Объясните разницу между INNER JOIN и LEFT JOIN в SQL и приведите пример ситуации, в которой каждый из них наиболее подходит

INNER JOIN в SQL возвращает строки, когда есть совпадение в обеих таблицах, в то время как LEFT JOIN возвращает все строки из левой таблицы и совпадающие строки из правой таблицы; строки, для которых нет совпадений в правой таблице, будут иметь NULL в этих столбцах. INNER JOIN подходит, когда необходимо найти точные совпадения между таблицами, тогда как LEFT JOIN используется, когда нужно включить все записи из одной таблицы, даже если соответствующих совпадений в другой таблице нет.
👍5
Объяснение Запроса
Подзапрос: Здесь используется подзапрос для выбора CustomerID из таблицы Orders, группируя по CustomerID и применяя условие HAVING COUNT(OrderID) > 2. Это выбирает клиентов, сделавших более двух заказов.

Объединение (JOIN): Основной запрос использует JOIN для соединения таблиц Customers и результата подзапроса по CustomerID.

Условие WHERE: Фильтрация происходит по полю City в таблице Customers, чтобы выбрать только тех клиентов, которые находятся в "New York".


Этот запрос тестирует понимание кандидата в области объединения таблиц, работы с агрегатными функциями и подзапросами, а также фильтрации данных в SQL.
👍4🎄3
#вопросы_с_собеседований
Имеет ли значение порядок колонок в составном индексе?

Да, порядок колонок в составном индексе имеет значение.

Рассмотрим пример:

У нас есть таблица orders с колонками order_id, customer_id, order_date, product_id и quantity. Нам необходимо создать составной индекс для ускорения поиска заказов по customer_id и order_date.

Мы можем создать два индекса:

1. Индекс по (customer_id, order_date)
2. Индекс по (order_date, customer_id)

В первом случае, запросы с условием WHERE customer_id = ? AND order_date = ? будут выполняться быстрее, так как эти колонки находятся в порядке, указанном в индексе.

Во втором случае, запросы с условием WHERE order_date = ? AND customer_id = ? будут выполняться медленнее, так как порядок колонок не соответствует порядку в индексе.

Таким образом, порядок колонок в составном индексе имеет значение и должен соответствовать порядку, в котором используются колонки в запросах.
👍12
#Вопросы_с_собеседования

Опишите различные типы индексов

Есть три типа индексов, а именно:

1. Уникальный индекс (Unique Index): этот индекс не позволяет полю иметь повторяющиеся значения, если столбец индексируется уникально. Если первичный ключ определен, уникальный индекс может быть применен автоматически.
2. Кластеризованный индекс (Clustered Index): этот индекс меняет физический порядок таблицы и выполняет поиск на основе значений ключа. Каждая таблица может иметь только один кластеризованный индекс.
3. Некластеризованный индекс (Non-Clustered Index): не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь много некластеризованных индексов.
👍7
Она снова не ответила? Вот почему твои переписки умирают

— «Привет», «Как дела?», «Что делаешь?», «Почему молчишь?», «Сколько лет?» «Откуда ты?», «Где работаешь?» – серьёзно? 🤦

Добавь сюда кринжовые попытки рассмешить — и вместо свидания ты получишь очередную мертвую переписку или отмазки в духе «устала/заболела/извини, не могу — кошка наблевала».

Проблема в том, что такие фразы не вызывают интереса. Девушка просто не видит в тебе мужчину, с которым стоит продолжать.

Что делать? Использовать проверенную стратегию переписки.
Например: вместо банального «спокойной ночи» — отправь любое сообщение из шаблонов в канале, и ты офигеешь от реакции. Она сама захочет писать первой.

Шаблоны и стратегию ты найдешь в канале Вани Абсента. Он помогает стать магнитом для женщин и построить яркие отношения, которые наполняют и зажигают: @absent

В канале ты найдёшь:

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

👉 Подписывайся — https://t.me/+Ucw58U414pxjMTRi

И действуй, а не смотри, как девушки мечты проходят мимо.
#Вопросы_с_собеседования

Что такое строковые функции в SQL?

Строковые функции SQL используются в основном для обработки строк. Некоторые из широко используемых строковых функций SQL представлены ниже:

• LEN () — возвращает длину значения в текстовом поле.
• LOWER () — преобразует символьные данные в нижний регистр
• UPPER () — преобразует символьные данные в верхний регистр
• SUBSTRING () — извлекает символы из текстового поля.
• LTRIM () — Это удалить все пробелы в начале строки.
• RTRIM () — удалить все пробелы в конце строки.
• CONCAT () — функция Concatenate объединяет несколько символьных строк вместе.
• REPLACE () — для обновления содержимого строки.
👍5
#Вопросы_с_собеседования

Что такое Self JOIN?

Self JOIN
- это выражение используется для того, чтобы таблица объединилась сама с собой, словно это две разные таблицы. Чтобы такое реализовать, одна из таких «таблиц» временно переименовывается.

Например, следующий SQL-запрос объединяет клиентов из одного города:

SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
👍9
#Вопросы_с_собеседования

Выберите из таблицы workers все записи, в которых сумма дня и месяца меньше 10-ти

Ответ на картинке.
👍3
#Вопросы_с_собеседования

Выберите из таблицы workers все записи, в которых сумма дня и месяца меньше 10-ти

Ответ на картинке.
👍5😁1🎄1
#Вопросы_с_собеседования

При выборке из таблицы workers прибавьте к дате 1 день и отнимите 2 часа, 3 минуты

Ответ на картинке.
👍9
Задача

Выбрать все записи из таблицы tbl_name и отсортировать их по полю id в обратном порядке.
👍6😁4