SQL-запрос для обновления из одной таблицы в другую на основе совпадения идентификаторов

Опубликовано: 1 Сентября, 2022

В этой статье мы увидим, как выполнить обновление из одной таблицы в другую на основе совпадения идентификаторов. Мы можем обновить таблицу, используя оператор UPDATE в SQL. За оператором обновления всегда следует команда SET. Команда SET используется для указания, какие столбцы и значения необходимо обновить в таблице.

Синтаксис ОБНОВЛЕНИЯ:

UPDATE table_name
SET column_name = value
WHERE condition;

Чтобы выполнить вышеуказанную функцию, мы можем установить имя столбца равным данным, присутствующим в другой таблице, и в условии предложения WHERE мы можем сопоставить идентификатор.

Теперь для демонстрации выполните следующие шаги:

Шаг 1: Создайте базу данных

мы можем использовать следующую команду для создания базы данных с именем geeks.

Запрос:

CREATE DATABASE geeks;

Шаг 2 : Используйте базу данных

Используйте приведенный ниже оператор SQL, чтобы переключить контекст базы данных на гиков:

Запрос:

USE geeks;

Шаг 3: Определение таблицы

У нас есть две таблицы с именами «demo_table1» и «demo_table2» в нашей компьютерной базе данных.

Запрос (демо_таблица1):

CREATE TABLE demo_table1(
ID int,
NAME VARCHAR(20),
AGE INT,
CITY VARCHAR(20) );

Запрос (демо_таблица2):

CREATE TABLE demo_table2(
ID int,
NAME VARCHAR(20),
AGE int);

Шаг 4: Вставьте данные в таблицу

Запрос (демо_таблица1):

INSERT INTO demo_table1 VALUES
(1,"Romy",23,"Delhi"),
(2,"Rahul",23,"Delhi"),
(3,"Nikhil",24,"Punjab"),
(4,"Ranvir",23,"Punjab"),
(5,"Samiksha",23,"Banglore"),
(6,"Ashtha",24,"Banglore"),
(7,"Tannu",30,"Patna"),
(8,"Girish",30,"Patna"),
(9,"Ram", 20 , "Patna"),
(10,"Raj", 12, "Delhi");

Запрос (демо_таблица2):

INSERT INTO demo_table2 VALUES
(3,"Fanny",25 ),
(7,"Prem", 30),
(1,"Preeti",21),
(4,"Samita",32);

Шаг 5. Просмотрите содержимое

Выполните приведенный ниже запрос, чтобы просмотреть содержимое таблицы.

Запрос (демо_таблица1):

SELECT * FROM demo_table1;

Выход:

Запрос (демо_таблица2):

SELECT * FROM demo_table2;

Шаг 6: Обновите данные demo_table1 из demo_table2 на основе совпадения идентификаторов

Для демонстрации обновите все поля demo_table1 из demo_table2 на основе совпадения идентификаторов. Если две таблицы имеют одинаковое имя столбца, мы можем написать имя столбца, используя синтаксис « имя_таблицы.имя_столбца », чтобы избежать путаницы.

Например:

demo_table1 и demo_table 2 имеют столбец NAME.

  • demo_table1.ID : указывает столбец идентификатора demo_table1.
  • demo_table2.ID: указывает столбец идентификатора demo_table2.

Запрос:

UPDATE demo_table1
SET demo_table1.NAME=demo_table2.NAME, 
demo_table1.AGE=demo_table2.AGE
FROM demo_table1, demo_table2
WHERE demo_table1.ID=demo_table2.ID;

Просмотрите содержимое demo_table1 еще раз, чтобы увидеть обновленную таблицу.

Выход:

Мы видим, что содержимое теперь обновляется на основе значений идентификатора demo_table2.