Linguaggio SQL: una veloce panoramica


Il linguaggio SQL (Structured Query Language) è il linguaggio standard per la creazione, manipolazione e interrogazione dei Database relazionali come Access, Mysql, Oracle etc.

Si tratta di un linguaggio non procedurale, altrimenti detto “dichiarativo”; Sql non è un linguaggio CASE-SENSITIVE.

Il linguaggio Sql può essere idealmente scomposto in quattro “sottolinguaggi” che assolvono a diverse funzioni:

  • DDL (Data Definition Language)
  • DML (Data Manipulation Language)
  • DCL (Data Control Language)
  • QL (Query Language)

Vediamole nel dettaglio

Data Definition Language (DDL)

Sono tutti quei comandi in linguaggio SQL che permettono di creare o cancellare un database o una tabella; i principali sono:

CREATE, DROP, ALTER

Qui è possibile approfondire con la sintassi completa

Data Manipulation Language (DML)

Sono tutti quei comandi che permettono di inserire, eliminare o modificare i dati in una tabella; qui abbiamo:

INSERT, UPDATE, DELETE

A questo link è possibile approfondire la sintassi

Data Control Language

Si tratta di tutti i comandi per gestire l’accesso degli utenti al Database, qui i principali sono:

GRANT, REVOKE

A questo link si può approfondire la sintassi

Query Language

Qui il comando è uno solo, si tratta di SELECT, che permette di interrogare il database per recuperarne i dati; il risultato di una SELECT sarà sempre una nuova tabella temporanea che verrà poi utilizzata a seconda delle esigenze.

E’ possibile eseguire diversi tipi di operazioni relazionali, vediamo le principali partendo dalla tabella di esempio STUDENTI(id, nome, cognome, classe):

  • Proiezione: la tabella risultante contiene lo stesso numero di righe della tabella di partenza ma un minor numero di attributi; Esempio
    SELECT nome, cognome  FROM STUDENTI
  • Restrizione: la tabella risultante contiene lo stesso numero di campi della tabella di partenza, ma un minor numero di righe; Esempio
    SELECT *  FROM STUDENTI WHERE classe='3'; 
  • Congiunzione (join): quando la tabella risultante è data dalla congiunzione di 2 (o più tabelle) unite tra loro tramite un attributo comune [approfondimento]

E possibile inoltre, con il comando SELECT, utilizzare le funzioni di aggregazione come

  • COUNT: conta le righe
  • MAX: restituisce il valore massimo
  • MIN: restituisce il valore minimo
  • AVG: calcola la media
  • SUM: calcola la somma

Per esempio, per calcolare la media dei prezzi dei giocattoli scriveremo:

SELECT AVG(prezzi) FROM giocattoli

Assieme alle funzioni di aggregazione è possibile utilizzare i raggruppamenti con la clausola GROUP BY.

Qui un approfondimento su funzioni di aggregazione e raggruppamenti.

E’ possibile, poi ordinare i risultati tramite la clausola ORDER BY, per esempio, se vogliamo ordinare gli studenti in ordine alfabetico:

SELECT * <br>FROM STUDENTI<br>ORDER BY cognome, nome

Si può poi specificare l’ordine per ogni attributo: ASC (crescente) o DESC (decrescente).

Esiste, infine, la possibilità di creare delle query all’interno di altre query, in questo caso parliamo di query annidate [approfondimento]

Lascia un commento

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Il blog

L’autore di questo blog insegna informatica e sistemi per le scuole superiori dal 2008.

Lo scopo è quello di fornire spiegazioni quanto più semplici possibile agli argomenti della disciplina per gli studenti delle scuole superiori e per chiunque voglia imparare le basi dell’informatica.

Se hai una domanda scrivila nel form qua sotto, risponderò appena possibile.

 

 

Fai una domanda

Disclaimer

Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Pertanto, non può considerarsi un prodotto editoriale ai sensi della Legge n. 62 del 07/03/2001