강의

멘토링

로드맵

Inflearn コミュニティ Q&A

rex5125 のプロフィール画像
rex5125

投稿した質問数

Real MySQL シーズン 1 - Part 1

Ep.12 SQL 문장の可読性向上

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

解決済みの質問

作成

·

75

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 테이블 전체 스키마를 주시면 감사하겠습니다!

mysqldbms/rdbmsbackendquery-tuningmysql-query

クイズ

MySQL에서 CHAR와 VARCHAR 데이터 타입의 주요 차이점은 무엇일까요?

CHAR는 가변 길이, VARCHAR는 고정 길이 문자열을 저장해요.

CHAR는 최대 길이만큼 공간을 미리 할당하고, VARCHAR는 저장된 데이터만큼만 공간을 사용해요.

VARCHAR는 인덱스를 사용할 수 없지만, CHAR는 사용할 수 있어요.

VARCHAR는 최대 저장 용량이 CHAR보다 훨씬 작아요.

回答 2

0

eunbinbaeck0088님의 프로필 이미지
eunbinbaeck0088
インストラクター

안녕하세요! 답변이 늦어져서 죄송합니다.
user 테이블은 유저의 이름을 포함한 기본적인 유저 정보가 저장되는 테이블이고, user_attribute 테이블에는 추가적인 유저의 속성 정보들이 저장되는 테이블이라고 보시면 됩니다.

user_attribute 테이블에는 속성명(name)/속성값(value) 쌍으로 데이터가 저장되고, 쿼리에서는 유저의 주소 정보를 가져오기 위해 where 절에 ua.name='address' 조건을 사용하는 것이라고 봐주시면 되어요.

그럼 추가로 더 궁금한 부분 있으시면 언제든지 말씀해주세요.

수강해주셔서 감사합니다. 🙂

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

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

rex5125 のプロフィール画像
rex5125

投稿した質問数

質問する