SQL WHERE 절에서 계산된 열 별칭을 사용할 수 있나요?
SQL WHERE 절 및 계산된 열 별칭
SQL WHERE 절 내에서 계산된 열 별칭을 직접 사용하는 것은 일반적으로 지원되지 않습니다. 예를 들어 다음 쿼리는 실패합니다.
SELECT (InvoiceTotal - PaymentTotal - CreditTotal) AS BalanceDue FROM Invoices WHERE BalanceDue > 0; -- Error
해결책:
이러한 제한을 극복하는 두 가지 효과적인 방법은 다음과 같습니다.
1. 하위 쿼리(중첩 쿼리):
이 접근 방식은 하위 쿼리 내에 계산을 캡슐화합니다.
SELECT BalanceDue FROM ( SELECT (InvoiceTotal - PaymentTotal - CreditTotal) AS BalanceDue FROM Invoices ) AS x WHERE BalanceDue > 0;
2. 표현반복:
또는 SELECT 및 WHERE 절 모두에서 계산을 복제합니다.
SELECT (InvoiceTotal - PaymentTotal - CreditTotal) AS BalanceDue FROM Invoices WHERE (InvoiceTotal - PaymentTotal - CreditTotal) > 0;
성능 고려 사항:
하위 쿼리는 효율성이 떨어지는 것처럼 보일 수 있지만 SQL Server와 같은 최신 데이터베이스 시스템은 쿼리를 효과적으로 최적화하는 경우가 많습니다. 두 방법의 실행 계획은 동일한 경우가 많아 유사한 성능을 나타냅니다.
고급 최적화: 계산 열
여러 쿼리에서 반복적으로 사용되는 복잡한 계산의 경우 계산 열은 상당한 성능 이점을 제공합니다. 이 사전 계산된 열은 쿼리를 단순화하고 중복 계산을 줄입니다.
위 내용은 SQL WHERE 절에서 계산된 열 별칭을 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)?
