Какое ключевое слово используется для фильтрации значений, полученных в результате применения агрегирующих функций в результатах запроса с использованием 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
#Вопросы_с_собеседования
Как можно оптимизировать выполнение запроса с использованием коррелированного подзапроса, чтобы улучшить производительность на больших объемах данных?
Один из эффективных способов оптимизации — преобразование коррелированного подзапроса в JOIN. Коррелированный подзапрос выполняется для каждой строки внешнего запроса, что может быть неэффективно на больших наборах данных. Использование JOIN позволяет базе данных обрабатывать данные более эффективно, сокращая общее время выполнения за счет однократного выполнения операции соединения и оптимизации плана запроса.
Как можно оптимизировать выполнение запроса с использованием коррелированного подзапроса, чтобы улучшить производительность на больших объемах данных?
Один из эффективных способов оптимизации — преобразование коррелированного подзапроса в JOIN. Коррелированный подзапрос выполняется для каждой строки внешнего запроса, что может быть неэффективно на больших наборах данных. Использование JOIN позволяет базе данных обрабатывать данные более эффективно, сокращая общее время выполнения за счет однократного выполнения операции соединения и оптимизации плана запроса.
👍4
Оператор OUTER APPLY
Outer Apply - это оператор, который используется для выполнения левого внешнего соединения и одновременно применения правильного оператора присоединения к каждой строке левой таблицы. Это позволяет выполнять операцию, которая зависит от значений в каждой строке левой таблицы.
Синтаксис оператора OUTER APPLY выглядит следующим образом:
SELECT {выбранные столбцы}
FROM {левая таблица}
OUTER APPLY {правая таблица}
WHERE {условие};
При использовании OUTER APPLY происходит следующее:
- Для каждой строки в левой таблице, оператор OUTER APPLY выполняет операцию, используя значения в этой строке. Если в правой таблице нет строк, которые удовлетворяют условию, то возвращается NULL.
Outer Apply - это оператор, который используется для выполнения левого внешнего соединения и одновременно применения правильного оператора присоединения к каждой строке левой таблицы. Это позволяет выполнять операцию, которая зависит от значений в каждой строке левой таблицы.
Синтаксис оператора OUTER APPLY выглядит следующим образом:
SELECT {выбранные столбцы}
FROM {левая таблица}
OUTER APPLY {правая таблица}
WHERE {условие};
При использовании OUTER APPLY происходит следующее:
- Для каждой строки в левой таблице, оператор OUTER APPLY выполняет операцию, используя значения в этой строке. Если в правой таблице нет строк, которые удовлетворяют условию, то возвращается NULL.
👍12
5 рекомендаций по оптимизации запросов SQL
Также как небольшие улучшения повышают качество запросов, так и мелкие некорректные навыки могут снизить качество и понятность кода в долгосрочной перспективе.
Следовательно, пора избавиться от непродуктивных навыков SQL, а взамен сформировать новые и эффективные. Этим мы сейчас и займемся.
Смотреть статью
Также как небольшие улучшения повышают качество запросов, так и мелкие некорректные навыки могут снизить качество и понятность кода в долгосрочной перспективе.
Следовательно, пора избавиться от непродуктивных навыков SQL, а взамен сформировать новые и эффективные. Этим мы сейчас и займемся.
Смотреть статью
👍3❤1
#Вопросы_с_собеседования
Почему важно использовать параметризованные запросы в SQL вместо конкатенации строк при создании динамических запросов?
Использование параметризованных запросов помогает предотвратить SQL-инъекции, которые могут произойти при прямой конкатенации строк для создания динамических запросов. Параметризация обеспечивает соответствующий эскейпинг и обработку входных данных, что делает запросы более безопасными.
Почему важно использовать параметризованные запросы в SQL вместо конкатенации строк при создании динамических запросов?
Использование параметризованных запросов помогает предотвратить SQL-инъекции, которые могут произойти при прямой конкатенации строк для создания динамических запросов. Параметризация обеспечивает соответствующий эскейпинг и обработку входных данных, что делает запросы более безопасными.
👍4