mysql에서 별칭을 사용할때 자주 실수 하는 것에 대해 알아보자
위 사진처럼 BoxOfficeWWGross 필드가 '수익'이라는 별칭으로 설정됨.
그리고 order by 에서 별칭을 써주고 해당 쿼리문을 실행해보면 원하는데로 내림차순으로 정렬되지 않는다.
왜 이런 문제가 발생할까? mysql doc에 따르면 별칭에 대한 인용을 참조할때는 무조건 `(백틱기호)를 사용해야 한다. 그렇지 않으면 문자열로 처리된다고 한다.
해결법은 다음과 같다.
1. 가장 쉬운 해결법은 인용구호를 쓰지 않는 것이다. 수익에 인용구호를 쓰지 않으면 문제되지 않는다.
- 두번째로 만약 인용구호를 쓴다면 백틱기호를 사용해준다.
- 세번째로 만약 별칭을 띄어쓰기 한다면 무조건 인용부호를 써주어야 하기때문에 별칭을 인용하려면 백틱기호를 사용해주자!
위 방법처럼 하면 수익 필드에 있는 컬럼들이 내림차순으로 잘 정렬된 것을 확인 할 수 있다!
참고문헌
1. [mysql doc]
https://dev.mysql.com/doc/refman/8.0/en/problems-with-alias.html