SQL SELECT INTO: come copiare record nelle tabelle

Con SQL SELECT INTO copi i record selezionati e li trasferisci in nuove tabelle o in spazi di archiviazione temporanei. Il vantaggio è che i dati vengono trasmessi in modo rapido e affidabile, consentendo di ordinare e aggiornare i record senza lacune.

Cos’è SQL SELECT INTO?

Il linguaggio di database e di programmazione SQL offre diversi strumenti per gestire, analizzare ed elaborare i database in modo professionale. Ad esempio, combinati con altri operatori, comandi come SQL SELECT permettono di eseguire svariate azioni. Con SQL SELECT DISTINCT rimuovi ad esempio i duplicati, mentre con l’operatore SQL SELECT INTO copi i record da una tabella a un’altra. SELECT INTO non è uno dei classici comandi SQL, operatori SQL o funzioni, bensì vale come clausola SQL nelle istruzioni SQL.

Consiglio

Impara le nozioni basilari e le funzioni più importanti di SQL, uno dei linguaggi di database e di programmazione più richiesti in tutti i settori. Con la nostra introduzione a SQL con esempi potrai metterti velocemente all’opera.

La sintassi di SELECT INTO

La semplice sintassi di SELECT INTO si presenta come segue:

SELECT  *
INTO  nuova_tabella_di_destinazione
FROM tabella_esistente;
sql

Si usano i parametri seguenti:

  • SELECT: il comando SELECT definisce le colonne di una tabella esistente da cui copiare i dati. Puoi indicare i nomi di colonne specifiche oppure usare l’asterisco * per copiare tutti i dati della tabella di origine.
  • INTO: definisce e denomina la nuova tabella di destinazione per i record copiati.
  • FROM: seleziona la tabella esistente da cui copiare i record.
  • WHERE: con la clausola opzionale SQL WHERE definisci ulteriori condizioni concrete che devono essere soddisfatte dai dati da copiare dalla tabella di origine.

Applicazioni dell’operatore SELECT INTO

SQL SELECT INTO è adatto principalmente per trasferire dati in una nuova tabella. Tra le altre possibilità d’impiego troviamo l’aggregazione, la memorizzazione temporanea o l’estrazione di record o sottoinsiemi. Eliminando anche i duplicati, ad esempio con DISTINCT, puoi correggere e limitare i dati.

Tra le applicazioni pratiche per diversi settori troviamo tra l’altro:

  • Copia, estrazione e trasmissione di dati di clienti, ordini, pazienti o prodotti per nuovi progetti, studi o migrazione di dati
  • Analisi delle tendenze e di marketing mediante dati aggregati di ordini e vendite
  • Analisi dei dati finanziari attraverso la trasmissione dei dati delle transazioni
  • Pulizia dei dati dei clienti o dei collaboratori rimuovendo i duplicati nelle nuove tabelle
  • Raccolta e analisi dei dati nei data warehouse
  • Raccolta di dati per modelli di apprendimento automatico
Consiglio

Cerchi un sistema di gestione di database scalabile e sicuro? Affidati all’hosting SQL server di IONOS e scopri le proposte personalizzate di server e hosting, con standard UE di protezione dei dati.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
  • Storage SSD NVMe veloce
  • Plesk Web Host Edition incluso

Esempi pratici di SQL SELECT INTO

Per mostrare come funziona l’operatore SQL SELECT INTO te lo presentiamo servendoci di due esempi pratici.

Selezionare e trasmettere clienti univoci

Vuoi selezionare in una tabella “Ordini” tutti i risultati univoci della colonna “NomeCliente”, escludendo le righe doppie di ordini multipli e trasferirli in una nuova tabella “OrdiniNuovi”? Procediamo come indicato di seguito:

SELECT DISTINCT NomeCliente
INTO OrdiniNuovi
FROM Ordini;
sql

Trasmettere le voci dei clienti di una determinata regione

Con la clausola WHERE puoi definire meglio i dati dei clienti applicando condizioni aggiuntive. Se ad esempio vuoi trasmettere tutte le voci con i nomi dei clienti residenti in Italia, procedi come segue:

SQL Server:

SELECT NomeCliente, Nazione
INTO OrdiniNuovi
FROM Ordini
WHERE Nazione = 'Italia';
sql

MySQL, PostgreSQL, SQlite:

INSERT INTO OrdiniNuovi (NomeCliente, Nazione)
SELECT NomeCliente, Nazione
FROM Ordini
WHERE Nazione = 'Italia';
sql

Alternative a SQL SELECT INTO

Oltre a SELECT INTO esistono altre opzioni per copiare e trasferire dati tra le tabelle. Ti presentiamo brevemente le più importanti:

  • INSERT INTO SELECT: usando SQL INSERT INTO SELECT puoi copiare e trasferire i record o i risultati selezionati in combinazione con SELECT da una tabella a un’altra già esistente. La differenza è che con SELECT INTO è possibile creare una nuova tabella per la copia e la trasmissione.
  • CREATE TABLE AS: con l’istruzione SQL CREATE TABLE puoi creare una nuova tabella. In abbinamento a SQL SELECT e AS è inoltre possibile definire che la nuova tabella si basi sui risultati dell’istruzione SELECT, contenendo quindi i dati selezionati di una tabella esistente.
  • UNION oppure UNION ALL: con l’operatore SQL UNION combini i record delle tabelle e delle colonne selezionate in una nuova tabella di output senza doppioni. In combinazione con l’operatore logico ALL definisci che devono essere considerati tutti i record di una tabella, duplicati compresi.
  • IMPORT TABLE: l’istruzione IMPORT TABLE è adatta soltanto per importare record da tabelle e file esterni in una tabella. L’istruzione è disponibile per la selezione soprattutto nelle versioni di SQL più recenti.
  • LOAD DATA INFILE: l’istruzione funziona sostanzialmente come IMPORT TABLE, ma consente usi più flessibili, anche se più complessi, e un numero maggiore di formati supportati per le fonti di dati esterne. Inoltre, è disponibile in tutte le versioni di SQL.
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top