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 |
| 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 |
| MARIO | ROSSI |
| PAOLO | VERDI |
| MARIO | BIANCHI |