PostgreSQL - Espressioni

Ciao a tutti, futuri maghi dei database! Oggi esploreremo il mondo affascinante delle espressioni PostgreSQL. Non preoccupatevi se siete nuovi a questo; inizieremo dalle basi e lavoreremo gradualmente. Alla fine di questo tutorial, sarete in grado di creare espressioni come un professionista!

PostgreSQL - Expressions

Cos'è un'Espressione in PostgreSQL?

Prima di addentrarci nei dettagli, capiamo cos'è un'espressione. In PostgreSQL, un'espressione è una combinazione di uno o più valori, operatori e funzioni che si valutano in un singolo valore. Pensateci come una ricetta: mescolate ingredienti diversi (valori) utilizzando vari attrezzi (operatori e funzioni) per creare un piatto delizioso (risultato).

Ora, esploriamo i diversi tipi di espressioni in PostgreSQL.

PostgreSQL - Espressioni Booleane

Le espressioni booleane sono come le domande vero/falso nei vostri esami. Si valutano in VERO o FALSO. Queste sono estremamente utili quando si vuole filtrare dati o prendere decisioni nelle query del database.

Operatori Booleani di Base

Ecco una tabella degli operatori booleani comuni in PostgreSQL:

Operatore Descrizione Esempio
AND Restituisce VERO se entrambe le condizioni sono vere a AND b
OR Restituisce VERO se almeno una condizione è vera a OR b
NOT Negazione del risultato NOT a

Vediamo questi in azione:

SELECT * FROM students WHERE age >= 18 AND grade = 'A';

Questa query seleziona tutti gli studenti che hanno 18 anni o più E hanno un voto di 'A'. È come dire, "Mostrami gli studenti adulti con voti A!"

SELECT * FROM products WHERE category = 'Electronics' OR price > 1000;

Questa query recupera tutti i prodotti che sono soit nella categoria 'Electronics' O costano più di 1000$. È come chiedere, "Quali sono i nostri prodotti di alta gamma o tecnologici?"

Operatori di Confronto

PostgreSQL offre anche operatori di confronto per creare espressioni booleane:

Operatore Descrizione
= Uguale a
<> o != Diverso da
< Minore di
> Maggiore di
<= Minore o uguale a
>= Maggiore o uguale a

Esempio:

SELECT name, salary FROM employees WHERE salary > 50000;

Questa query trova tutti i dipendenti con uno stipendio superiore a 50,000$. È come chiedere all'HR, "Chi sono i nostri guadagnatori principali?"

PostgreSQL - Espressioni Numeriche

Le espressioni numeriche in PostgreSQL coinvolgono operazioni matematiche. Sono come i problemi di matematica che avete risolto a scuola, ma ora aiutano a elaborare numeri nel vostro database!

Operatori Aritmetici

Ecco gli operatori aritmetici di base:

Operatore Descrizione Esempio
+ Addizione a + b
- Sottrazione a - b
* Moltiplicazione a * b
/ Divisione a / b
% Modulo (resto) a % b
^ Esponenziazione a ^ b

Vediamo come usarli in alcune query:

SELECT product_name, price, price * 0.9 AS discounted_price
FROM products;

Questa query calcola uno sconto del 10% su tutti i prodotti. È come essere il generoso proprietario del negozio che fa una promozione!

SELECT employee_name, salary, salary + (salary * 0.05) AS new_salary
FROM employees;

Qui, stiamo dando a tutti un aumento del 5%. Non sarebbe bello?

Funzioni Matematiche

PostgreSQL offre una varietà di funzioni matematiche. Ecco alcune:

Funzione Descrizione
ABS(n) Valore assoluto
ROUND(n, m) Arrotonda a m decimali
POWER(x, y) x elevato alla y
SQRT(n) Radice quadrata

Esempio:

SELECT order_id, total_amount, ROUND(total_amount, 2) AS rounded_total
FROM orders;

Questa query arrotonda l'importo totale a due decimali, assicurando che le nostre finanze sembrino ordinate.

PostgreSQL - Espressioni Date

Le espressioni di data in PostgreSQL permettono di manipolare e calcolare date e ore. Sono come il tuo calendario e orologio digitali combinati!

Funzioni Date/Time

PostgreSQL offre numerose funzioni per lavorare con date e ore. Ecco alcune comuni:

Funzione Descrizione
CURRENT_DATE Data corrente
CURRENT_TIME Tempo corrente
CURRENT_TIMESTAMP Data e ora corrente
AGE(timestamp, timestamp) Calcola la differenza tra due timestamp
DATE_PART(text, timestamp) Ottieni un campo di un valore di data/ora

Vediamo questi in azione:

SELECT username, registration_date,
AGE(CURRENT_DATE, registration_date) AS account_age
FROM users;

Questa query calcola quanto tempo ogni utente è registrato. È come controllare l' "età" di ogni account!

SELECT event_name, event_date,
DATE_PART('day', event_date) AS day_of_month
FROM events;

Qui, stiamo estraendo il giorno del mese da ogni data di evento. È utile per organizzare eventi per giorno!

Aritmetica sugli Intervalli

PostgreSQL permette di eseguire operazioni aritmetiche con date e intervalli. Un intervallo rappresenta una durata di tempo.

SELECT order_date,
order_date + INTERVAL '7 days' AS expected_delivery_date
FROM orders;

Questa query calcola la data di consegna prevista come 7 giorni dopo la data dell'ordine. È come essere il responsabile della logistica, pianificando tutte le consegne!

E вот и все, gente! Abbiamo viaggiato attraverso il paese delle espressioni PostgreSQL, dalla logica booleana alla elaborazione dei numeri alla manipolazione del tempo (beh, più o meno). Ricorda, la pratica rende perfetti, quindi non aver paura di sperimentare con queste espressioni nel tuo parco giochi del database. Buon querying!

Credits: Image by storyset