Riepilogo: in questo tutorial imparerai come utilizzare SQL Server INSERT INTO SELECT
per aggiungere dati da altre tabelle a una tabella.
Introduzione all’istruzione INSERT INTO SELECT di SQL Server
Per inserire dati da altre tabelle in una tabella, utilizzare il seguente SQL Server INSERT INTO SELECT
istruzione:
Code language: SQL (Structured Query Language) (sql)
In questa sintassi, l’istruzione inserisce le righe restituite da query
nel target_table
.
query
è un qualsiasi SELECT
istruzione che recupera i dati da altre tabelle. Deve restituire i valori che corrispondono alle colonne specificate nella column_list
.
La parte della clausola TOP
è opzionale. Consente di specificare il numero di righe restituite dalla query da inserire nella tabella di destinazione. Se utilizzi l’opzione PERCENT
, l’istruzione inserirà invece la percentuale di righe. Tieni presente che è una best practice utilizzare sempre la clausola TOP
con la clausola ORDER BY
.
SQL Server INSERT INTO SELECT examples
Creiamo una tabella denominata addresses
per la dimostrazione:
1) Inserisci tutte le righe da un altro esempio di tabella
La seguente istruzione inserisce tutti gli indirizzi dalla tabella customers
nella tabella addresses
:
Per verificare l’inserto, si utilizza la seguente query:
Code language: SQL (Structured Query Language) (sql)
Ecco il risultato:
2) Inserisci alcune righe da un altro esempio di tabella
A volte, devi solo inserirne alcune righe da un’altra tabella in una tabella. In questo caso, limiti il numero di righe restituite dalla query utilizzando le condizioni nella clausola WHERE
.
La seguente istruzione aggiunge gli indirizzi dei negozi situati in Santa Cruz
e Baldwin
nella tabella addresses
:
SQL Il server ha restituito il seguente messaggio che indica che due righe sono state inserite correttamente.
Code language: SQL (Structured Query Language) (sql)
3) Inserisci le prime N di righe
Innanzitutto, si utilizza la seguente istruzione per eliminare tutte le righe dalla tabella addresses
:
Code language: SQL (Structured Query Language) (sql)
Secondo, per inserire l’inizio 10 clienti ordinati per nome e cognome, si utilizza l’istruzione INSERT TOP INTO SELECT
come segue:
SQL Server ha restituito il seguente messaggio che mostra che sono state inserite dieci righe correttamente.
Code language: SQL (Structured Query Language) (sql)
4) Inserisci la prima percentuale di righe
Invece di utilizzare un numero assoluto di righe, puoi e inserire un numero percentuale di righe in una tabella.
Innanzitutto, troncare tutte le righe dalla addresses
tabella:
Code language: SQL (Structured Query Language) (sql)
In secondo luogo, inserisci il primo due percento delle righe dalla tabella customers
ordinata per nome e cognome nella addresses
table:
SQL Server ha emesso il seguente messaggio indicando che 145 righe sono state inserite correttamente.
Code language: SQL (Structured Query Language) (sql)
In questo tutorial, hanno imparato a utilizzare l’istruzione INSERT INTO SELECT
di SQL Server per inserire righe da altre tabelle in una tabella.