uk
Feedback
SQL и БД Learning

SQL и БД Learning

Відкрити в Telegram

№ 5060218708 Изучаем SQL с нуля По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning

Показати більше
9 725
Підписники
-124 години
-77 днів
-4130 день
Архів дописів
🕵‍♂Использование CROSS JOIN для задач поиска пересечений в исторических данных 🔵 CROSS JOIN (или полное соединение таблиц б
🕵‍♂Использование CROSS JOIN для задач поиска пересечений в исторических данных 🔵 CROSS JOIN (или полное соединение таблиц без условий) — декартова перемножение множеств. Говоря простым языком — для каждого варианта первого множества будет сопоставлены все варианты второго множества. Правильное использование этого типа соединения может помочь в решении сложных задач, например, нахождении пересечений в исторических данных. Структура таблиц представленных примеров в изображении 1. 📕 Допустим: клиент Сидоров Степан Павлович подал заявку на кредит. На некотором этапе рассмотрения потребовался анализ платежеспособности клиента андеррайтером. Заявка автоматически распределилась на сотрудника Петрова Екатерина Павловна. На первый взгляд ничего подозрительного нет — в ФИО людей совпадает только отчество, что является широко распространенной ситуацией. ❗️ Однако, при детальном анализе выясняется, что девичья фамилия андеррайтера и клиента совпадают (Сидорова / Сидоров) изображение 2. В таком случае заявка клиента должна была распределиться на другого сотрудника, чтобы решение, вынесенное по заявке, было не предвзятым. Для решения данной задачи можно использовать простой запрос с CROSS JOIN изображение 3. ➡️ Продолжение

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

Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов Читать статью

🖥 Как работает CASE SQL Оператор CASE в SQL используется для создания условий, когда нужно выполнить различные операции в зависимости от значения столбца или выражения. Оператор CASE может быть использован в двух форматах: CASE без ELSE: SELECT column1, CASE WHEN column2 = 'value1' THEN 'result1' WHEN column2 = 'value2' THEN 'result2' END AS column3 FROM table; В этой форме оператора CASE используется блок WHEN для проверки значения столбца column2. Если значение равно value1, то будет возвращено значение result1. Если значение равно value2, то будет возвращено значение result2. Если значение не соответствует ни одному из условий, то для столбца column3 будет возвращено значение NULL. CASE с ELSE: SELECT column1, CASE column2 WHEN 'value1' THEN 'result1' WHEN 'value2' THEN 'result2' ELSE 'result3' END AS column3 FROM table; В этой форме оператора CASE используется значение столбца column2 в блоке CASE. Если значение равно value1, то будет возвращено значение result1. Если значение равно value2, то будет возвращено значение result2. Если значение не соответствует ни одному из условий, то будет возвращено значение result3. Оба формата оператора CASE могут использоваться в запросах на выборку данных в SQL. Они позволяют создавать условия, когда нужно выполнить различные операции в зависимости от значения столбца или выражения.

🖥 Как в sql посчитать количество повторяющихся значений Можно попробовать использовать функцию COUNT() в сочетании с оператором GROUP BY. Предположим, у нас есть таблица "orders" с колонками "customer_name" и "order_date", и мы хотим посчитать, сколько заказов было сделано каждым клиентом. Мы можем написать следующий SQL-запрос: SELECT customer_name, COUNT(*) as order_count FROM orders GROUP BY customer_name Этот запрос выберет все уникальные значения из колонки "customer_name" в таблице "orders" и подсчитает количество строк, связанных с каждым уникальным значением. Результатом запроса будет таблица со столбцами "customer_name" и "order_count", в которой каждая строка будет показывать клиента и количество его заказов.

#Вопросы_с_собеседования ❓Выберите из таблицы workers все записи за вторник Ответ на картинке.
#Вопросы_с_собеседования ❓Выберите из таблицы workers все записи за вторник Ответ на картинке.

#Вопросы_с_собеседования Какие бывают типы подзапросов? Существует два типа подзапросов, а именно: коррелированные и некоррелированные. • Коррелированный подзапрос: это запрос, который выбирает данные из таблицы со ссылкой на внешний запрос. Он не считается независимым запросом, поскольку ссылается на другую таблицу или столбец в таблице. • Некоррелированный подзапрос: этот запрос является независимым запросом, в котором выходные данные подзапроса подставляются в основной запрос.

#Вопросы_с_собеседования ❓При выборке из таблицы workers запишите год, месяц и день в отдельные поля с помощью EXTRACT Ответ
#Вопросы_с_собеседования ❓При выборке из таблицы workers запишите год, месяц и день в отдельные поля с помощью EXTRACT Ответ на картинке.

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

#Вопросы_с_собеседования Какие ещё ограничения вы знаете, как они работают и указываются? SQL-ограничения (constraints) указываются при создании или изменении таблицы. Это правила для ограничения типа данных, которые могут храниться в таблице. Действие с данными не будет выполнено, если нарушаются установленные ограничения. • UNIQUE — гарантирует уникальность значений в столбце; • NOT NULL — значение не может быть NULL; • INDEX — создаёт индексы в таблице для быстрого поиска/запросов; • CHECK — значения столбца должны соответствовать заданным условиям; • DEFAULT — предоставляет столбцу значения по умолчанию.

Функция SUBDATE() Функция SUBDATE() вычитает интервал времени/даты из даты, а затем возвращает дату. В нашем примере функция
Функция SUBDATE() Функция SUBDATE() вычитает интервал времени/даты из даты, а затем возвращает дату. В нашем примере функция вычитает 10 дней из даты и возвращает измененную дату. Синтаксис: SUBDATE(date, INTERVAL value unit) или SUBDATE(date, days).

Функция FIND_IN_SET() Функция FIND_IN_SET() возвращает положение строки в списке строк. Подробнее ознакомиться с функцией мож
Функция FIND_IN_SET() Функция FIND_IN_SET() возвращает положение строки в списке строк. Подробнее ознакомиться с функцией можно здесь.

#Вопросы_с_собеседования ❓Как GROUP BY обрабатывает значение NULL? Ответ: При использовании GROUP BY все значения NULL считаются равными.

#Вопросы_с_собеседования Какие параметры используются в конструкции order by? ASC и DESC

Можно ли поменять тип данных поля в уже существующей таблице?
Anonymous voting

JOIN (соединение таблиц) невозможно осуществить в запросе без:
Anonymous voting

Столкнулись с падением производительности базы данных? Не делайте резких движений: вы можете ухудшить ситуацию. Сначала нужно
Столкнулись с падением производительности базы данных? Не делайте резких движений: вы можете ухудшить ситуацию. Сначала нужно верно диагностировать причину проблемы. Возможно вы неправильно выбрали индексы, а быть может дело вообще в самой архитектуре БД – вариантов масса! На открытом вебинаре «Как ускорить работу и повысить надёжность PostgreSQL» вы узнаете: 🎯как обеспечить высокую производительность и отказоустойчивость базы данных 🎯как вовремя выявить деградацию производительности с помощью диагностики Вебинар проведёт Дмитрий Золотов, Kotlin-разработчик в «Яндексе». Приглашаем технических руководителей, админов БД, девопсов и разработчиков. Все участники получат в подарок видеоурок «Безопасность в PostgreSQL: защита данных, управление доступом и аудит» и скидку 7% на любой курс OTUS. 6 мая, 19:00 МСК Бесплатно Записаться - https://otus.pw/llV1/ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFG4V2Nk

Какое утверждение НЕ соответствует приведенному запросу: SELECT cust_name, cust_state, (SELECT COUNT(*) FROM Orders WHERE Orders.cust_id = Customers.cust_id) AS orders FROM Customers Order BY cust_name DESC
Anonymous voting

Что покажет следующий запрос: SELECT CONCAT(`index`," ", `city`) AS delivery_address FROM Orders;
Anonymous voting

В чем разница между условиями WHERE и HAVING при использовании GROUP BY?
Anonymous voting