작성
·
8
0
ORDER BY '이름' 으로 정렬을 하면 의도대로 정렬이 안되고, ORDER BY 이름 또는 이름
으로 정렬을 하면 의도대로 실행이 되는데 무슨 차이인지 잘 모르겠습니다ㅠ
'이름' 실행결과
이름 또는 이름
실행 결과
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 챙준님께서 질문하신 ORDER BY 구문에서 따옴표 사용으로 인한 차이에 대해 설명드리겠습니다.
SQL에서의 따옴표 사용은 종종 혼동을 일으킬 수 있습니다. 다음과 같이 사용목적이 다릅니다:
‘이름’ (Single Quotes): 일반적으로 SQL에서 단일 따옴표는 문자열 리터럴을 지정할 때 사용됩니다. 예를 들어, WHERE 조건에서 특정한 문자열 값을 조회하기 위해 사용됩니다. ‘이름’을 단일 따옴표로 감싸면 문자열 리터럴로 해석되기 때문에, SORTED BY ‘이름’은 ‘이름’이라는 문자열로 해석되어 원하는 결과가 나오지 않을 수 있습니다.
이름 또는 이름
(Backticks or No Quotes): 백틱(`)은 MySQL에서 열 이름을 지정할 때 사용되며, 특히 열 이름이 SQL의 예약어나 공백 및 특수 문자가 포함된 경우 안전하게 열 이름으로 인식되도록 합니다. 백틱을 사용하지 않는 경우도 정상적으로 인식됩니다.
그래서 ORDER BY '이름'
은 ‘이름’ 그 자체로 정렬하라는 의미로 잘못 사용되고 있는 반면, ORDER BY 이름
또는 ORDER BY \
이름``은 실제로 열의 데이터를 기준으로 정렬하게 됩니다.
아래의 질문은 이러한 이해를 돕기위해 도움이 될 수 있습니다:
- GROUP BY 에서 ORDER BY 를 사용했을 때 오류: 비슷한 주제로, GROUP BY와 ORDER BY를 사용할 때 발생할 수 있는 오류 및 이해도를 높이기 위한 실무 사례가 포함되어 있습니다.
- 동적 order by..: ORDER BY에 조건을 유연하게 적용해야할 때 고려해야 하는 사항들을 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.