Osnove T-SQL. DML. Transact-SQL – vstavljanje podatkov Demo različica zbirke podatkov

Poleg izjave SELECT, o kateri smo govorili prej, jezik za manipulacijo podatkov (DML) vsebuje tri druge stavke: INSERT, UPDATE in DELETE. Tako kot stavek SELECT tudi ti trije stavki delujejo na tabelah ali pogledih. Ta članek obravnava stavek INSERT, druga dva stavka pa v naslednjem članku.

Izjava INSERT vstavi vrstice (ali dele vrstic) v tabelo. Obstajata dve različni obliki tega navodila:

VSTAVITE ime_zavihka [(col_list)] PRIVZETE VREDNOSTI | VREDNOSTI ((DEFAULT | NULL | izraz) [,...n]) INSERT INTO tab_name | view_name [(col_list)] (select_statement | execute_statement) Sintaksne konvencije

Prva oblika navodila omogoča vstavljanje ene vrstice (ali njenega dela) v tabelo. In druga oblika stavka INSERT vam omogoča, da v tabelo vstavite niz rezultatov stavka SELECT ali shranjene procedure, ki jo izvede stavek EXECUTE. Shranjena procedura mora vrniti podatke, ki jih je treba vstaviti v tabelo. Če se uporablja s stavkom INSERT, lahko stavek SELECT izbere vrednosti iz druge ali iste tabele, v katero se vstavljajo podatki, če so podatkovni tipi ustreznih stolpcev združljivi.

Pri obeh oblikah mora biti podatkovni tip vsake vstavljene vrednosti združljiv s podatkovnim tipom ustreznega stolpca tabele. Vsi nizi in začasni podatki morajo biti v narekovajih; Številskih vrednosti ni treba zapisati v narekovaje.

Vstavljanje ene vrstice

Za obe obliki stavka INSERT je izrecna podaja seznama stolpcev neobvezna. Nenavajanje stolpcev je enako kot podajanje vseh stolpcev v tabeli.

Parameter PRIVZETE VREDNOSTI vstavi privzete vrednosti za vse stolpce. Stolpci s podatkovnim tipom TIMESTAMP ali lastnostjo IDENTITY so privzeto vstavljeni z vrednostmi, ki jih samodejno ustvari sistem. Za stolpce drugih tipov podatkov je ustrezna privzeta vrednost, ki ni ničelna, vstavljena, če je na voljo, sicer pa NULL. Če stolpec ne dovoljuje ničelnih vrednosti in nima definirane privzete vrednosti, stavek INSERT ne uspe in prikaže se sporočilo.

Spodnji primer vstavi vrstice v tabelo Employee v bazi podatkov SampleDb in prikazuje uporabo stavka INSERT za vstavljanje majhne količine podatkov v bazo podatkov:

UPORABA SampleDb; VSTAVITE V VREDNOSTI zaposlenih (34990, "Andrey", "Batonov", "d1"); VSTAVITE V VREDNOSTI zaposlenih (38640, "Aleksej", "Vasin", "d3");

Obstajata dve različne poti vnašanje vrednosti v nova vrstica. Stavek INSERT v spodnjem primeru izrecno uporablja ključno besedo NULL in v ustrezen stolpec vstavi vrednost NULL:

UPORABA SampleDb; INSERT INTO Employee VALUES (34991, "Andrey", "Batonov", NULL);

Če želite vstaviti vrednosti v nekatere (vendar ne v vse) stolpce tabele, morate običajno te stolpce izrecno določiti. Nedoločeni stolpci morajo dovoljevati vrednosti NULL ali imeti definirano privzeto vrednost.

UPORABA SampleDb; INSERT INTO Employee(Id, FirstName, LastName) VALUES (34992, "Andrey", "Batonov");

Prejšnja dva primera sta enakovredna. V tabeli Employee je edini stolpec, ki dovoljuje vrednosti NULL, stolpec DepartmentNumber, vse druge stolpce pa je onemogočil stavek NOT NULL v stavku CREATE TABLE.

Vrstni red vrednosti v Ponudba VALUES Stavki INSERT se lahko razlikujejo od vrstnega reda, določenega v stavku CREATE TABLE. V tem primeru se mora njihov vrstni red ujemati z vrstnim redom, v katerem so ustrezni stolpci navedeni na seznamu stolpcev. Spodaj je primer vstavljanja podatkov v drugačnem vrstnem redu od izvirnika:

