38,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
LEFT 조인 질문
FULL OUTER JOIN을 보고 직접 실습해보려다 LEFT JOIN을 해보았는데요, CustomerID가 왜 NULL이 되는지 이해가 안가서 질문드립니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
질문이 있습니다!
1번, 2번 문제를 여러 가지 시도를 해보면서 풀어봤는데, where 절에서 country.continent를 한 것과 continent를 바로 해준 것과 결과는 차이가 없더라고요. 아무래도 continent 컬럼은 country 테이블에'만' 있는 것이라 그런 것 같은데요, 실무에서도 이렇게 단일 컬럼인 경우 테이블 명을 생략하기도 하나요? 혹은 그래도 명확함을 위해 테이블 명을 반드시 표기해주는 게 좋을까요? 답변 부탁드립니다! :)
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
Full outer join 과 Union 효과가 완전히 동일하나요?
LEFT JOIN 과 다르게 UNION은 위아래로 테이블이 통합되었는데, 그러면 FULL OUTER JOIN도 위아래로 테이블이 결합하는건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
type of triangle
아래와 같이 코드를 짜면 WHEN SUM(A+B)>C or SUM(A+C)>B or SUM(B+C)>A THEN 'Not A Triangle' ELSE WHEN A=B=C THEN 'equal length' WHEN A<>B=C, A=B<>C, A=C<>B THEN 'Isosceles' WHEN A<>B<>C THEN 'Scalene' ELSE '기타' END END FROM TRIANGLES 이렇게 오류가 나옵니다. 혹시 어떤 부분에서 오류가 나는지 알 수 있을까요?? 논아스키코드가 어느 부분인지 궁금합니다!
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
GROUP By 해커랭크 문제풀이의 "Top Earners" 질문합니다!
TOP EARNERS의 문제 코드에서 아래와 같이 도출하면 오류가 뜨는데, 이유를 알 수 있을까요??? SELECT MAX(salary * months), COUNT(MAX(salary * months)) FROM Employee
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
-- 한 줄 주석처리 적용 안되는 문제 질문드려요~!
SELECT CASE WHEN (A + B <= C) OR (B + C <= A) OR (C + A <= B) THEN 'Not A Triangle' WHEN (A = B AND B <> C) OR (B = C AND C <> A) OR (C = A AND A <> B)THEN 'Isosceles' WHEN A = B AND B = C THEN 'Equilateral' --WHEN (A <> B) AND (B <> C) AND (C <> A) THEN 'Scalene' ELSE 'Scalene' END FROM triangles; 질문1) 빨간색 부분이 제가 원래 작성했었던 WHEN THEN 구문인데요, else로 처리 하는 게 간명하다고 생각되어, 주석처리 한 후 ELSE 문으로 작성하였는데, 계속 오류가 뜨더라구요. 주석 처리된 부분을 지우면 정답처리 되었습니다. 주석처리한 줄은 결과에 영향을 안미쳐야하는데, 어떻게 된 것일까요...? 질문2) 밑줄친 부분처럼 조건을 작성할 경우, 정삼각형 조건과 순서에 상관 없이 적용이 잘 되는데요, 이렇게 작성해도 되겠죠?혹시 조건이 길어져서 더 안좋다던가 하는 게 있나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
해설내용에서 함수의 실행순서 질문드립니다
SELECT months * salary AS earnings, COUNT(*) FROM Employee GROUP BY earnings ORDER BY earnings DESC LIMIT 1; 위의 SELECT 문 내에서, months * salary AS earnings 부분은 먼저 실행이 되어, 밑의 GROUP BY 나 ORDER BY 등에 영향을 미치는데, COUNT(*) 는 LMIT 1까지 모두 적용이 된 이후의 결과값을 카운팅 하는 이유가 뭔가요? 집계함수는 항상 최종적인 결과값에 대해 적용이 되는 건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
해설과 똑같이 작성하니까 오답으로 되는 것 같아요
SELECT COUNT(city) - COUNT(DISTINCT(city)) 저는 이렇게 작성해서 정답처리 되었는데, 강의에서 나온대로 COUNT(DISTINCT city)로 작성하니까, 오답이라고 뜹니다..?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
SUM()함수 사용 관련 문의
SUM 함수 없이 작성한 쿼리입니다. 첫번째 결과는 위의 코드의 결과이고 두번째 결과는 Expected output입니다. (형광펜 친 부분이 정답과 다른 부분입니다.) 왜 위와 같이 코드를 작성하면 id당 처음으로 나오는 month에 해당하는 revenue만 결과로 출력되는 것인가요? SELECT * FROM Department 를 했을때 id =1 인 열이 jan, feb, mar 순대로 나오는데 month = jan인 값만 출력되는 것 같아 왜 그런지 궁금해서 여쭤봅니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
블로그 작성 문의
안녕하세요. 우선 강의 내용이 너무 좋아서 만족스럽게 듣고있습니다. 감사합니다. 강의를 듣고, 복습 및 정리를 위해 블로그에 글을 올리고 싶은데 가능할까요? 가능하다면, 어느 정도까지 허용되는지 출처는 어떤 방식으로 언급하면 되는지 알려주시면 감사하겠습니다. :)
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
SELF JOIN과 HAVING 갯수
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. SELECT a.x, a.y FROM functions AS a INNER JOIN functions AS b ON a.x = b.y AND a.y = b.x WHERE a.x = b.x GROUP BY a.x, a.y HAVING COUNT(*) = 2 X = Y 일때 대칭인 경우만 추출한다고 할때 위와 같이 self join으로 풀면 왜 no response로 뜨고 HAVING COUNT(*) = 4 일때 정상적으로 답이 나오는데 왜 4개로 뜰까요?ㅠㅠ
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
group by와 집계함수 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. SELECT x,y FROM functions WHERE x = y GROUP BY x,y HAVING COUNT(*) = 2 ORDER BY x,y ASC 이랬을때 원래는 SELECT문에 집계함수가 있을때만 GROUP BY가 가능한데 여기서는 집계함수를 출력을 안했다고 생각할수있으니까 group by를 사용할 수 있는건가요? 아니면 제가 having문을 제외한경우에도 group by를 사용할수있던데 그럼 group by는 원래 집계함수 없이도 추출이 가능한건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
TOP EARNERS 오류
선생님이 짜주신 쿼리 동일하게 작성했을때 계속 오류가 노출됩니다. SELECT salary*months AS earnigs, COUNT(*) FROM Employee GROUP BY earnings ORDER BY earnings DESC LIMIT 1 오류내용 ERROR 1054 (42S22) at line 1: Unknown column 'earnings' in 'group statement'
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
JOIN 개념의 이해
JOIN 개념이 잘 이해가 되지 않아 질문을 남깁니다.JOIN을 사용하면 다른 테이블과 결합할 수 있다는 것까진 이해가 되었는데요 벤다이어 그램에서 INNER JOIN 으로 조회를 하면 교집합과 같은 개념이고, OUTER JOIN을 하면 A에는 없고 B에는 있는 데이터들은 조회가 되지 않는 것이라고 말씀하셨었는데요..! SELECT * FROM Customers INNER JOIN Orders ON customers.customerID = orders.customerID 이렇게 이너조인을 할 때 ON 뒤에 오는 'customers.customerID = orders.customerID' 이부분만 교집합으로 되어 중복되어 나오지 않고 SELECT * 이기 때문에 나머지 컬럼들은 모두 결합을 하는 것인가요? 그리고 LEFT JOIN, RIGHT JOIN을 할 때도 벤다이어 그램에는 A를 출력하는 것 혹은 B를 출력하는 것과 차이가 없는 것처럼 나와서 왜 A테이블만 출력한 것과 LEFT JOIN을 한 것의 출력 값이 다른 것인가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
2번과 3번문제 집계함수 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 2. population census SELECT SUM(city.population) FROM city INNER JOIN country ON city.countrycode = country.code WHERE continent = 'Asia' 집계함수를 쓰면 groupby를 써야한다고 했는데 왜 여기선 groupby를 안썼나요? 3. average population of each continent SELECT country.continent , FLOOR(AVG(city.population)) FROM city INNER JOIN country ON city.countrycode = country.code -- GROUP BY country.continent group by를 안쓸경우 아래와 같은 에러코드가 나오는데 ERROR 1140 (42000) at line 1: In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'country.continent'; this is incompatible with sql_mode=only_full_group_by 이게 select문에 집계함수와 집계함수아닌 컬럼이있을때 groupby로 select에 있는 집계함수가 아닌 컬럼을 적어야 한다는 뜻인가요? 만약에 맞다면 select문에 그냥 집계함수만 있을경우에는 group by를 안적어도 괜찮은 건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
african cites
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 제가 처음에 SELECT NAME FROM CITY INNER JOIN Country ON CITY.CountryCode = COUNTRY.Code WHERE continent = 'Africa' 이라고 하고 작동시켰을때 select문이 ambiguous하다고 해서 city.name이라고 명시해야한다고 하셨는데 그런데 이미 from에 city라고 적었으니 country에도 name이 있어도 city 의 name이라고 인식을 하지 않나요?? 그리고 where절에서 continent는 country.continent라고 안적어도 실행되는 이유가 혹시 continent 컬럼은 country에만 있으니까 굳이 country.continent라고 명시를 안해줘도 되는건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
로직 구현 질문
안녕하세요 문제풀이 보기 전에 문제에서 어제라고 하는 개념 때문에 -1을 주고 -1을 준 테이블을 어제라는 식으로 이해했는데 답이 안나와서 보니 -1을 준 테이블이 오늘이고 아무 조건도 안준 테이블이 어제였어요. 이런 부분이 너무 헷갈린데 어떻게 하면 좋을까요? ㅠㅠ 쿼리의 문법적인 부분보다 로직적인 부분이 헷갈려서 답답하네요
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
having은 group by를 쓸때만 쓰는건가요?
having은 group by를 쓸때만 쓰는건가요? group by를 안쓸때는 where로만 쓰는건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
CASE와 WHERE의 차이점
안녕하세요, 좋은 강의 감사합니다. CASE와 WHERE의 차이점이 무엇일까요~? 어떤 조건에 따라 자료를 필터링해야할 때, 어떤 것을 써야할지 헷갈립니다! 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
COUNT 질문
안녕하세요 다음과 같은 쿼리가 있을떄 SELECT salary * months AS earnings , COUNT(earnings) FROM employee GROUP BY earnings ORDER BY earnings DESC COUNT에 earnings는 못쓰나요??