PostgreSQL - Выражения
Выражение - комбинация одного или нескольких значений, операций и функций, которые определяются, как значения.
Выражения PostgreSQL похожи на формулы и записываются на языке запросов. Вы можете использовать их для запроса определенного набора данных из базы данных.
Синтаксис
Базовый синтаксис для SELECT выглядит следующим образом:
SELECT column1, column2, columnN FROM table_name WHERE [CONDITION | EXPRESSION];
Существуют разные типы выражений PostgreSQL, которые перечислены ниже.
Логическое выражение
Логические выражения PostgreSQL извлекают данные на основе совпадения одного значения. Ниже приведен синтаксис:
SELECT column1, column2, columnN FROM table_name WHERE SINGLE VALUE MATCHTING EXPRESSION;
Рассмотрим таблицу COMPANY:
testdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
Вот простой пример, показывающий использование логических выражений PostgreSQL:
testdb=# SELECT * FROM COMPANY WHERE SALARY = 10000;
Результат будет следующим:
id | name | age | address | salary ----+-------+-----+----------+-------- 7 | James | 24 | Houston | 10000 (1 row)
Числовое выражение
Эти выражения используются для выполнения любой математической операции в любом запросе. Ниже приведен синтаксис:
SELECT numerical_expression as OPERATION_NAME [FROM table_name WHERE CONDITION] ;
В данном случае numerical_expression используется для математического выражения или любой формулы. Ниже приведен простой пример использования числового выражения:
testdb=# SELECT (15 + 6) AS ADDITION ;
Результат будет следующий:
addition
----------
21
(1 row)
Существует несколько встроенных функций, таких как avg(), sum(), count() для выполнения так называемых агрегированных вычислений данных по таблице или определенному столбцу таблицы.
testdb=# SELECT COUNT(*) AS "RECORDS" FROM COMPANY;
Результат будет следующим:
RECORDS
---------
7
(1 row)
Выражения даты
Выражения даты возвращают текущие системные значения даты и времени, и эти выражения используются в различных операциях с данными.
testdb=# SELECT CURRENT_TIMESTAMP;
Результат будет следующим:
now
-------------------------------
2013-05-06 14:38:28.078+05:30
(1 row)



