복잡한 SQL 쿼리에서 별칭 익히기
복잡한 SQL 쿼리를 단순화하려면 가독성을 높이고 열 이름을 더 짧게 만들기 위해 별칭을 사용하는 경우가 많습니다. 그러나 동일한 SELECT
문 내의 후속 계산에서 별칭을 직접 참조하면 오류가 발생할 수 있습니다.
다음 문제가 있는 쿼리를 생각해 보세요.
<code class="language-sql">SELECT 10 AS my_num, my_num * 5 AS another_number FROM table;</code>
이 쿼리는 계산에 별칭 my_num
을 사용하려고 시도하여 "알 수 없는 열" 오류가 발생합니다. 이는 별칭이 정의된 동일한 SELECT
문 내에서 별칭에 직접 액세스할 수 없기 때문입니다.
해결책은 하위 쿼리를 사용하는 것입니다.
<code class="language-sql">SELECT my_num, my_num * 5 AS another_number FROM (SELECT 10 AS my_num FROM table) AS subquery;</code>
수정된 쿼리가 작동하는 방식은 다음과 같습니다.
내부 SELECT
문: (SELECT 10 AS my_num FROM table)
이 하위 쿼리는 값 10을 별칭 my_num
에 할당합니다. 많은 데이터베이스 시스템에서 하위 쿼리의 구문 요구 사항을 충족하기 위해 FROM table
절이 포함되어 있지만 이 경우 특정 테이블은 사용되지 않습니다.
외부 SELECT
문: SELECT my_num, my_num * 5 AS another_number FROM ( ... ) AS subquery;
그런 다음 외부 쿼리는 my_num
을 선택하고 my_num * 5
계산을 수행하여 하위 쿼리에 정의된 별칭을 올바르게 참조합니다. 명확성을 높이고 구문 요구 사항을 충족하기 위해 하위 쿼리의 별칭은 subquery
입니다.
중첩 SELECT
문을 사용하는 이 접근 방식을 사용하면 여러 계산에서 별칭을 재사용할 수 있어 복잡한 SQL 쿼리의 구성과 유지 관리성이 크게 향상됩니다.
위 내용은 후속 SQL 계산에서 별칭을 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!