SQL-запрос для обновления из одной таблицы в другую на основе совпадения идентификаторов
В этой статье мы увидим, как выполнить обновление из одной таблицы в другую на основе совпадения идентификаторов. Мы можем обновить таблицу, используя оператор 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.