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!
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