2010-02-24 3 views

답변

2

예는

select * 
FROM (select * from TableA where FieldA=1) sub 
where FieldB > 10 

그냥 하위 별칭을 선택주고 기억.

+0

사용하지 않으면 별칭에 별다른 의미가 없습니다.) –

+0

아침 조랑말. 테이블 별칭을 생략하면 쿼리가 컴파일되지 않습니다 ... X-) –

+0

MySQL을 사용 해본 경험이 있습니다. 내일 테스트 해 보겠습니다. –

1

네, 그렇게 할 수 있습니다.

0

당신은 또한 공통 테이블 식을 사용하여 하위 쿼리를 구분합니다 코드를 읽기 쉽게 만들 수 있도록 (CTE의) :

WITH Foo (FieldA, FieldB, FieldC) AS 
(
    SELECT FieldA, FieldB, FieldC 
    FROM TableA 
    WHERE FieldA=1 
) 

SELECT * 
FROM Foo 
WHERE FieldB > 10 

단점은 당신이 명시 적으로 열 이름을해야 할 것입니다 . 그러나 이렇게하면 실제로 코드가 빨라지므로 항상 나쁜 것은 아닙니다.

관련 문제