English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Espressioni PostgreSQL

Un'espressione è composta da uno o più valori, operatori e funzioni PostgreSQL.

Le espressioni PostgreSQL sono simili a una formula e possono essere applicate nelle istruzioni di query per trovare i risultati di condizioni specifiche nel database.

Sintassi

La sintassi della dichiarazione SELECT è la seguente:

SELECT colonna1, colonna2, colonnaN
FROM nome_tabella
WHERE [CONDIZIONE | ESPRESSIONE];

Le espressioni PostgreSQL possono avere diversi tipi, che esploreremo in seguito.

Espressione booleana

L'espressione booleana è basata su una condizione specifica per leggere i dati:

SELECT colonna1, colonna2, colonnaN
FROM nome_tabella
WHERE ESPRESSIONE DI CORRISPONDEZA A VALORE UNICO;

Il contenuto del file COMPANY.SQL è il seguente:

-- Questo è il file per creare la tabella COMPANY e popolarla con 7 record.
-- Copiare e incollare direttamente nel prompt psql.
DROP TABLE COMPANY;
CREATE TABLE COMPANY(
   ID INT PRIMARIA CHIAVE | NON NULL
   NAME | TESTO | NON NULL,
   AGE | INTERO | NON NULL,
   ADDRESS | CARATTERE(50),
   SALARY | REALE
);
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00);
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00);
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00);
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond', 65000.00);
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'David', 27, 'Texas', 85000.00);
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Kim', 22, 'South-Hall', 45000.00);
INSERT INTO COMPANY VALUES (7, 'James', 24, 'Houston', 10000.00);

Creare la tabella COMPANY, i dati di contenuto sono come segue:

w3codeboxdb# 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 righe)

Di seguito è utilizzata un'espressione booleana (SALARY=10000)per query di dati:

w3codeboxdb=# SELECT * FROM COMPANY WHERE SALARY = 10000;
 id | name | age | address | salary
----+-------+-----+----------+--------
  7 | James | 24 | Houston | 10000
(1 riga)

Espressione numerica

L'espressione numerica viene spesso utilizzata nelle query per operazioni matematiche:

SELECT numerical_expression as OPERATION_NAME
[FROM table_name WHERE CONDITION];

numerical_expression È un'espressione matematica, ecco un esempio:

w3codeboxdb=# SELECT (17 + 6) AS ADDITION;
 addition 
----------
       23
(1 riga)

Inoltre, PostgreSQL include alcune funzioni matematiche integrate, come:

  • avg() : restituisce la media di un'espressione

  • sum() : restituisce la somma del campo specificato

  • count() : restituisce il numero totale di record della query

Ecco un esempio di query per ottenere il numero totale di record nella tabella COMPANY:

w3codeboxdb=# SELECT COUNT(*) AS "RECORDS" FROM COMPANY;
 RECORDS
---------
       7
(1 riga)

Espressione di data

L'espressione di data restituisce la data e l'ora attuale del sistema, che può essere utilizzata per vari operazioni sui dati. Ecco un esempio di query per ottenere l'ora corrente:

w3codeboxdb=# SELECT CURRENT_TIMESTAMP;
       current_timestamp       
-------------------------------
 13-06-2019 10:49:06.419243+08
(1 riga)