SQL을 사용하여 다른 테이블의 Oracle 테이블 데이터 업데이트
관계형 데이터베이스 관리에서는 다른 테이블의 값을 사용하여 한 테이블의 데이터를 업데이트해야 하는 경우가 많습니다. 이는 SQL UPDATE 문을 사용하여 수행할 수 있습니다.
장면:
다음 데이터가 포함된 두 개의 테이블인 표 1과 표 2를 생각해 보세요.
<code>表 1: id name desc ----------------------- 1 a abc 2 b def 3 c adf 表 2: id name desc ----------------------- 1 x 123 2 y 345</code>
타겟:
두 테이블의 ID 열이 일치하면 표 2의 이름 및 설명 열로 표 1을 업데이트합니다. 예상되는 결과는 다음과 같습니다.
<code>表 1: id name desc ----------------------- 1 x 123 2 y 345 3 c adf</code>
옵션 1: 관련 업데이트
Oracle SQL에서 관련 업데이트를 사용할 수 있습니다.
<code class="language-sql">UPDATE table1 t1 SET (name, desc) = (SELECT t2.name, t2.desc FROM table2 t2 WHERE t1.id = t2.id) WHERE EXISTS ( SELECT 1 FROM table2 t2 WHERE t1.id = t2.id )</code>
지침:
이 쿼리는 일치하는 ID를 기반으로 table2에서 해당 이름 및 설명 값을 검색하는 하위 쿼리를 사용하여 table1에 대한 업데이트를 수행합니다. WHERE EXISTS 절은 table2에 일치하는 행이 있는 table1의 행만 업데이트되도록 합니다.
옵션 2: JOIN 기반 업데이트
조인에 의해 생성된 결과가 키를 보존한다고 가정하면 다음 업데이트 문을 사용할 수 있습니다.
<code class="language-sql">UPDATE (SELECT t1.id, t1.name name1, t1.desc desc1, t2.name name2, t2.desc desc2 FROM table1 t1, table2 t2 WHERE t1.id = t2.id) SET name1 = name2, desc1 = desc2</code>
지침:
이 쿼리는 조인 뷰에 대한 업데이트를 수행하여 table1의 name 및 desc 열을 table2의 해당 ID와 일치하는 값으로 효과적으로 업데이트합니다.
위 내용은 SQL을 사용하여 다른 테이블에서 Oracle 테이블 데이터를 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!