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.
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;
sqlSi usano i parametri seguenti:
SELECT
: il comandoSELECT
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
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.
- 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;
sqlTrasmettere 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';
sqlMySQL, PostgreSQL, SQlite:
INSERT INTO OrdiniNuovi (NomeCliente, Nazione)
SELECT NomeCliente, Nazione
FROM Ordini
WHERE Nazione = 'Italia';
sqlAlternative 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 conSELECT
da una tabella a un’altra già esistente. La differenza è che conSELECT 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’istruzioneSELECT
, contenendo quindi i dati selezionati di una tabella esistente.UNION
oppureUNION 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’istruzioneIMPORT 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 comeIMPORT 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.