inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이

4번 문제 풀이

JOIN된 테이블의 명칭이 헷갈립니다.

315

wjhwang

작성한 질문수 1

0

SELECT DISTINCT BST.N , CASE WHEN BST.P IS NULL THEN 'Root' WHEN BST2.N IS NULL THEN 'Leaf' ELSE 'Inner' END FROM BST LEFT JOIN BST AS BST2 ON BST.N = BST2.P ORDER BY BST.N
 
 
선생님이 말씀하신대로 이런 쿼리를 짰는데요.
여기서, join된 테이블의 명칭은 BST인가요? BST2인가요? 아니면 테이블의 이름은 특별히 없는건가요?
혹시 없다면, 정의하고싶다면 어떻게 정의하면 될까요?

sql

답변 1

0

지식공유자 J

이 문제에는 하나의 테이블만 주어졌고, 문제 첫 줄에 이 테이블의 이름이 BST라는 설명이 적혀 있습니다. 

저희 풀이에서는 이 BST 테이블을 두 번 사용합니다. 똑같이 생긴 테이블을 서로 조인하는 방식으로요. 

BST 테이블(1)에 BST 테이블(2)을 LEFT JOIN 하는데, 서로 이름이 같으면 헷갈릴 뿐만 아니라 쿼리의 작동에도 문제가 있기 때문에 (2)에 BST2라는 이름을 임시로 붙여준 것입니다.

만약 다른 이름으로 정의하고 싶다면 AS(알리아스)에 다른 이름을 써 주시면 됩니다.
아래 예시는 첫번째 BST에 a, 두번째 BST에 b라는 별명을 붙인 쿼리입니다. 

FROM BST AS a             
    LEFT JOIN BST AS b

 

섹션 4번에 2번 문제 질문입니다.

0

107

2

4번 문제

0

91

1

Top competitors 에서 having count(h.hacker_id)로 해도 되나요?

0

266

1

leetcode 620 group by 질문이요

0

209

2

강의 일시정지/ 기간연장 검토 요청

0

386

1

4번 문제 group by 질문

0

325

2

세트2 4번 문제풀이 해설에 관한 질문

0

359

2

Weather Observation Station 11_ not like 사용

0

270

1

Placements에서 LEFT JOIN 뒤에 ON 조건

0

289

1

Set2 4번문제 질문 - New Companies

0

318

1

WHERE절 안 쓰고 HAVING COUNT(D.score = S.score) > 1 쓰면 왜 안되나요?

-1

714

1

as 2 space-separated values. 무슨 말인가요???

0

434

1

Weather observation Station 11 관련 질문

1

378

2

4번문제풀이

0

458

1

섹션3. Weather Observation Station 18 문제 관련

0

378

2

섹션 2에 1,2번 문제풀이 관하여

0

435

1

기한연장문의

0

332

1

Weather observation station 11 문제 not like

-1

371

1

inner join 과 left join

1

600

1

4번 BST 문제 틀리는 이유

0

347

1

4번 문제 질문

0

291

1

620. Not Boring Movies 문제 질문드립니다

0

290

1

binary tree 질문 입니다.

0

301

1

Top Competitors 질문있습니다 ㅠㅠ

0

248

1