subconsultas ejemplos datos consultas condiciones con complejas clausulas sql

sql - ejemplos - Cómo insertar con where cláusula



subconsultas sql (4)

MERGE INTO a USING ( SELECT * FROM b WHERE b.dept = ''hr'' ) ON a.id = b.code WHEN NOT MATCHED THEN INSERT (id, name) VALUES (code, ''abc'') WHEN MATCHED THEN UPDATE SET name = ''abc''

Estoy usando la siguiente consulta para insertar valores en un campo en la tabla A.

insert into A (name) values (''abc'') where A.id=B.code and B.dept=''hr'' ;

¿Esta consulta es correcta? Si no, por favor bríndenme la forma correcta.


la parte de inserción debe estar bien

insert into A (name) values (''abc'')

realmente depende de lo que intenta lograr con la cláusula where y la referencia de la tabla B.


Debería usar UPDATE , si desea cambiar el valor del campo en los registros que seleccione utilizando la cláusula WHERE .


INSERT INTO A (name) SELECT name FROM A as a LEFT JOIN B as b ON b.id=a.id WHERE a.id=b.code AND b.dept=''hr''

A es la primera tabla, luego B es la segunda tabla UNIR JUNTAS usando la combinación IZQUIERDA, luego el nombre es la columna. esto es lo que quiere hacer en su pregunta.

Esto es lo que hace "INSERT SELECT STATEMENT".

Consulta que puede Insertar mientras seleccionas y combina un DONDE y UNIR.

INSERT TABLE1 (column1) SELECT column1 FROM TABLE1 as a LEFT JOIN TABLE2 as b ON b.column1=a.column1 WHERE a.column2=b.column3 AND b.column4=''hr''