집 >데이터 베이스 >MySQL 튜토리얼 >상관 하위 쿼리를 사용하여 Oracle 테이블을 업데이트하려면 어떻게 해야 합니까?
상관 하위 쿼리를 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!