복붙노트

[SQL] 어떻게 where 절에 삽입

SQL

어떻게 where 절에 삽입

나는 테이블 A에서 하나 개의 필드에 삽입 값으로 다음 쿼리를 사용하고 있습니다

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

이 쿼리의 권리인가? 그렇지 않으면, 나에게 올바른 방법을 제공하십시오.

해결법

  1. ==============================

    1.이 기록에서 필드의 값을 변경하려는 경우 당신은 오히려 당신이 WHERE 절을 사용하여 SELECT, UPDATE를 사용해야합니다.

    이 기록에서 필드의 값을 변경하려는 경우 당신은 오히려 당신이 WHERE 절을 사용하여 SELECT, UPDATE를 사용해야합니다.

  2. ==============================

    2.

    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'
    
  3. ==============================

    3.삽입 부분은 확인을해야

    삽입 부분은 확인을해야

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

    정말 당신이 where 절과 B 테이블을 참조하여 달성 하려는지에 따라 달라집니다.

  4. ==============================

    4.

    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가 함께 좌 이름 열인 후 가입하여 조인 번째 테이블이다. 이것은 그가 자신의 질문에하고 싶어하는 것이다.

    이것은 "INSERT SELECT 문이"할 것입니다.

    선별을 수행하고이 WHERE 및 가입 결합하면서 삽입 할 수 있습니다 쿼리.

    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'
    
  5. from https://stackoverflow.com/questions/545593/how-to-insert-with-where-clause by cc-by-sa and MIT license