Giter Club home page Giter Club logo

querying-data-with-postgresql's Introduction

Запрос данных в PostgreSQL

1: Введение в PostgreSQL

2: Введение в язык запросов SQL

5  SELECT <select_list>  
1  FROM <source_1> AS P
     INNER JOIN <source_2> AS C
     ON <join_on_clause>
2  WHERE <predicate_condition>
3  GROUP BY <group_by_list / GROUPING SETS | CUBE | ROLLUP >
4  HAVING <having_condition>
6  ORDER BY <column(s)_order>
7  LIMIT (number_of_rows);

3: Написание SELECT-запросов

  • Множества и дубликаты: DISTINCT
  • CASE-выражения

4: Запрос данных из нескольких таблиц

  • SQL:89 vs SQL:92
  • JOIN: INNER, OUTER, CROSS
  • Self-join

5: Сортировка и фильтрация данных

  • ORDER BY [ASC, DESC]
  • WHERE + операторы сравнения + предикаты
  • LIMIT, OFFSET-FETCH

6: Встроенные типы данных PostgreSQL

  • Обзор типов данных
  • CAST, оператор ::
  • Типы данных строка, дата-время

7: Использование DML для изменения данных

  • INSERT INTO .. VALUES, INSERT INTO .. SELECT
  • SELECT INTO
  • UPDATE, DELETE
  • MERGE *

8: Использование встроенных функций

  • Обзор: скалярные, агрегирования, оконные
  • Скалярные функции преобразования данных, функции-условия, функции для работы с NULL
  • Тип данных Array

9: Группировка и агрегирование данных

  • Функции агрегирования: COUNT, SUM, AVG, MIN, MAX, STRING_AGG
  • GROUP BY + фильтр HAVING
  • Расширения GROUP BY: GROUPING SETS, CUBE, ROLLUP

10: Использование подзапросов

  • Подзапросы возвращающие скаляр, вектор, таблицу (EXISTS)
  • Простые и корреляционные подзапросы

11: Другие виды SELECT-запросов

  • Создание и использование представлений: CREATE VIEW view_name... SELECT FROM view_name...
  • Использование наследуемых таблиц (derived table): SELECT FROM (SELECT ...)
  • Использование общих табличных выражений (common table expression, CTE): WITH cte_name AS ( SELECT ...)
    -- * Recursive и materialized

12: Использование операторов множеств

  • Объединение (UNION), пересечение (INTERSECT), вычитание (EXCEPT)
  • Табличная инструкция: CROSS (LEFT) LATERAL JOIN ... ON TRUE

13: Использование оконных функций

  • Расчет нарастающих итогов, изменений данных, скользящих средних
  • Функции ранжирования, агрегирования, сдвига и статистические
  • ... OVER (PARTITION BY ... ORDER BY ... ROWS BETWEEN ...)

querying-data-with-postgresql's People

Contributors

lsind avatar

Stargazers

 avatar  avatar

Watchers

 avatar

querying-data-with-postgresql's Issues

Update column orderdate (Sales.Orders): set time

Столбец orderdate типа timestamp таблицы sales.orders содержит информацию о дате оформления заказа - время выставлено в полночь (00:00:00). Требуется обновить этот столбец и заполнить время рандомными значениями, включив потом эти данные в дамп базы.
Например:
2006-07-04 00:00:00 --> 2006-07-04 14:45:50
2006-07-05 00:00:00 --> 2006-07-05 16:30:02
2006-07-08 00:00:00 --> 2006-07-08 11:54:34

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.