🕵♂Использование CROSS JOIN для задач поиска пересечений в исторических данных
🔵 CROSS JOIN (или полное соединение таблиц без условий) — декартова перемножение множеств. Говоря простым языком — для каждого варианта первого множества будет сопоставлены все варианты второго множества.
• Правильное использование этого типа соединения может помочь в решении сложных задач, например, нахождении пересечений в исторических данных.
• Структура таблиц представленных примеров в изображении 1.
📕 Допустим: клиент Сидоров Степан Павлович подал заявку на кредит. На некотором этапе рассмотрения потребовался анализ платежеспособности клиента андеррайтером.
Заявка автоматически распределилась на сотрудника Петрова Екатерина Павловна.
На первый взгляд ничего подозрительного нет — в ФИО людей совпадает только отчество, что является широко распространенной ситуацией.
❗️ Однако, при детальном анализе выясняется, что девичья фамилия андеррайтера и клиента совпадают (Сидорова / Сидоров) изображение 2.
В таком случае заявка клиента должна была распределиться на другого сотрудника, чтобы решение, вынесенное по заявке, было не предвзятым.
• Для решения данной задачи можно использовать простой запрос с CROSS JOIN изображение 3.
➡️ Продолжение
• Правильное использование этого типа соединения может помочь в решении сложных задач, например, нахождении пересечений в исторических данных.
• Структура таблиц представленных примеров в изображении 1.
Заявка автоматически распределилась на сотрудника Петрова Екатерина Павловна.
На первый взгляд ничего подозрительного нет — в ФИО людей совпадает только отчество, что является широко распространенной ситуацией.
В таком случае заявка клиента должна была распределиться на другого сотрудника, чтобы решение, вынесенное по заявке, было не предвзятым.
• Для решения данной задачи можно использовать простой запрос с CROSS JOIN изображение 3.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
SQL Server: GETUTCDATE
GETUTCDATE - это функция даты и времени в SQL Server, которая возвращает текущую дату и время в формате UTC. UTC - это стандартный формат времени, используемый для избежания расхождений часовых поясов и обеспечения согласованности в разных часовых поясах. В отличие от функции GETDATE, которая возвращает текущую локальную дату и время, GETUTCDATE всегда возвращает текущую дату и время в формате UTC.
Как работает GETUTCDATE?
GETUTCDATE - это недетерминированная функция, что означает, что она возвращает разное значение каждый раз при вызове, даже в рамках одного оператора. Она извлекает текущую дату и время из операционной системы сервера, на котором работает SQL Server, а затем преобразует его в формат UTC. Результатом является значение datetime с точностью 3,33 миллисекунды.
GETUTCDATE - это функция даты и времени в SQL Server, которая возвращает текущую дату и время в формате UTC. UTC - это стандартный формат времени, используемый для избежания расхождений часовых поясов и обеспечения согласованности в разных часовых поясах. В отличие от функции GETDATE, которая возвращает текущую локальную дату и время, GETUTCDATE всегда возвращает текущую дату и время в формате UTC.
Как работает GETUTCDATE?
GETUTCDATE - это недетерминированная функция, что означает, что она возвращает разное значение каждый раз при вызове, даже в рамках одного оператора. Она извлекает текущую дату и время из операционной системы сервера, на котором работает SQL Server, а затем преобразует его в формат UTC. Результатом является значение datetime с точностью 3,33 миллисекунды.
👍4❤1
Какое ключевое слово используется для фильтрации значений, полученных в результате применения агрегирующих функций в результатах запроса с использованием GROUP BY?
Anonymous Quiz
11%
WHERE
71%
HAVING
12%
И WHERE, и HAVING
4%
Ни одно из перечисленных
3%
Посмотреть ответ
👍6❤1🎄1
Функции дат и поиска MS Acess
1. Функция Format форматирует значение с указанным форматом.
2. Функция InStr возвращает позицию первого вхождения одной строки в другую.
3. Функция InstrRev работает аналогично функции InStr, но возвращает позицию первого вхождения строки в другую, начиная с конца строки.
1. Функция Format форматирует значение с указанным форматом.
2. Функция InStr возвращает позицию первого вхождения одной строки в другую.
3. Функция InstrRev работает аналогично функции InStr, но возвращает позицию первого вхождения строки в другую, начиная с конца строки.
👍3
Привет, на связи админ! Напишите в комментариях список тем, которые вы бы хотели, чтобы мы рассмотрели в наших постах.
👍1
Простой и эффективный метод удаления дубликатов из таблицы
Предположим, у нас есть простая таблица с двумя столбцами: id – это первичный ключ и v простое целочисленное значение
Приведенный код создает таблицу и вставляет несколько значений. Выведем на экран все строки из нашей тестовой таблицы. Как видите, id имеет уникальные значения, но поле val имеет содержит дубликаты (фото 1).
Наша задача состоит в том, чтобы удалить строки с поввторяющимися значениями в столбце val и сохранить уникальные значения с минимальным значением идентификатора id.
Для начала попробуем найти дубликаты. Мы можем использовать простое LEFT JOIN таблицы самой с собой по полю val с дополнительным условием для предотвращения объединения идентичных строк (для наглядности дадим алиасы для таблицы и копии) (фото 2).
В конечном итоге видно, что уникальные строки с минимальным id имеют (null) в столбцах из copy_tbl. Это происходит потому что для минимального значения id в исходной таблице нет строк соответсвующих условию в таблице копии. Итак, нам нужно оставить строки в которых нет соответствия (уникальные) и удалить. Это можно осуществить следующим запросом (фото 2).
Предположим, у нас есть простая таблица с двумя столбцами: id – это первичный ключ и v простое целочисленное значение
Приведенный код создает таблицу и вставляет несколько значений. Выведем на экран все строки из нашей тестовой таблицы. Как видите, id имеет уникальные значения, но поле val имеет содержит дубликаты (фото 1).
Наша задача состоит в том, чтобы удалить строки с поввторяющимися значениями в столбце val и сохранить уникальные значения с минимальным значением идентификатора id.
Для начала попробуем найти дубликаты. Мы можем использовать простое LEFT JOIN таблицы самой с собой по полю val с дополнительным условием для предотвращения объединения идентичных строк (для наглядности дадим алиасы для таблицы и копии) (фото 2).
В конечном итоге видно, что уникальные строки с минимальным id имеют (null) в столбцах из copy_tbl. Это происходит потому что для минимального значения id в исходной таблице нет строк соответсвующих условию в таблице копии. Итак, нам нужно оставить строки в которых нет соответствия (уникальные) и удалить. Это можно осуществить следующим запросом (фото 2).
👍10
#Вопросы_с_собеседования
Вы работаете с базой данных, где есть табли
Ответ: Можно использовать следующий запрос:
Этот запрос группирует данные по
Вы работаете с базой данных, где есть табли
ца Продажи, включающая поля Дата_продажи, Менеджер_ID, Сумма_продажи. Вам нужно выяснить, есть ли в базе данных дни, когда каждый менеджер совершал хотя бы одну продажу. Какой SQL-запрос вы бы использовали для решения этой задачи?Ответ: Можно использовать следующий запрос:
SELECT Дата_продажи
FROM Продажи
GROUP BY Дата_продажи
HAVING COUNT(DISTINCT Менеджер_ID) = (SELECT COUNT(DISTINCT Менеджер_ID) FROM Продажи);
Этот запрос группирует данные по
Дата_продажи и использует условие HAVING для фильтрации дней, в которые количество уникальных менеджеров, совершивших продажи, равно общему количеству уникальных менеджеров, работающих в компании. Если в компании работают менеджеры, которые не совершали продаж в какой-то из дней, эти дни отфильтровываются.👍16
mysql_cheat_sheet.pdf
347.3 KB
Шпаргалка по MySQL
Шпаргалка по MySQL представляет собой лист со списком наиболее часто встречающихся функций и запросов. В шпаргалку включены список доступных функций, а также форматы данных. Также вы здесь найдете список функций PHP для работы с БД и некоторые примеры запросов.
По бокам шпаргалки расположены наиболее часто используемые функции (математические, дата и время и др.). Наверняка большинство из этих функций вы даже и не знали, либо использовали один-два раза.
Шпаргалка по MySQL представляет собой лист со списком наиболее часто встречающихся функций и запросов. В шпаргалку включены список доступных функций, а также форматы данных. Также вы здесь найдете список функций PHP для работы с БД и некоторые примеры запросов.
По бокам шпаргалки расположены наиболее часто используемые функции (математические, дата и время и др.). Наверняка большинство из этих функций вы даже и не знали, либо использовали один-два раза.
👍9
Как в SQL выбрать все записи из таблицы "Persons", где значение столбца "FirstName" начинается с"a"?
Anonymous Quiz
4%
SELECT * FROM Persons WHERE FirstName='a'
3%
SELECT * FROM Persons WHERE FirstName='%a%'
76%
SELECT * FROM Persons WHERE FirstName LIKE 'a%'
9%
SELECT * FROM Persons WHERE FirstName LIKE '%a'
6%
SELECT * FROM Persons WHERE FirstName STARTSWITH 'a'
2%
Посмотреть ответ
👍8❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3😱1
Для чего в SQL используется оператор PRIVILEGUE?
Anonymous Quiz
18%
Для наделения суперпользователя правами администратора
34%
Для выбора пользователей с последующим наделением их набором определенных прав
47%
Такого оператора не существует
😱7👍3