Inflearn brand logo image

인프런 커뮤니티 질문&답변

rex님의 프로필 이미지
rex

작성한 질문수

Real MySQL 시즌 1 - Part 1

Ep.12 SQL 문장의 가독성 향상

ep12. (2) LEFT JOIN 사용 방법 준수 - 오타 질문

작성

·

15

0

안녕하세요

(2) LEFT JOIN 사용 방법 준수 - 오타 질문 (3:58 부근) 에서 첫 번째 SQL이 아래와 같이 써있는데요

 

select u.id, u.name, ua.value
from user u
     left join user_attribute ua on ua.user_id=u.id
where ua.name='address'

 

where 조건에 ua.name이 아니고, ua.value가 아닐까 의미적으로 맞는게 아닌가 싶어서 질문드립니다.

 

전체 스키마가 있는게 아니다보니 제가 오해한 걸수도 있어서, user, user_attribute 테이블 전체 스키마를 주시면 감사하겠습니다!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. rex님.

LEFT JOIN의 사용에 있어서 WHERE 조건에 대한 오타 가능성에 대해 질문 주셨군요. 해당 WHERE 조건에 ua.name='address' 부분은 ua.value='address' 로 수정이 필요한지에 대해 궁금증을 가지고 계신 것 같습니다.

이는 실제 스키마와 논리에 따라 다를 수 있는 부분입니다. 일반적으로, ua.name='address' 는 특정 속성(attribute) 이름이 ‘address’일 경우를 필터링하는 조건입니다. 만약 ua.value 가 주소 정보를 포함하고 있다면, ua.value 을 기준으로 필터링하는 것이 더 의미적일 수 있습니다.

다음은 스키마가 전제된 상황에서 각 의미에 대한 예시입니다:

  • ua.name='address': 속성이름이 ‘address’인 경우를 필터링 -> 속성을 식별
  • ua.value='address': 속성 값이 ‘address’인 경우를 필터링 -> 주소 정보를 확인

스키마 전체를 제공하지 않는 한 확정적인 결론을 내리기는 어렵습니다. 다만, WHERE 절의 조건이 schema 구조 및 데이터 논리에 따라 다르게 해석될 수 있기에 명확한 결과를 원할 경우, 스키마 정보에 맞게 붙여진 용어들이 올바른지 확인하는 것이 중요합니다.

관련된 기존 질문 및 답변 링크를 참조하실 수 있도록 아래를 제공합니다:
- ep 3 5분 16초 경 설명 질문 있습니다.

해당 답변을 통해 비슷한 SQL문의 오타 및 핸들링 방식을 참고하실 수 있습니다. 스키마 구성이 필요한 경우에는 강의 자료나 추가적인 강의를 통해 확인 부탁드리며, 클라이언트의 요구사항에 맞게 조정이 필요할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

rex님의 프로필 이미지
rex

작성한 질문수

질문하기