상관 하위 쿼리를 사용하여 Oracle SQL에서 테이블 데이터 업데이트
일치하는 ID를 기반으로 다른 테이블에서 테이블 데이터를 업데이트해야 하는 경우 Oracle SQL은 관련 업데이트라는 강력한 메커니즘을 제공합니다. 이 접근 방식을 사용하면 SQL 문에서 하위 쿼리를 사용하여 원활한 업데이트가 가능합니다.
해당 ID를 기반으로 표 2의 데이터로 표 1을 업데이트하는 예를 살펴보겠습니다.
<code>Table 1: id name desc ----------------------- 1 a abc 2 b def 3 c adf Table 2: id name desc ----------------------- 1 x 123 2 y 345</code>
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>
이 쿼리는 상관 하위 쿼리를 사용하여 표 1의 ID를 기반으로 표 2에서 일치하는 데이터를 추출합니다. WHERE 절은 표 2의 해당 행이 있는 표 1의 행만 업데이트되도록 합니다.
또는 조인 결과가 키 보존 뷰인 경우 다음 쿼리를 사용할 수도 있습니다.
<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>
이 쿼리는 두 테이블의 일치하는 데이터가 ID 열로 조인되는 파생 테이블에서 업데이트를 수행합니다. 후속 SET 절은 표 1의 열을 표 2의 값으로 업데이트합니다.
이러한 관련 업데이트 기술을 사용하면 Oracle SQL에서 데이터를 효율적으로 업데이트하여 테이블 간의 원활한 동기화와 데이터 일관성을 보장할 수 있습니다.
위 내용은 상관 하위 쿼리를 사용하여 Oracle 테이블을 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!