Insert into select удаляет ли данные во вставляемую таблицу?

Оператор INSERT INTO ... SELECT в SQL не удаляет данные во вставляемой таблице. Он используется для вставки данных из выборки (результата запроса) в другую таблицу.

Когда вы используете INSERT INTO ... SELECT, вы указываете исходную таблицу (откуда будут браться данные) и целевую таблицу (куда будут вставляться данные). Затем, запрос выбирает данные из исходной таблицы и вставляет их в целевую таблицу.

Во время выполнения оператора INSERT INTO ... SELECT не происходит удаления данных из исходной таблицы. Он только копирует данные из исходной таблицы и добавляет их в целевую таблицу. Исходные данные остаются нетронутыми.

Учтите, однако, что оператор INSERT INTO ... SELECT может привести к дублированию данных в целевой таблице, если она уже содержит записи, которые соответствуют выборке. Если вы хотите избежать дублирования данных, вы можете использовать различные методы, такие как использование предложения WHERE NOT EXISTS или LEFT JOIN.

Пример использования оператора INSERT INTO ... SELECT:

INSERT INTO target_table (column1, column2, column3)
SELECT column1, column2, column3
FROM source_table;

В этом примере, данные из столбцов column1, column2 и column3 исходной таблицы source_table будут выбраны и вставлены в столбцы с теми же именами в целевую таблицу target_table.