Sammendrag: i denne opplæringen lærer du hvordan du bruker SQL Server INSERT INTO SELECT
uttalelse for å legge til data fra andre tabeller i en tabell.
Introduksjon til SQL Server INSERT INTO SELECT-setning
For å sette inn data fra andre tabeller i en tabell, bruker du følgende SQL Server INSERT INTO SELECT
uttalelse:
Code language: SQL (Structured Query Language) (sql)
I denne syntaksen setter setningen inn rader returnert av query
i target_table
.
query
er en hvilken som helst gyldig SELECT
uttalelse som henter data fra andre tabeller. Den må returnere verdiene som tilsvarer kolonnene som er spesifisert i column_list
.
TOP
ledddelen er valgfri. Den lar deg spesifisere antall rader som returneres av spørringen som skal settes inn i måltabellen. Hvis du bruker alternativet PERCENT
, vil setningen sette inn prosentandelen av rader i stedet. Vær oppmerksom på at det er en god praksis å alltid bruke TOP
-klausulen med ORDER BY
-klausulen.
SQL Server INSERT INTO VELG eksempler
La oss lage en tabell med navnet addresses
for demonstrasjonen:
1) Sett inn alle rader fra et annet tabelleksempel
Følgende utsagn setter inn alle adresser fra customers
-tabellen i addresses
-tabellen:
For å bekrefte innsatsen bruker du følgende spørsmål:
Code language: SQL (Structured Query Language) (sql)
Her er resultatet:
2) Sett inn noen rader fra et annet tabelleksempel
Noen ganger trenger du bare å sette inn noen rader fra et annet bord til et bord. I dette tilfellet begrenser du antall rader som returneres fra spørringen ved å bruke betingelser i WHERE
-klausulen.
Følgende uttalelse legger til adressene til butikkene som ligger i Santa Cruz
og Baldwin
til addresses
tabellen:
SQL Serveren returnerte følgende melding som indikerer at to rader er satt inn vellykket.
Code language: SQL (Structured Query Language) (sql)
3) Sett inn den øverste N på radene
Først, du bruker følgende utsagn for å slette alle radene fra addresses
tabellen:
Code language: SQL (Structured Query Language) (sql)
For det andre, for å sette inn toppen 10 kunder sortert etter fornavn og etternavn, bruker du INSERT TOP INTO SELECT
uttalelsen som følger:
SQL Server returnerte følgende melding som viser at ti rader er satt inn vellykket.
Code language: SQL (Structured Query Language) (sql)
4) Sett inn den øverste prosentandelen av rader
I stedet for å bruke et absolutt antall rader, en sett inn et prosent antall rader i en tabell.
Trunker du først alle rader fra addresses
-tabellen:
Code language: SQL (Structured Query Language) (sql)
Sett deretter inn de to øverste prosentene av rader fra customers
tabellen sortert etter fornavn og etternavn i addresses
tabell:
SQL Server sendte følgende melding som indikerer at 145 rader er satt inn vellykket.
Code language: SQL (Structured Query Language) (sql)
I denne veiledningen, du har lært hvordan du bruker SQL Server INSERT INTO SELECT
setningen for å sette inn rader fra andre tabeller i en tabell.