mysql 별칭(aliases) 사용시 기본적인 실수를 해결해보자

kihoo_ni·2024년 4월 7일

mysql에서 별칭을 사용할때 자주 실수 하는 것에 대해 알아보자


위 사진처럼 BoxOfficeWWGross 필드가 '수익'이라는 별칭으로 설정됨.
그리고 order by 에서 별칭을 써주고 해당 쿼리문을 실행해보면 원하는데로 내림차순으로 정렬되지 않는다.


왜 이런 문제가 발생할까? mysql doc에 따르면 별칭에 대한 인용을 참조할때는 무조건 `(백틱기호)를 사용해야 한다. 그렇지 않으면 문자열로 처리된다고 한다.

해결법은 다음과 같다.


1. 가장 쉬운 해결법은 인용구호를 쓰지 않는 것이다. 수익에 인용구호를 쓰지 않으면 문제되지 않는다.

  1. 두번째로 만약 인용구호를 쓴다면 백틱기호를 사용해준다.
  1. 세번째로 만약 별칭을 띄어쓰기 한다면 무조건 인용부호를 써주어야 하기때문에 별칭을 인용하려면 백틱기호를 사용해주자!


위 방법처럼 하면 수익 필드에 있는 컬럼들이 내림차순으로 잘 정렬된 것을 확인 할 수 있다!

참고문헌
1. [mysql doc]
https://dev.mysql.com/doc/refman/8.0/en/problems-with-alias.html

0개의 댓글