English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
表达式是由一个或多个的值、运算符、PostgresSQL 函数组成的。
PostgreSQL 表达式类似一个公式,我们可以将其应用在查询语句中,用来查找数据库中指定条件的结果集。
SELECT 语句的语法格式如下:
SELECT column1, column2, columnN FROM table_name WHERE [CONDITION | EXPRESSION];
PostgreSQL 的表达式可以有不同类型,我们接下来会讲到。
布尔表达式是根据一个指定条件来读取数据:
SELECT column1, column2, columnN FROM table_name WHERE SINGLE VALUE MATCHTING EXPRESSION;
COMPANY.SQL file content is as follows:
-- This is the file to create COMPANY table and to populate it with 7 records. -- Just copy and paste them on psql prompt. DROP TABLE COMPANY; CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL ); 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 ;
Créer la table COMPANY, le contenu des données est le suivant :
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 rows)
Voici l'utilisation d'expressions booléennes (SALARY=10000) pour rechercher des données :
w3codeboxdb=# SELECT * FROM COMPANY WHERE SALARY = 10000; id | name | age | address | salary ----+-------+-----+----------+-------- 7 | James | 24 | Houston | 10000 (1 row)
Les expressions numériques sont souvent utilisées dans les requêtes pour des opérations mathématiques :
SELECT numerical_expression as OPERATION_NAME [FROM table_name WHERE CONDITION] ;
numerical_expression C'est une expression mathématique, voici un exemple :
w3codeboxdb=# SELECT (17 + 6) AS ADDITION ; addition ---------- 23 (1 row)
En plus, PostgreSQL intègre certaines fonctions mathématiques, telles que :
avg() : retourne la moyenne d'une expression
sum() : retourne la somme de la colonne spécifiée
count() : retourne le nombre total d'enregistrements de la requête
Voici un exemple de requête pour obtenir le nombre total d'enregistrements de la table COMPANY :
w3codeboxdb=# SELECT COUNT(*) AS "RECORDS" FROM COMPANY; RECORDS --------- 7 (1 row)
L'expression de date retourne la date et l'heure actuelles du système, et peut être utilisée dans diverses opérations de données. Voici un exemple de requête pour obtenir l'heure actuelle :
w3codeboxdb=# SELECT CURRENT_TIMESTAMP; current_timestamp ------------------------------- 2019-06-13 10:49:06.419243+08 (1 row)