UPORABA SampleDb; INSERT INTO Employee(DepartamentNumber, LastName, Id, FirstName) VALUES ("d1", "Batonov", 34993, "Andrey");

Vstavljanje več vrstic

Druga oblika stavka INSERT v tabelo vstavi eno ali več vrstic, izbranih s podpoizvedbo. Spodnji primer prikazuje, kako vstaviti vrstice v tabelo z uporabo druge oblike stavka INSERT. V tem primeru se vloži zahteva za izbiro številk in imen oddelkov v Moskvi, rezultat pa se naloži v nova tabela, ustvarjen prej.

Nova tabela MoscowDepartment, ustvarjena v zgornjem primeru, ima enake stolpce kot obstoječa tabela Department, razen manjkajočega stolpca Location. Podpoizvedba v stavku INSERT izbere vse vrstice v tabeli Oddelek, za katere je vrednost stolpca Lokacija »Moskva«, ki so nato vstavljene v novo tabelo, ustvarjeno na začetku poizvedbe.

Spodnji primer prikazuje drug način za vstavljanje vrstic v tabelo z uporabo druge oblike stavka INSERT. V tem primeru se izvede poizvedba za izbiro osebnih številk, številk projektov in datumov začetka projekta za vse zaposlene s položajem »vodja«, ki delajo na projektu p2, in nato naloži nastali niz rezultatov v novo tabelo, ustvarjeno na začetku poizvedba:

UPORABA SampleDb; CREATE TABLE ManagerTeam(EmpId INT NOT NULL, ProjectNumber CHAR (4) NOT NULL, EnterDate DATE); INSERT INTO ManagerTeam (EmpId, ProjectNumber, EnterDate) SELECT EmpId, ProjectNumber, EnterDate FROM Works_on WHERE Job = "Manager";

Pred vstavljanjem vrstic s stavkom INSERT sta bili tabeli MoscowDepartment in ManagerTeam (v zgornjih primerih) prazni. Če bi tabela že obstajala in vsebovala vrstice s podatki, bi ji bile dodane nove vrstice.

Pozdravljeni vsi skupaj! Ta članek bo razpravljal o tem, kako lahko dodajte podatke v tabelo pri Microsoftu SQL ServerČe ste že vsaj malo seznanjeni z jezikom T-SQL, ste verjetno ugotovili, da bomo zdaj govorili o stavku INSERT, pa tudi o tem, kako ga lahko uporabimo za dodajanje podatkov v tabelo.

Začnimo, kot običajno, z malo teorije.

Izjava INSERT v T-SQL

VSTAVI je navodilo T-SQL, ki je zasnovano za dodajanje podatkov v tabelo, tj. ustvarjanje novih zapisov. To navodilo lahko uporabite za dodajanje ene vrstice v tabelo in za množično vstavljanje podatkov. Stavek INSERT zahteva dovoljenje za vstavljanje podatkov ( VSTAVI) v ciljno tabelo.

Izjavo INSERT lahko uporabite na več načinov za podatek, ki ga je treba vstaviti:

  • Navajanje določenih vrednosti za vstavljanje;
  • Določanje nabora podatkov kot poizvedbe SELECT;
  • Določanje nabora podatkov v obliki klica procedure, ki vrne tabelarične podatke.

Poenostavljena sintaksa

INSERT [tabela] ( seznam stolpcev ...) VREDNOTE ( seznam vrednosti, … ) ali IZBERI vzorčna zahteva Ali IZVEDI postopek

  • INSERT INTO je ukaz za dodajanje podatkov v tabelo;
  • Tabela je ime ciljne tabele, v katero želite vstaviti nove zapise;
  • Seznam stolpcev je seznam imen stolpcev tabele, v katero bodo vstavljeni podatki, ločenih z vejicami;
  • VALUES je konstruktor vrednosti tabele, s katerim podajamo vrednosti, ki jih bomo vstavili v tabelo;
  • Seznam vrednosti so vrednosti, ki bodo vstavljene, ločene z vejicami. Navedeni so v vrstnem redu, v katerem so prikazani stolpci na seznamu stolpcev;
  • SELECT je poizvedba za izbiro podatkov za vstavljanje v tabelo. Nabor rezultatov, ki jih vrne poizvedba, se mora ujemati s seznamom stolpcev;
  • EXECUTE je klic procedure za pridobitev podatkov za vstavljanje v tabelo. Nabor rezultatov, ki jih vrne shranjena procedura, se mora ujemati s seznamom stolpcev.

