Inflearn brand logo image

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

Jeongin님의 프로필 이미지
Jeongin

작성한 질문수

[2025] 비전공자도 한 번에 합격하는 SQLD 올인원

조인과 표준조인

문제에 문제가 있는 것 같습니다.

작성

·

23

0

Part 2 > Chapter 1 단원 정리 문제

문제 57번입니다.

image.pngimage.png

쿼리문대로라면 2번이 답같은데 답지에는 1번이라고 나와있네요

답변 2

0

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

안녕하세요. Jeongin님.

Null 값은 가장 큰 값으로 인식됩니다. 그래서, 말씀하신 것처럼 ASC 로 정렬하게 되면 가장 뒤에 나오는 것이 맞습니다. 정답이 잘 못 표기가 되어 있었습니다. 실수한 내용은 바로 잡아서 반영해 두었습니다.

바로 잡아주신 것이 많네요. 감사한 마음에 선물을 하나 보내드리려고 합니다. 아래 링크에 이메일 주소만 하나 남겨주세요. 감사합니다.


그리고, 아래의 쿼리 참고하십시오.

DROPTABLEEMPLOYEES;

 

-- 1. EMPLOYEES 테이블 생성

CREATETABLEEMPLOYEES (

IDNUMBERPRIMARYKEY,

NAMEVARCHAR2(50),

DEPT_IDNUMBER

);

 

-- 2. SALARIES 테이블 생성

CREATETABLESALARIES (

EMP_IDNUMBERPRIMARYKEY,

SALARYNUMBER

);

 

-- 3. EMPLOYEES 테이블에 데이터 삽입

INSERTINTOEMPLOYEES (ID, NAME, DEPT_ID) VALUES (1, 'Alice', 101);

INSERTINTOEMPLOYEES (ID, NAME, DEPT_ID) VALUES (2, 'Bob', 102);

INSERTINTOEMPLOYEES (ID, NAME, DEPT_ID) VALUES (3, 'Carol', 103);

 

-- 4. SALARIES 테이블에 데이터 삽입

INSERTINTOSALARIES (EMP_ID, SALARY) VALUES (1, 6000);

INSERTINTOSALARIES (EMP_ID, SALARY) VALUES (2, 4500);

INSERTINTOSALARIES (EMP_ID, SALARY) VALUES (3, NULL);

 

-- 5. 데이터 삽입 확인

SELECT * FROMEMPLOYEES;

SELECT * FROMSALARIES;

 

-- 6. LEFT JOIN 실행 (문제에 제시된 쿼리)

SELECTE.NAME, S.SALARY

FROMEMPLOYEESE

LEFTJOINSALARIESSONE.ID = S.EMP_ID

ORDERBYS.SALARYASC;

Jeongin님의 프로필 이미지
Jeongin
질문자

친절히 답변해 주셔서 더 감사합니다.

이메일 작성해놨습니다!

 

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

이메일로 보내드렸습니다. 감사합니다.

0

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

질문해주신 내용은 SQL의 LEFT JOIN과 ORDER BY에 관련된 문제입니다. 두 테이블 EMPLOYEES와 SALARIES를 LEFT JOIN 하여 SALARY 값으로 정렬하는 SQL 쿼리의 결과를 판단하는 문제인데요.

LEFT JOIN은 EMPLOYEES 테이블을 기준으로 하여 매칭되지 않는 RIGHT 테이블의 행이 있으면 NULL로 나타내게 됩니다. 따라서, EMPLOYEES 테이블의 각 직원에 대응하는 SALARIES 테이블의 SALARY 값을 가져와야 하며, ORDER BY 절을 SALARY 기준으로 오름차순 정렬하므로 NULL, 4500, 6000 순으로 정렬됩니다.

이미지를 참고하면 이해가 더 수월할 것입니다:
- 문제 이미지1
- 문제 이미지2

따라서, 쿼리 결과는 Bob: 4500, Alice: 6000, Carol: NULL이 됩니다. 이로 인해 주어진 옵션들 중에는 2번이 정답입니다.

비슷한 유형의 질문과 답변이 있는 게시물도 참조하시면 좋을 것 같습니다:
- SQL JOIN에 대한 기초 및 진보된 설명

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

Jeongin님의 프로필 이미지
Jeongin

작성한 질문수

질문하기