이 SQL Server 쿼리는 EMP
테이블에서 부서별로 구성된 쉼표로 구분된 직원 이름 목록을 효율적으로 생성합니다. 이 프로세스는 하위 쿼리와 문자열 조작 기술을 교묘하게 사용합니다.
FOR XML PATH('')
절에 포함된 하위 쿼리는 각 부서의 직원 이름을 수집합니다. 이 연결은 XML 태그 없이 발생하며 특정 부서의 모든 직원 이름이 포함된 XML 조각을 생성합니다. 이 조각은 allemp
변수에 저장됩니다.
다음으로 REPLACE
함수는 allemp
문자열 내의 공백을 쉼표로 바꿔 원하는 쉼표로 구분된 목록으로 변환합니다. deptno
으로 그룹화된 최종 결과는 부서당 단일 행을 제공하며 쉼표로 구분된 직원 이름을 표시합니다.
결과는 다음과 같습니다.
<code>deptno allemp 10 CLARK,KING,MILLER 20 SMITH,JONES,SCOTT,ADAMS,FORD 30 ALLEN,WARD,MARTIN,BLAKE,TURNER,JAMES</code>
명시적인 별칭이 없는 FOR XML PATH('')
절은 태그를 묶지 않고 XML 조각을 생성합니다. 특수 XML 문자를 보다 강력하게 처리하려면 TYPE
키워드(부록 참조)를 추가하여 적절한 이스케이프를 보장하는 것이 좋습니다.
이 방법은 쉼표로 구분된 목록을 생성하기 위한 실용적인 솔루션을 제공하며 데이터 내보내기 또는 보고서 생성에 유용합니다.
위 내용은 SQL Server에서 부서별로 쉼표로 구분된 직원 이름 목록을 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!