Tako je približno videti poenostavljena sintaksa stavka INSERT INTO; v večini primerov boste tako dodajali nove zapise v tabele.

Seznama stolpcev, v katere boste vnašali podatke, ni potrebno pisati, njihov vrstni red pa bo v tem primeru določen glede na dejanski vrstni red stolpcev v tabeli. Ta vrstni red si morate zapomniti, ko podajate vrednosti za vstavljanje ali pišete poizvedbo za izbiro. Osebno priporočam, da vseeno navedete seznam stolpcev, v katere nameravate dodati podatke.

Ne pozabite tudi, da mora seznam stolpcev oziroma seznam vrednosti vsebovati tako imenovane zahtevane stolpce, to so tisti, ki ne morejo vsebovati vrednosti NULL. Če jih ne podate in stolpec nima privzete vrednosti, bo prišlo do napake.

Prav tako bi rad opozoril, da se mora podatkovni tip vrednosti, ki jih boste vstavili, ujemati s podatkovnim tipom stolpca, v katerega bo ta vrednost vstavljena, ali vsaj podpirati implicitno pretvorbo. Vendar vam svetujem, da nadzorujete vrsto podatkov ( format) vrednosti, tako na seznamu vrednosti kot v poizvedbi SELECT.

Dovolj teorije, pojdimo k praksi.

Začetni podatki

Za dodajanje podatkov v tabelo potrebujemo samo tabelo, zato jo ustvarimo in ji poskusimo dodati zapise.

Opomba! Vsi primeri se bodo izvajali v Microsoft SQL Server 2016 Express.

CREATE TABLE TestTable( IDENTITY(1,1) NOT NULL, (100) NOT NULL, NOT NULL)

Naša testna tabela bo vsebovala seznam izdelkov s cenami.

Tudi v primerih bomo uporabili postopek, ki vrne vrednost tabele za dodajanje podatkov v tabelo, zato ustvarimo tudi to.

CREATE PROCEDURE TestProcedure AS BEGIN SELECT ProductName, Price FROM TestTable END

Na primer, vrnil bo podatke iz novo ustvarjene tabele TestTable.

Opomba!

Kot razumete, branje tega gradiva pomeni nekaj znanja o jezik T-SQL, zato, če vam kaj ni jasno, priporočam, da se seznanite z naslednjimi materiali:

Primer 1 – Dodajanje novega zapisa v tabelo z uporabo konstruktorja vrednosti tabele

Najprej poskusimo dodati en zapis in takoj poglejmo rezultat, tj. Napišimo prošnjo za vzorec.

INSERT INTO TestTable(ProductName, Price) VALUES ("Computer", 100) POJDI IZBERI * FROM TestTable

Vidite, da smo za imenom tabele navedli imena stolpcev, v katere bomo dodali podatke, ločena z vejicami, nato smo navedli ključno besedo VREDNOTE in tudi v oklepaju smo v enakem vrstnem redu, ločeni z vejicami, zapisali vrednosti, ki jih želimo vstaviti.

Po izjavi INSERT, ki sem jo napisal Izjava SELECT in jih ločila ekipa GO.

Zdaj pa si predstavljajmo, da moramo dodati nekaj vrstic. Za to bomo napisali naslednjo zahtevo.

INSERT INTO TestTable(ProductName, Price) VALUES ("Računalnik", 100), ("Keyboard", 20), ("Monitor", 50) POJDI IZBERI * IZ TestTable


Primer 2 – Dodajanje novih vrstic v tabelo s poizvedbo SELECT

Zelo pogosto je treba v tabelo dodati veliko podatkov, na primer na podlagi izbirne poizvedbe, tj. IZBERI. Za to moramo namesto VALUES samo podati zahtevo.

INSERT INTO TestTable(ProductName, Price) SELECT ProductName, Price FROM TestTable WHERE Id >


IN v tem primeru smo zapisali SELECT poizvedba, ki vrne podatke iz tabele TestTable, vendar ne vseh, ampak samo tiste z identifikatorjem, večjim od 2. In rezultat je bil vstavljen v isto tabelo TestTable.

