economia news e media viaggi informatica internet salute e benessere int rattenimento e spettacolo sport tempo libero istruzio ne e formazione arte cultura scienza

SQL

Linguaggio SQL - Prima parte

A cura di Andrea Silvestri

Pubblicato il 25/12/2000

Il primo di una serie di interventi sul linguaggio SQL. Si inizia con l'istruzione SELECT.

Il linguaggio SQL (Structured Query Language) e' composto da un insieme di comandi che permettono di accedere ai dati memorizzati in un database.
E’ stato sviluppato da IBM negli anni 70, partendo dal modello introdotto da un articolo (A Relational Model of Data for Large Shared Data Banks) scritto da E. F. Codd nel 1970. La prima implementazione commerciale risale al 1979 ed e' opera della Relational Software Inc. (ora Oracle).
Il linguaggio e' universalmente riconosciuto come linguaggio di ogni RDBMS. Ne e' stato definito anche uno standard, pubblicato sia da ISO che da ANSI (due organi preposti alla definizione di standard), l’ultima versione e' la SQL92(o sql2).
Tutti i maggiori produttori di database (Oracle, Microsoft, Sybase etc.) supportano SQL, quindi la conoscenza di esso permette l’accesso alla quasi totalita’ dei database in commercio. Con il linguaggio e' possibile estrarre, inserire, modificare, cancellare record, creare, modificare, cancellare oggetti (ad esempio tabelle), controllare l’accesso al database e ai suoi oggetti e infine garantire la consistenza e l’integrita’ dei dati.
L’insieme dei comandi SQL puo’ essere suddiviso in comandi DDL (data definition language), che permettono di creare e cancellare oggetti e DML (data manipulation language), che consentono l’inserimento, la modifica e la cancellazione dei dati. Gli altri comandi sono suddivisi in comandi di controllo di sessione e comandi di controllo di transazione (rispettivamente Transaction Control Commands e Session Control Commands).

Istruzione SELECT
E’ l’istruzione piu’ complessa, permette l’estrazione dei record da una o piu’ tabelle. Nella sua forma piu’ semplice e':

SELECT * FROM nome_tabella

Che estrae tutti i record dalla tabella nome_tabella.
Consideriamo la tabella IMPIEGATI

MATRICOLA NOME COGNOME SUPERIORE DATA_ASS SALARIO SEDE
0001 MARIO ROSSI 12-12-1990 5000000 10
0123 PAOLO VERDI 0001 23-11-1992 3500000 10
0234 MARIO BIANCHI 0123 26-02-1995 2100000 20

Per estrarre tutti i record dovrei digitare:

SELECT * FROM impiegati;

Il risultato sara’:

0001 MARIO ROSSI 12-12-1990 5000000 10
0123 PAOLO VERDI 0001 23-11-1992 3500000 10
0234 MARIO BIANCHI 0123 26-02-1995 2100000 20

Se invece fossi interessato solo al nome e al cognome degli impiegati:

SELECT nome,cognome FROM impiegati;

Il risultato sara’:

MARIO ROSSI
PAOLO VERDI
MARIO BIANCHI

Quindi se al posto dell’asterisco inserisco le colonne separate da virgola posso decidere, per ogni record quali colonne estrarre.
Da notare che con la sola clausola FROM vengono sempre estratti tutti i record.
Nel prossimo intervento vedremo come fare ad estrarre solo alcuni record.

I link correlati all'argomento

Vuoi essere aggiornato sulle novità della guida?

Feed RSS XML vostro feed RSS