Operatori congiuntivi AND e OR
Il PostgreSQL AND e ORgli operatori vengono utilizzati per combinare più condizioni per restringere i dati selezionati in un'istruzione PostgreSQL. Questi due operatori sono chiamati operatori congiuntivi.
Questi operatori forniscono un mezzo per effettuare confronti multipli con diversi operatori nella stessa istruzione PostgreSQL.
L'operatore AND
Il ANDL'operatore consente l'esistenza di più condizioni nella clausola WHERE di un'istruzione PostgreSQL. Durante l'utilizzo dell'operatore AND, la condizione completa verrà considerata vera quando tutte le condizioni sono vere. Ad esempio [condizione1] AND [condizione2] sarà vera solo quando sia condizione1 che condizione2 sono vere.
Sintassi
La sintassi di base dell'operatore AND con la clausola WHERE è la seguente:
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
È possibile combinare un numero N di condizioni utilizzando l'operatore AND. Affinché un'azione possa essere eseguita dall'istruzione PostgreSQL, sia che si tratti di una transazione o di una query, tutte le condizioni separate da AND devono essere TRUE.
Esempio
Considera che la tabella AZIENDA ha i record come segue:
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)
La seguente istruzione SELECT elenca tutti i record in cui AGE è maggiore o uguale a 25 AND lo stipendio è maggiore o uguale a 65000,00 -
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;
L'istruzione PostgreSQL sopra indicata produrrà il seguente risultato:
id | name | age | address | salary
----+-------+-----+------------+--------
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
(2 rows)
L'operatore OR
L'operatore OR viene utilizzato anche per combinare più condizioni nella clausola WHERE di un'istruzione PostgreSQL. Durante l'utilizzo dell'operatore OR, la condizione completa verrà considerata vera quando almeno una delle condizioni è vera. Ad esempio [condizione1] OR [condizione2] sarà vera se la condizione1 o la condizione2 è vera.
Sintassi
La sintassi di base dell'operatore OR con la clausola WHERE è la seguente:
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]
È possibile combinare un numero N di condizioni utilizzando l'operatore OR. Affinché un'azione venga eseguita dall'istruzione PostgreSQL, sia che si tratti di una transazione o di una query, solo UNA delle condizioni separate da OR deve essere TRUE.
Esempio
Considera la tabella AZIENDA , con i seguenti record:
# 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)
La seguente istruzione SELECT elenca tutti i record in cui AGE è maggiore o uguale a 25 OR lo stipendio è maggiore o uguale a 65000,00 -
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;
L'istruzione PostgreSQL sopra indicata produrrà il seguente risultato:
id | name | age | address | salary
----+-------+-----+------------+--------
1 | Paul | 32 | California | 20000
2 | Allen | 25 | Texas | 15000
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
(4 rows)