Kot primer, kako lahko dodajate zapise v tabelo, ne da bi podali seznam stolpcev, napišimo še eno poizvedbo za vstavljanje podatkov, ki bo naredila povsem enako kot zgornja poizvedba, le da ne bo navedla stolpcev za vstavljanje.

INSERT INTO TestTable SELECT ProductName, Price FROM TestTable WHERE Id > 2 GO SELECT * FROM TestTable


V tem primeru smo prepričani, da je v tabeli TestTable prvi stolpec ProductName, drugi pa Price, zato si lahko privoščimo, da ga tako zapišemo. Toda v praksi je bolje določiti seznam stolpcev.

Če ste opazili, v vseh primerih nisem navedel stolpca Id, vendar ga imamo, ni prišlo do nobene napake, ker ima ta stolpec lastnost IDENTITY, samodejno generira identifikatorje, zato vstavljanje podatkov v tak stolpec preprosto ni mogoče.

Primer 3 - Dodajanje novih zapisov v tabelo s pomočjo shranjene procedure

Sedaj pa v tabelo vstavimo podatke, ki nam jih bo vrnila shranjena procedura. Pomen je enak, namesto VREDNOSTI in namesto zahteve navedemo klic procedure. Toda kot razumete, se morata vrstni red in število stolpcev, ki jih vrne postopek, strogo ujemati s seznamom stolpcev, ki jih je treba vstaviti ( tudi če seznam stolpcev ni določen).

INSERT INTO TestTable(ProductName, Price) EXEC TestProcedure GO SELECT * FROM TestTable


upam, ta material vam pomagal razumeti navodila VSTAVITE V, in to je vse, kar imam za zdaj!

V prejšnjih razdelkih smo si ogledali delo pri pridobivanju podatkov iz vnaprej ustvarjenih tabel. Zdaj je čas, da ugotovimo, kako lahko ustvarimo/izbrišemo tabele, dodamo nove zapise in izbrišemo stare. Za te namene v SQL Obstajajo operaterji, kot so: USTVARJANJE- izdela tabelo, SPREMINJATI- spremeni strukturo tabele, DROP- izbriše tabelo ali polje, VSTAVI- dodaja podatke v tabelo. Začnimo se seznanjati s to skupino operaterjev pri operaterju VSTAVI.

1. Dodajanje celih vrstic

Kot že ime pove, operater VSTAVI uporablja se za vstavljanje (dodajanje) vrstic v tabelo zbirke podatkov. Dodajanje je možno na več načinov:

  • - dodajte eno polno vrstico
  • - dodajte del črte
  • - dodajte rezultate poizvedbe.

Torej, če želimo dodati novo vrstico v tabelo, moramo podati ime tabele, navesti imena stolpcev in določiti vrednost za vsak stolpec z uporabo konstrukta VSTAVITE V ime_tabele (polje1, polje2 ...) VREDNOTE (vrednost1, vrednost2 ...). Poglejmo si primer.

VSTAVITE V VREDNOSTI prodajalcev (ID, naslov, mesto, ime prodajalca, država).("6", "1st Street", "Los Angeles", "Harry Monroe", "ZDA")

Prav tako lahko spremenite vrstni red imen stolpcev, vendar morate hkrati spremeniti vrstni red vrednosti v parametru VREDNOTE.

2. Dodajanje dela črt

V prejšnjem primeru pri uporabi operatorja VSTAVI smo izrecno označili imena stolpcev tabele. Uporaba ta sintaksa, lahko preskočimo nekatere stolpce. To pomeni, da vnesete vrednosti za nekatere stolpce, za druge pa jih ne podate. Na primer:

VSTAVITE V VREDNOSTI prodajalcev (ID, mesto, ime prodajalca).("6", "Los Angeles", "Harry Monroe")

V tem primeru nismo podali vrednosti za dva stolpca Naslov in Država. Nekatere stolpce lahko izključite iz izjave VSTAVITE V, če to omogoča definicijo tabele. V tem primeru mora biti izpolnjen eden od pogojev: ta stolpec je opredeljen kot veljaven NIČ(odsotnost katere koli vrednosti) ali podane privzete vrednosti v definiciji tabele. To pomeni, da bo uporabljena privzeta vrednost, če ni podana nobena vrednost. Če v tabeli manjka stolpec, ki ne dovoljuje prikazovanja vrednosti v svojih vrsticah NIČ in nima definirane privzete vrednosti, bo DBMS ustvaril sporočilo o napaki in vrstica ne bo dodana.

