UNION을 사용하여 여러 MS 액세스 테이블의 데이터 결합 및 정렬
대규모 데이터베이스에서는 여러 테이블의 데이터를 결합하는 것이 일반적인 작업입니다. UNION
연산자는 여러 테이블의 행을 단일 결과 집합으로 병합하는 방법을 제공합니다. 그러나 이 결합된 데이터의 올바른 순서를 얻으려면 MS Access에서 특정한 접근 방식이 필요합니다.
이런 간단한 시도는 실패합니다.
<code class="language-sql">SELECT table1.field1 FROM table1 ORDER BY table1.field1 UNION SELECT table2.field1 FROM table2 ORDER BY table2.field1</code>
MS Access Jet 데이터베이스 엔진은 ORDER BY
쿼리 내에서 직접 UNION
절을 허용하지 않습니다.
해결책: 중첩 쿼리 및 별칭
해법은 각 개별 SELECT
문을 자체 하위 쿼리 내에 중첩한 다음 각 하위 쿼리 내에 ORDER BY
절을 적용하는 것입니다. 이를 위해서는 각 하위 쿼리에 별칭을 할당해야 합니다.
<code class="language-sql">SELECT * FROM ( SELECT table1.field1 FROM table1 ORDER BY table1.field1 ) AS DUMMY_ALIAS1 UNION ALL SELECT * FROM ( SELECT table2.field1 FROM table2 ORDER BY table2.field1 ) AS DUMMY_ALIAS2</code>
이 방법을 사용하면 table1
및 table2
에서 결합된 데이터의 올바른 순서를 지정할 수 있습니다. 중복을 제거하는 UNION ALL
과 달리 중복을 포함하여 두 쿼리의 모든 행을 포함하는 UNION
의 사용에 유의하세요. 필요에 따라 적절한 UNION
연산자를 선택하세요. 이 기술을 사용하면 MS Access에서 UNION
연산자를 사용하여 결합된 데이터를 효과적으로 정렬할 수 있습니다.
위 내용은 MS Access에서 UNION을 사용하여 여러 테이블의 데이터를 어떻게 주문할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!