SQL - Introduzione


Alla base dei database
SQL, che sta per Structured Query Language, è un linguaggio per interagire, in origine, con i dati memorizzati in un database relazionale utilizzato ad oggi molto spesso anche per i database non relazionali.
SQL è un linguaggio standard che è stato progettato per interrogare e gestire i dati nei sistemi di gestione di database relazionali (RDBMS). Un RDBMS è un sistema di gestione di database basato sul modello relazionale (un modello semantico per che a sua volta si basa su due rami matematici: la teoria degli insiemi e la logica dei predicati. Molti altri linguaggi di programmazione e vari aspetti dell'informatica si sono evoluti praticamente grazie all'intuizione. Nella misura in cui l'SQL è basato sul modello relazionale, esso si basa su una matematica applicata alla base fi rm. Il T-SQL sta su queste spalle molto ampie e solide. Microsoft fornisce T-SQL come dialetto o estensione di SQL in Microsoft SQL Server, il suo RDBMS. Questa sezione fornisce un breve background teorico sull'SQL, la teoria degli insiemi e la logica dei predicati, il modello relazionale e il ciclo di vita dei dati. Poiché questo libro non è né un libro di matematica né un libro di design/modellazione dei dati, le informazioni teoriche qui fornite sono informali e non sono affatto complete. L'obiettivo è quello di fornire un contesto per il linguaggio T-SQL e di fornire i punti chiave che sono parte integrante della corretta comprensione del T-SQL in seguito nel libro.
Si può pensare a un database relazionale come a una raccolta di tabelle. Una tabella è solo un insieme di righe e colonne, come un foglio di calcolo, che rappresenta esattamente un tipo di entità. Per esempio, una tabella può rappresentare i dipendenti di un'azienda o gli acquisti effettuati, ma non entrambi.
Ogni riga, o record, di una tabella contiene informazioni su una singola entità. Per esempio, in una tabella che rappresenta gli impiegati, ogni riga rappresenta una singola persona. Ogni colonna, o campo, di una tabella contiene un singolo attributo per tutte le righe della tabella. Per esempio, in una tabella che rappresenta gli impiegati, potremmo avere una colonna contenente nome e cognome per tutti gli impiegati.
Mentre l'SQL può essere usato per creare e modificare i database, il primo focus di questo articolo sarà l'interrogazione dei database. Una query è una richiesta di dati da una tabella di database (o una combinazione di tabelle). L'interrogazione è un'abilità essenziale per un Data Scientist, poiché i dati necessari per le analisi spesso sono in database.
In SQL, è possibile selezionare i dati da una tabella utilizzando un'istruzione SELECT. Ad esempio, la seguente query seleziona una colonna da una tabella del dataset:

SELECT nome_variabile FROM tabella;


Per renderla più chiara si può scrivere anche a capo (maiuscole e minuscole sono a piacere):

SELECT nome_variabile
FROM tabella;

In questa query, SELECT e FROM sono chiamate keywords. In SQL, le parole chiave non sono case-sensitive, il che significa che si possono scrivere sia in minuscolo che in maiuscolo (è buona abitudine scrivere le parole chiave SQL maiuscole per distinguerle da altre parti della query, come i nomi delle colonne e delle tabelle).

Per selezionare più colonne da una tabella, basta separare i nomi delle colonne con delle virgole:

SELECT nome_variabile1, nome_variabile2
FROM tabella;

A volte, è possibile che sia utile selezionare tutte le colonne da una tabella. Digitare il nome di ogni colonna sarebbe un problema, quindi c'è una comoda scorciatoia:

SELECT *
FROM tabella;

Se si desidera restituire solo un certo numero di risultati, è possibile utilizzare la parola chiave LIMIT per limitare il numero di righe restituite:

SELECT TOP 6 *
FROM tabella;

In alcuni casi anche:
SELECT *
FROM tabella
LIMIT 6;