3. Dodajanje izbranih podatkov

V prejšnjem primeru smo podatke vnesli v tabele tako, da smo jih ročno vnesli v poizvedbo. Vendar operater VSTAVITE V omogoča avtomatizacijo tega procesa, če želimo vstaviti podatke iz druge tabele. V ta namen v SQL obstaja taka konstrukcija, kot je VSTAVI V ... IZBERI .... Ta zasnova vam omogoča, da istočasno izberete podatke iz ene tabele in jih vstavite v drugo. Recimo, da imamo drugo mizo Sellers_EU s seznamom prodajalcev našega blaga v Evropi in jih moramo dodati v splošno tabelo Prodajalci. Struktura teh tabel je enaka (enako število stolpcev in enaka imena), podatki pa so različni. Če želite to narediti, lahko napišemo naslednjo poizvedbo:

VSTAVI V prodajalce (ID, naslov, mesto, ime prodajalca, država) IZBERIID, naslov, mesto, ime prodajalca, država FROM Sellers_EU

Paziti morate, da se vrednosti notranjih ključev ne ponavljajo (polje ID), sicer bo prišlo do napake. Operater IZBERI lahko vključuje tudi predloge KJE za filtriranje podatkov. Upoštevati je treba tudi, da DBMS ni pozoren na imena stolpcev, ki jih vsebuje izjava IZBERI, pomemben ji je le vrstni red, v katerem so razporejeni. Zato so podatki v prvem določenem stolpcu, ki je bil izbran zaradi IZBERI, bo v vsakem primeru izpolnjen prvi stolpec tabele Prodajalci, naveden za operatorjem VSTAVITE V, ne glede na ime polja.

4. Kopiranje podatkov iz ene tabele v drugo

Pri delu z bazami podatkov je pogosto treba ustvariti kopije katere koli tabele za varnostno kopiranje ali spreminjanje. Če želite narediti popolno kopijo tabele, SQL zagotovi ločen stavek IZBERI V. Na primer, ustvariti moramo kopijo tabele Prodajalci, boste morali napisati zahtevo na naslednji način:

IZBERITE * INTO Sellers_new FROM Sellers

Za razliko od prejšnje zasnove VSTAVI V ... IZBERI ... Ko so podatki dodani v obstoječo tabelo, načrt kopira podatke v novo tabelo. Lahko tudi rečete, da prvi konstrukt uvozi podatke, drugi pa izvozi. Pri uporabi dizajna IZBERI ... V ... IZ ... Upoštevati je treba naslednje:

  • - v operaterju lahko uporabite poljubne stavke IZBERI, kot naprimer ZDRUŽI PO in IMATI
  • - združevanje lahko uporabite za dodajanje podatkov iz več tabel
  • - podatke je mogoče dodati le v eno tabelo, ne glede na to, iz koliko tabel so bili vzeti.

Zadnja posodobitev: 13.7.2017

Če želite dodati podatke, uporabite ukaz INSERT, ki ima naslednjo formalno sintakso:

VSTAVITE ime_tabele [(seznam_stolpcev)] VREDNOSTI (vrednost1, vrednost2, ... vrednostN)

Najprej pride izraz INSERT INTO, nato lahko v oklepajih podate z vejicami ločen seznam stolpcev, v katere naj se dodajo podatki, na koncu pa so za besedo VALUES navedene vrednosti, ki jih je treba dodati za stolpce. oklepaj.

Recimo, da je bila prej ustvarjena naslednja zbirka podatkov:

CREATE DATABASE productsdb; POJDI UPORABITI productsdb; CREATE TABLE Products (Id INT IDENTITY PRIMARY KEY, ProductName NVARCHAR(30) NOT NULL, Manufacturer NVARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price MONEY NOT NULL)

Dodajmo mu eno vrstico z ukazom INSERT:

VSTAVITE VREDNOSTI izdelkov ("iPhone 7", "Apple", 5, 52000)

Po uspešni izvedbi v programu SQL Server Management Studio bi se moralo v sporočilnem polju prikazati sporočilo »1 row(s) affected«:

