African Cities 문제 LEFT JOIN 적용 방법
206
작성한 질문수 1
Given the CITY and COUNTRY tables, query the names of all cities where the CONTINENT is 'Africa'.
Note: CITY.CountryCode and COUNTRY.Code are matching key columns.
=> continent 가 africa인 값만 출력하면 되는 것이기 때문에 country를 첫번째 테이블로 놓고 LEFT JOIN 처리하려 했습니다
SELECT city.name
FROM country
LEFT JOIN city ON country.code = city.countrycode
WHERE country.continent = 'africa'
이렇게 작성했더니 정답 내용은 모두 추출되었지만 다량의 NULL값 포함으로 오답 처리 되었습니다.
city 테이블에 없는 africa continent값들로 인해 NULL값이 나옴은 인지했는데, 혹시 NULL값을 제외할 수 있는 방법은 뭔지 문의드립니다!
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
LEFT JOIN을 사용할 때 NULL 값이 포함되는 문제에 대해 문의주셨군요. LEFT JOIN은 기본적으로 왼쪽 테이블의 모든 레코드와 오른쪽 테이블의 일치하는 레코드를 반환합니다. 오른쪽 테이블(city)에 일치하는 레코드가 없을 경우, 결과는 NULL 값으로 채워지게 됩니다.
문제는 아프리카 대륙의 모든 도시 이름을 추출하고자 하는 것이므로, CITY 테이블의 이름을 가져오기 위해 INNER JOIN을 사용하는 것이 좋을 것 같습니다. INNER JOIN은 두 테이블에서 일치하는 레코드만 반환하기 때문에, CONTINENT가 ‘Africa’인 COUNTRY에 해당하는 CITY만을 가져오도록 하면 NULL 값 없이 원하는 결과를 얻을 수 있습니다.
아래 쿼리는 continent가 ‘Africa’인 도시 이름만을 가져오는 예시입니다:
SELECT city.name
FROM city
JOIN country ON city.countrycode = country.code
WHERE country.continent = 'Africa';
이 쿼리는 continent가 ‘Africa’인 country 와 그 country의 code에 해당하는 city.name을 추출하도록 조인을 수행합니다. INNER JOIN (또는 JOIN)을 사용함으로써 양 테이블이 매칭되는 레코드만을 가져오므로 NULL 값이 결과에 포함되는 것을 방지할 수 있습니다.
도움이 되셨길 바랍니다!
리트코드 1280. Students and Examinations
0
75
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
89
2
African Cities 문제관련 질문
0
54
1
SQL 코딩테스트 질문
0
206
1
HACKER RANK에서 문제찾기
0
98
2
강의 자료 다운로드
0
90
2
Asian population 문제가 없어요
0
77
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
68
2
별칭 관련해서 질문 있습니다.
0
79
2
rising temperature 문제 질문
0
98
2
해커랭크 TOP EARNERS 문제 질문
0
99
1
ON 뒤에 질문
0
95
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
196
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
204
2
CustomerID가 중복되서 나타나요
0
234
3
별칭이 전체 테이블을 못 불러와요.
0
144
2
CASE WHEN 쿼리 오류 문의
1
325
3
CASE문제풀이 질문
0
125
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
138
1
Average Population 질문
0
130
1
Revising Aggregations - The Count Function 질문
0
104
1
Average Population of Each Continent 에대해서 질문
0
193
3
w3schools 에서 쿼리 작성 질문
0
159
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
329
1





