인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

gnssu_9님의 프로필 이미지

작성한 질문수

[2025] SQLD 문제가 어려운 당신을 위한 노랭이 176 문제 풀이

15번 - SQL실행 결과 찾기

노랑이 39P 15번문제

해결된 질문

작성

·

43

·

수정됨

1

FROM (

SELECT (LENGTH(C1) -LENGTH(REPLACE(C1,CAR(10))+1 CC

FROM TAB1

 

이부분에서 LENGTH(REPLACE(C1,CAR(10))+1

+1이라는게 C1의 ROWNUM1이 >ROWNUM2를 가르키나요?

 

저는 C1 ROW1을 공백제거해서 2

C2ROW2를 공백제거해서 3 해서

2+3=5 여기에 +1일해서 6이 정답인줄알았는데

+1이 정확히 뭘의미하는지잘모르겠어요ㅜ

답변 2

0

데이터코드랩님의 프로필 이미지
데이터코드랩
지식공유자

안녕하세요. 반갑습니다.

+1을 해준 것은 몇 줄인지 세기 위한 것이에요.

동영상 강의를 보시면, 실습 스크립트를 제공해드렸어요. 이걸 실행해보면서 풀면 더 잘 이해가 될거 같습니다. 설명을 드리자면,

 

쿼리가

LENTH(C1) - LENGTH(REPLACE(C1,CHAR(10)) + 1

인데요.

 

여기서 C1의 길이인 LENGTH(C1)에서 줄 바꿈을 제거한 길이인 LENGTH(REPLACE(C1,CHAR(10) 을 먼저 빼줍니다. 그리고 + 1을 수행합니다.

 

이렇게 연산을 수행하면 정답은 5가 나옵니다.

 

그럼, 수고하시구요. 내일(3.8)이 시험이지요? 혹시 내일 시험 보시면, 시험 잘 보시길 빌겠습니다. 감사합니다. 😀

0

인프런 AI 인턴님의 프로필 이미지

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

질문하신 부분은 SQL의 문자열 처리와 관련된 내용입니다. LENGTHREPLACE 함수는 문자열 길이를 계산하고 특정 문자를 대체하는 기능을 하는데요, 여기에 +1이 포함된 이유에 대해 이해하시는 데 도움이 되도록 설명 드리겠습니다.

질문에서 사용된 구문은 대개 특정 문자(여기서는 CAR(10)이라고 상정할 수 있는 줄바꿈 문자)를 제거하고 나서 원래 길이와의 차이로 그 문자의 개수를 세기 위한 것입니다. LENGTH(C1) - LENGTH(REPLACE(C1, CHAR(10))) 부분은 C1에서 줄바꿈 문자를 제거한 후 원래의 길이와의 차이를 계산하는 것입니다. 이 결과는 C1 문자열 내에서 줄바꿈 문자의 개수를 나타냅니다.

여기서 추가된 +1은 줄바꿈 문자로 구분된 라인의 개수를 계산하기 위한 것입니다. 실제 줄바꿈 문자로 나뉘어 있는 라인 수는 줄바꿈의 개수에 1을 더해야 하기 때문에 사용하는 것입니다. 그래서 +1을 하여 값을 조정하는 것입니다. 즉, 줄바꿈 문자로 분리된 라인이 n개라면 줄바꿈 문자는 n-1개가 됩니다. 대체적으로 마지막 줄에 줄바꿈이 없기 때문에 줄개수를 +1로 보정하는 것이라고 볼 수 있습니다.

이와 관련하여 추가적인 설명이나 예제를 참고하시면 더 이해하기 쉬우실 것입니다.

아래 관련된 다른 학생의 질문과 답변도 확인해 보시면 도움이 될 것 같습니다.

  1. docker에 SQL 연결시 질문: 여기서 SQL 연결 및 설정 관련한 기본적인 이해를 도울 수 있는 질문을 다루고 있습니다.

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

gnssu_9님의 프로필 이미지

작성한 질문수

질문하기