Upoštevati je treba, da so vrednosti za stolpce v oklepajih po ključna beseda VREDNOSTI se posredujejo v vrstnem redu, v katerem so deklarirane. Na primer, v zgornjem stavku CREATE TABLE lahko vidite, da je prvi stolpec Id. Ker pa je zanj določen atribut IDENTITY, je vrednost tega stolpca samodejno ustvarjena in jo je mogoče izpustiti. Drugi stolpec predstavlja ProductName, zato bo prva vrednost, niz »iPhone 7«, posredovana temu stolpcu. Druga vrednost - niz "Apple" bo posredovan v tretji stolpec Proizvajalec in tako naprej. To pomeni, da se vrednosti posredujejo v stolpce na naslednji način:

    Ime izdelka: "iPhone 7"

    Proizvajalec: "Apple"

Pri vnosu vrednosti lahko določite tudi takojšnje stolpce, v katere bodo vrednosti dodane:

INSERT INTO Products (ProductName, Price, Manufacturer) VREDNOSTI ("iPhone 6S", 41000, "Apple")

Tu je vrednost navedena samo za tri stolpce. Poleg tega se zdaj vrednosti prenašajo po vrstnem redu stolpcev:

    Ime izdelka: "iPhone 6S"

    Proizvajalec: "Apple"

Za nedoločene stolpce (v tem primeru ProductCount) bo dodana privzeta vrednost, če je naveden atribut DEFAULT, ali vrednost NULL. Nedoločeni stolpci pa morajo biti ničelni ali imeti atribut DEFAULT.

Dodamo lahko tudi več vrstic hkrati:

VSTAVITE V VREDNOSTI izdelkov ("iPhone 6", "Apple", 3, 36000), ("Galaxy S8", "Samsung", 2, 46000), ("Galaxy S8 Plus", "Samsung", 1, 56000)

V tem primeru bodo v tabelo dodane tri vrstice.

Pri dodajanju lahko tudi določimo, da mora imeti stolpec privzeto vrednost s ključno besedo DEFAULT ali vrednost NULL:

INSERT INTO Products (ProductName, Manufacturer, ProductCount, Price) VREDNOSTI (»Mi6«, »Xiaomi«, PRIVZETO, 28000)

V tem primeru bo uporabljena privzeta vrednost za stolpec ProductCount (če je nastavljena, če ni, potem NULL).

Če imajo vsi stolpci atribut DEFAULT, ki določa privzeto vrednost, ali so ničelni, lahko vstavite privzete vrednosti za vse stolpce:

VSTAVITE PRIVZETE VREDNOSTI IZDELKOV

Če pa vzamemo tabelo Products, potem bo tak ukaz neuspešen z napako, saj več polj nima atributa DEFAULT in hkrati ne dovoljujejo vrednosti NULL.

Z uporabo SQL lahko kopirate informacije iz ene tabele v drugo.

Stavek INSERT INTO SELECT kopira podatke iz ene tabele in jih vstavi v obstoječo tabelo.

Izjava SQL INSERT INTO SELECT,

Stavek INSERT INTO SELECT izbere podatke iz ene tabele in jih vstavi v obstoječo tabelo. Vse obstoječe vrstice v ciljni tabeli se ne spremenijo.

SQL INSERT INTO SELECT, sintaksa

Vse stolpce lahko kopiramo iz ene tabele v drugo, obstoječo tabelo:

VSTAVITE V tabela2
IZBERI * IZ tabela1;

Lahko pa kopiramo samo želene stolpce v drugo obstoječo tabelo:

VSTAVITE V tabela2
(ime_stolpca(-a))
IZBERI ime_stolpca(-a)
OD tabela1;

Demo različica baze podatkov

V tej vadnici bomo uporabili dobro znano bazo podatkov Northwind.

Spodaj je izbor iz tabele »Stranke«:

Uporabniško imeIme strankeKontaktna osebaNaslovmestoPoštna številkaDržava
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Nemčija
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitucion 2222 Mehika D.F. 05021 Mehika
3 Antonio Moreno Taqueria Antonio Moreno Mataderos 2312 Mehika D.F. 05023 Mehika

In izbor iz tabele "Dobavitelji":

SQL INSERT INTO SELECT, Primeri

Kopiranje le nekaj stolpcev iz »Dobavitelji« v »Stranke«:

Kopiranje samo nemških dobaviteljev na "Kupce".