如何插入where子句

时间:2009-02-13 11:15:40

标签: sql

我使用以下查询将值插入表A中的一个字段。

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

这个查询对吗? 如果没有,请给我一个正确的方法。

4 个答案:

答案 0 :(得分:9)

如果要更改使用UPDATE子句选择的记录中字段的值,则应使用WHERE

答案 1 :(得分:6)

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'

答案 2 :(得分:1)

插入部分应该没问题

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

它实际上取决于您使用where子句和B表引用实现的目的。

答案 3 :(得分:1)

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是第一个表然后B是第二个表JOIN一起使用LEFT JOIN然后name是列。这就是他想在他的问题上做的事情。

这就是" INSERT SELECT STATEMENT"做。

在执行选择并组合WHERE和JOIN时可以插入的查询。

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'