Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 1/19
Кратко:
- Ограничение выборки данных в SQL: оператор LIMIT и оператор OFFSET.
- Оператор LIMIT: ограничение количества строк в запросе.
- Оператор OFFSET: пропуск определенного числа записей перед выборкой.
- Ограничение объема выгрузки данных в запросе: указание конкретных полей после оператора SELECT.
- Порядок полей в запросе важен для выгрузки данных в том же порядке.
- Оператор LIMIT может выгружать записи в разном порядке для ускорения выдачи результата.
- Оператор OFFSET позволяет указать с какой записи начинать выборку.
- Оператор OFFSET самостоятельный: для отображения записей с определенной записи нужно указать только оператор OFFSET без оператора LIMIT.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 2/19
Кратко:
- Ограничение выборки данных в SQL с использованием оператора SELECT.
- Указание названий полей через запятую после SELECT.
- Использование оператора LIMIT для ограничения количества выгружаемых записей.
- Использование оператора OFFSET для пропускания определенного числа записей от начала таблицы.
- Возможность комбинирования операторов LIMIT и OFFSET для более точного ограничения выборки.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 3/19
Кратко:
- Типы данных определяют формат записи информации в памяти и доступные диапазоны значений.
- В PostgreSQL выделяют числовые типы, символьные типы, логические типы, типы для работы с датой и временем, и специализированные типы для конкретных задач.
- Логические типы используются для хранения информации, которая может быть представлена в виде утверждений (TRUE или FALSE).
- В PostgreSQL более 40 типов данных, но не все из них нужны для конкретных задач.
- Числовые типы включают целые и дробные числа, символьные типы включают текст фиксированной и нефиксированной длины, типы для работы с датой и временем включают дату, время, timestamp, date, time, и interval.
- Логические типы включают boolean, TRUE и FALSE.
- Типы данных можно менять при выгрузке, используя оператор CAST.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 4/19
Кратко:
- В PostgreSQL выделяют несколько типов данных, у некоторых типов есть специальные обозначения.
- Числовые типы: integer, real. Символьные типы: character, character varying, text.
- Типы для работы с датой и временем: timestamp without timezone, timestamp with timezone, date, time, interval.
- Логические типы: boolean.
- Чтобы поменять тип данных при выгрузке, используют оператор CAST.
- В выгруженной таблице тип данных поля track_id изменится на varchar, при этом тип данных поля в таблице track останется прежним.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 5/19
Кратко:
- Оператор WHERE используется для ограничения данных в SQL.
- Условия задаются с помощью операторов сравнения: равенство (=), неравенство (<>), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=).
- Сравнение с числовым значением: WHERE поле < 5; сравнение с символьным значением: WHERE поле = 'Иванов'; сравнение с датой или временем: WHERE поле = '2013-07-01'.
- Пример запроса: SELECT * FROM invoice WHERE total >= 1.2
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 6/19
Кратко:
- Оператор WHERE используется для выбора данных по условию.
- В условиях используют операторы сравнения: >, <, >=, <=, =, !=.
- Равенство обозначается знаком =, неравенство - знаками <> или !=.
- Сравнение с числом прописывают просто: WHERE поле < 5.
- Если сравнивают с символьным типом, набор символов берут в одинарные кавычки: WHERE поле = 'Иванов'.
- Это правило касается даты и времени: WHERE поле = '2013-07-01'
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 7/19
Кратко:
- ER-диаграмма помогает разобраться в структуре базы данных.
- Диаграмма отображает отношения таблиц в базе данных.
- Специалист часто держит диаграмму базы данных под рукой для удобства.
- Помимо диаграммы, специалист часто работает с описанием базы данных.
- В курсе представлены таблицы и их поля, которые могут быть полезны в последующих уроках.
- В самостоятельных проектах могут встречаться задания без названий конкретных полей и таблиц, для которых нужно сверяться с ER-диаграммой и описанием базы данных.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 8/19
Кратко:
- Сложные задачи требуют сложных условий для среза данных.
- Для таких задач используют логические операторы AND, OR и NOT.
- Оператор AND применяется, если данные должны соответствовать всем условиям.
- Оператор OR применяется для выбора данных, удовлетворяющих одному из условий.
- Оператор NOT применяется для отбора данных, не удовлетворяющих определенному условию.
- Правила действия логических операторов: AND возвращает TRUE, если оба значения TRUE; OR возвращает TRUE, если хотя бы одно значение TRUE; NOT меняет значение выражения на противоположное.
- Условия с оператором AND имеют больший приоритет, чем условия с оператором OR.
- Приоритет операторов можно управлять с помощью скобок.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 10/19
Кратко:
- Специальные операторы упрощают отбор данных в полях разных типов.
- Оператор IN позволяет фильтровать данные по списку значений.
- Оператор LIKE используется для поиска данных по шаблону.
- Оператор BETWEEN позволяет искать значения в диапазоне.
- Значения даты указываются в одинарных кавычках.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 11/19
Кратко:
- Оператор IN используется для фильтрации данных по нескольким значениям в скобках.
- Оператор LIKE применяется для фильтрации данных по шаблону с использованием знака процента для обозначения позиции шаблона в строке.
- Оператор BETWEEN используется для выбора значений из определенного диапазона, границы которого указываются через оператор BETWEEN.
- Начало и конец диапазона включаются в условие.
- Промежуток времени можно указать с помощью BETWEEN для числовых типов данных.
- Запрос с оператором BETWEEN для промежутка времени может выглядеть следующим образом: SELECT last_name FROM staff WHERE birth_date BETWEEN '1970-01-01' AND '1970-12-31'.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 12/19
Кратко:
- В PostgreSQL есть несколько операторов для работы с датой и временем: CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP.
- Функция DATE_TRUNC "усекает" дату и время до необходимого значения: года, месяца или дня.
- Функция EXTRACT используется для получения конкретной части даты: год, месяц или минуту.
- Типы date и time автоматически переведут в timestamp with time zone, но время может сместиться из-за часового пояса.
- Функции DATE_TRUNC и EXTRACT возвращают данные разных типов: timestamp without timezone, timestamp with timezone, interval или numeric.
- Тип numeric используется для вещественных чисел с большим диапазоном и большей точностью.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 14/19
Кратко:
- NULL - специальное значение в SQL, обозначающее отсутствие данных.
- NULL не равно ничему и не может быть сравнен с другими значениями.
- Для работы с NULL используются операторы IS NULL и IS NOT NULL.
- NULL может быть использован для фильтрации данных в запросах.
- Пропуски в данных могут быть аномалиями, которые требуют особого внимания и обработки.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 15/19
Кратко:
- NULL в SQL обозначает пропуск и требует использования специальных операторов IS NULL и IS NOT NULL для проверки и работы с данными.
- NULL нельзя проверить с помощью операторов = и <>, как это возможно с другими значениями.
- Условие WHERE fax IS NULL охватывает все записи с пропусками в поле fax.
- Условие WHERE fax IS NOT NULL выбирает записи без пропусков.
- ER-диаграмма в PDF-формате с описанием таблиц доступна для просмотра в соседней вкладке.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 16/19
Кратко:
- Оператор CASE используется для разделения данных на категории в SQL.
- Синтаксис условных конструкций в SQL включает начало конструкции с оператором CASE, условие, результат и оператор END.
- Оператор WHERE не подходит для разделения данных на категории, так как он не может учитывать несколько условий одновременно.
- CASE позволяет разделить заказы на категории, такие как "маленький", "средний" и "крупный".
- Условия в запросе проверяются по порядку, и если одно из них выполнено, соответствующий результат выводится сразу.
- Если значение в проверяемом поле не удовлетворяет ни одному условию, результатом будет NULL.
- Условную конструкцию можно дополнить выражением с оператором ELSE для указания результата на случай, если ни одно условие не выполнено.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 17/19
Кратко:
- К сожалению, статья не подходит для суммаризации, так как она состоит из одного предложения и указания на практику с оператором CASE.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 18/19
Кратко:
- Ограничение выборки с помощью операторов LIMIT и OFFSET.
- Получение среза данных с помощью WHERE и логических условий.
- Обработка пропущенных значений NULL.
- Работа с датой и временем.
- Создание нового поля по заданному условию с помощью CASE.
Спринт 13/24 → Тема 2/9: Срезы данных в SQL → Урок 19/19
Проверочные задания