질문이 있습니다!
264
작성한 질문수 1
1번, 2번 문제를 여러 가지 시도를 해보면서 풀어봤는데, where 절에서 country.continent를 한 것과 continent를 바로 해준 것과 결과는 차이가 없더라고요.
아무래도 continent 컬럼은 country 테이블에'만' 있는 것이라 그런 것 같은데요, 실무에서도 이렇게 단일 컬럼인 경우 테이블 명을 생략하기도 하나요? 혹은 그래도 명확함을 위해 테이블 명을 반드시 표기해주는 게 좋을까요?
답변 부탁드립니다! :)
답변 2
1
안녕하세요 젼님,
말씀하신대로 JOIN 된 테이블 중 중복되는 이름이 없는 컬럼명을 사용할 때에는 테이블 명을 생략해도 데이터 추출이 가능합니다.
따라서 테이블명을 명시하는 쿼리와 명시하지 않는 쿼리의 결과 차이는 없으나, 말씀해주신대로 쿼리를 읽을 다른 분석가, 개발자들을 위해서 테이블 명을 남기는 것은 좋은 습관이라고 생각합니다.
또한 쿼리 성능면에서도 테이블 명을 명시해주는 것이 좋을 거라고 생각이 드는데요. 테이블 명을 명시할 경우 해당 테이블 내에서만 컬럼 검색을 하게 되는 데 명시하지 않을 경우에는 전체 테이블에서 해당 컬럼명과 일치하는 컬럼을 찾아야 하기 때문에 연산 속도에 영향을 줄 수도 있을 것으로 생각됩니다.
쿼리 성능과 관련해서는 참고하실만한 레퍼런스를 혹시 찾게 되면 추가로 답변 남겨드리도록 하겠습니다.
궁금증이 해결되셨길 바랍니다 :)
리트코드 1280. Students and Examinations
0
87
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
102
2
African Cities 문제관련 질문
0
64
1
SQL 코딩테스트 질문
0
230
1
HACKER RANK에서 문제찾기
0
107
2
강의 자료 다운로드
0
100
2
Asian population 문제가 없어요
0
86
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
74
2
별칭 관련해서 질문 있습니다.
0
88
2
rising temperature 문제 질문
0
103
2
해커랭크 TOP EARNERS 문제 질문
0
110
1
ON 뒤에 질문
0
105
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
208
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
212
2
CustomerID가 중복되서 나타나요
0
241
3
별칭이 전체 테이블을 못 불러와요.
0
151
2
CASE WHEN 쿼리 오류 문의
1
336
3
CASE문제풀이 질문
0
131
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
141
1
Average Population 질문
0
141
1
Revising Aggregations - The Count Function 질문
0
108
1
Average Population of Each Continent 에대해서 질문
0
198
3
w3schools 에서 쿼리 작성 질문
0
165
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
331
1





