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''