SkillsTest.pl SQL pytania i zadania rekrutacyjne Jak skopiować wybrane kolumny z jednej tabeli do kolumn w drugiej tabeli?

: 2017-09-26 | Nr 14 z 24

Pytanie

Jak skopiować wybrane kolumny z jednej tabeli do kolumn w drugiej tabeli? SQL

Do kopiowania danych z jednej tabeli i układania ich w drugiej tabeli służy instrukcja INSERT INTO SELECT.
By kopiowanie wartości było możliwe, odpowiadające sobie typy kolumn w dwóch tabelach powinny być ze sobą kompatybilne.


Kopiowanie wszystkich kolumn z jednej tabeli do drugiej:

INSERT INTO destinationTable -- tabela do której chcemy skopiować
SELECT * FROM sourceTable -- tabela z której kopiujemy
WHERE someCondition

Kopiowanie wybranych kolumn z jednej tabeli do drugiej

INSERT INTO destinationTable (column1, column2, ...) -- wybieramy kolumny do których kopiujemy
SELECT (column1, column2, ...) -- wybieramy kolumny do skopiowania. Ważna kolejność!
FROM sourceTable  
WHERE someConditions

Jako przykład posłużą poniższe tabele wypełnione przykładowymi danymi.

CREATE TABLE Car (
    Id INT,
    Name VARCHAR(20),
    Speed INT
)
CREATE TABLE Vehicle(
    Id INT,
    Name VARCHAR(20),
    Speed INT
)

Kopiowanie wszystkich kolumn z jednej tabeli do drugiej tabeli

INSERT INTO Vehicle -- tabela do której chcemy skopiować
SELECT *  -- wybieramy wszystkie kolumny
FROM Car -- tabela z której kopiujemy

Efekt wykonania powyższej instrukcji poniżej (na zielono zaznaczono skopiowane wartości)


Kopiowanie wybranych wierszy z jednej tabeli do drugiej tabeli

INSERT INTO Vehicle -- tabela do której chcemy skopiować
SELECT * -- wybieramy wszystkie kolumny
FROM Car  -- tabela z której kopiujemy
WHERE Car.Id < 4  -- warunek który muszą spełnić kopiowane kolumny

Efekt wykonania powyższej instrukcji poniżej (na zielono zaznaczono skopiowane wartości)


Kopiowanie wybranych kolumn z jednej tabeli do drugiej tabeli

INSERT INTO Mark (Id, Title) -- kolumny jawnie zdefiniowane
SELECT Car,Id, Car.Name -- wybieramy jawnie kolumny
FROM Car  -- tabela z której kopiujemy

Efekt wykonania powyższej instrukcji poniżej (na zielono zaznaczono skopiowane wartości)

Polecamy

Na co możesz wydać swoje 15k?

Zabawki dla dwulatka