比如SELECT a AS b WHRER b=1;
我这样使用会报错,说b不存在。
学习是最好的投资!
mysql 하단에서 SQL 문을 실행할 때 필터링 조건이 먼저 오고, 별칭 as B가 뒤에 옵니다. 그래서 기계가 where 뒤에 별칭을 보면 인식하지 못하므로 B가 존재하지 않는다고 보고하게 됩니다.
B를 필터 조건으로 사용해야 하는 경우: 해결책: 외부에 다른 레이어를 중첩합니다. select * from(테이블에서 A를 B로 선택) t 여기서 t.B = XXX - 임의 필터 조건
중첩이 없으면 A만 필터 조건으로 사용할 수 있습니다
물론 존재하지 않습니다. 이 b는 a = 1인 AS b FROM 테이블 선택
에서 t.b를 선택하세요(
테이블에서 A를 B로 선택
) ㅋ
여기서 t.b =xxxx
B는 이때 직접 사용할 수 있는 곳
b는 쿼리 결과 a의 별칭이며
mysql 하단에서 SQL 문을 실행할 때 필터링 조건이 먼저 오고, 별칭 as B가 뒤에 옵니다.
그래서 기계가 where 뒤에 별칭을 보면 인식하지 못하므로 B가 존재하지 않는다고 보고하게 됩니다.
B를 필터 조건으로 사용해야 하는 경우:
해결책: 외부에 다른 레이어를 중첩합니다.
select * from
(
테이블에서 A를 B로 선택
) t
여기서 t.B = XXX - 임의 필터 조건
중첩이 없으면 A만 필터 조건으로 사용할 수 있습니다
물론 존재하지 않습니다. 이 b는
쿼리 결과가 있는 별칭에만 해당됩니다.a = 1인 AS b FROM 테이블 선택
에서 t.b를 선택하세요
(
테이블에서 A를 B로 선택
) ㅋ
여기서 t.b =xxxx
B는 이때 직접 사용할 수 있는 곳
b는 쿼리 결과 a의 별칭이며
에는 확실히 존재하지 않습니다.