38,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
HAVING 절에 MAX()사용 결과에 따른 질문
안녕하세요, 강사님.덕분에 잘 배우고 있습니다. GROUP BY 문제풀이 강의 중,Top Earners 문제에서 아래 쿼리문을 만들었습니다. SELECT salary * months AS earnings , COUNT(*)FROM employeeGROUP BY earningsHAVING MAX(earnings); HAVING 절에서 MAX() 사용하면 earnings 컬럼(?)에 있는값 중 큰 값이 나오니까 ORDER BY은 필요 없다.라고 생각 했는데 결과를 보니 아니였습니다. 그래서 ORDER BY earnings DESCLIMIT 1;위 2 줄을 더 추가 했더니 PASS가 되었습니다.여기서 질문은 HAVING MAX(earnings)에서 가장 큰 값 하나만 안나오는 이유가 무엇인가요? 감사합니다ㅡ
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
My-sql
My-sql은 보니까 EXCEPT, MINUS(차집합) INTERSECT(교집합) FULL OUTER JOIN 이런것들을 지원안하는데도 코딩테스트에서 My-sql을 쓰는게 좋은가요..? 오라클에 비해 지원 안되는게 벌써 3개니 더 불편해 보이긴 합니다 오히려 사용안하는게 실행시간을 단축하는데 좋은가요? 뭐 각자 취향차이겠지만 저는 둘다 초보라 하나를 메인으로 가려고 해서 여쭤봅니다. 원래 oracle을 약간 기본적인거만 써봤는데 초급반, 중급반 강의 my-sql쓰면서 다시 oracle로 바꾸기고 그렇네요
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
질문드립니다!
만약, 마지막 쿼리로 작성된 결과에 4 23 4 22 이런 식으로, 하나의 X 값에 여러개의 Y가 있는 경우도 Symmetric Pairs로 간주되어 출력되었는데 4 22 / 4 23 순서로 나오게 하려면 어떻게 해야할까요? 4 23 / 4 22 순서로 출력될수도 있으니까요!
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
CASE~END, * 할 때 컴파일링 오류가 납니다!
안녕하세요, 수업 잘 듣고 있습니다 :-) 이렇게 했을 때는 정상적으로 값이 출력되는데요, 이렇게 할 경우에는 이렇게 오류가 뜹니다. 대체 이유가 왜인지 혹시 아실까요 ㅠㅠ? 미리 감사합니다 ! :)
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
Revising Aggergations - Averages 질문
SELECT AVG(POPULATION) WHERE DISTRICT = "California" FROM CITY; 로는 에러가 뜨게 되던데 혹시 왜 그런 지 아시나요 ㅠㅠ??
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
GROUP BY없이 AVG값 산출
강사님 안녕하세요. GROUP BY에 대한 수업을 듣던 중 GROUP BY 없이 평균 값을 구했을 때의 결과값이 궁금해졌습니다. SELECT SupplierID, AVG(Price) FROM Products 라는 식은 어떤 식으로 해석이 가능한가요? 결과값이 궁금해서 직접 해보니 SupplierID에는 1이, AVG(Price) 값으로는 28.86이 반환되었습니다. 각 결과값 1과 28.86이 어떻게 산출된 것인지 문의드립니다. 감사합니다 :)
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
조인 시 컬럼명 표기 문제
안녕하세요 강의 너무 잘 듣고 있습니다 기초적인 질문이긴 한데 조인 시 SELECT 또는 다른 절에 컬럼명을 표기할 때 모든 컬럼명을 [테이블명].[컬럼명] 형식으로 작성해도 되는건가요? 아니면 타 테이블에 컬럼명이 중복 존재하는 컬럼만 그런 형식으로 작성하는 건가요? SQL Editor에서는 중복되지 않는 컬럼을 위에 같은 형식으로 쓸 경우에 오류가 나는 경우도 있는거 같은데 강사님이 문제풀이 할 때 타 테이블에 컬럼명이 중복되지 않는 컬럼인데도 위에 형식처럼 쓰는 경우도 있어서 이게 형식적으로 휏갈리더라구요 좋은 강의 정말 감사드립니다^^
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
max랑 count를 이렇게 이용하는 건 안되나요?
SELECT MAX(salary*months) ,COUNT(MAX(salary*months)) FROM employee 에러가 아래와 같이 나는 걸로 봐서는 함수를 저런식으로 쓰면 안된다는 거 같은데 왠지 잘 모르겠어요!ㅠㅠ ERROR 1111 (HY000) at line 16: Invalid use of group function
- 해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL
해커랭크에서 오류가 생길 수 있나요? ㅠㅠㅠ
영상보고 코드 똑같이 따라한 것 같은데도 결과값이 저렇게 나오네용 ㅠㅠ 유니온 연산 전 쿼리는 13 13 결과가 잘 나와서 위에 주석 처리 해놨구요; 이후 쿼리 부분에서 계속 결과가 아무것도 안나오더라구요 보통 SQL은 오타 문제일 수도 있어서 여러번 살펴보기도 했는데 무엇이 문제인지 찾지를 못해 답답한 마음에 올려봅니다 ! 도움부탁드립니다 ^^;;; === 아래는 코드 부분 복사했습니다 ===== -- 13, 13 SELECT X, Y FROM functions WHERE X = Y GROUP BY X, Y HAVING COUNT(*) = 2 UNION SELECT f1.X, f1.Y FROM functions AS f1 INNER JOIN functions AS f2 ON f1.X = f2.Y AND f1.Y = f2.X WHERE f1.X < f2.Y ORDER BY X
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
Union Hacker랭크 풀이 질문
안녕하세요. Union 해커랭크 풀이에서Union을 반드시 써야하는 이유가 궁금합니다. where 조건절에 X = Y 또는 X<Y 로 넣어서 하면 정답이 아니라고 나오는데 그 차이가 궁금합니다. select a.X, a.Y from Functions a inner join Functions b on a.X = b.Y and b.X = a.Y where a.X = a.Y or a.X < a.Y order by a.X
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
date 더하기 빼기 질문
SELECT TODAY.ID AS Id FROM WEATHER AS TODAY INNER JOIN WEATHER AS YESTERDAY ON TODAY.RECORDDATE - 1 = YESTERDAY.RECORDDATE WHERE TODAY.TEMPERATURE > YESTERDAY.TEMPERATURE;저는 recordDATE에 -1 하니까 결과는 잘 나오는데 1 더하는 경우에만 안되는건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
Weather Observation Station 4 문제 해결이 안돼요
SELECT COUNT(city)-COUNT(DISTINCT city) FROM city;쿼리를 위와 같이 적었는데요, 아래 에러가 뜹니다. 왜그럴까요?ERROR 1146 (42S02) at line 1: Table 'city' doesn't exist
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
1번문제
SELECT city.name FROM city JOIN country on city.Countrycode = country.Code where COUNTRY.CONTINENT = 'Africa'; ================================== SELECT city.name FROM city JOIN country on city.Countrycode = country.Code and COUNTRY.CONTINENT = 'Africa'; where / and 두 조건으로 되는데 이건 데이터베이스 검색 속도 차이 인가요 ??
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
해당 칼럼 짝수값만 추출하기
안녕하세요 해당 칼럼 짝수값만 추출하는 걸 알고싶습니다! 만약, (mySQL) students 테이블에서 math_score가 짝수인 name을 추출한다면 SELECT name FROM students WHERE MOD(math_score, 2) = 0 을 사용했더니 해당 칼럼 값이 아닌 칼럼 짝수행에 대한 값이 나오는거같아요 혹시 짝수값에 대한 조건을 어떻게 작성할 수 있을까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
UNION 해커랭크 문제풀이 질문
Symmetric Pairs에서 UNION 후 마지막에 ORDER BY X를 해주는데, ORDER BY Functions.X로 하면 에러가 나는 이유는 무엇인가요? 제가 작성 한 SQL은 아래와 같습니다 SELECT Functions.X , Functions.Y FROM Functions WHERE Functions.X = Functions.Y GROUP BY Functions.X, Functions.Y HAVING COUNT(*) = 2 UNION SELECT Functions.X , Functions.Y FROM Functions INNER JOIN Functions as CompareT ON Functions.X = CompareT.Y AND Functions.Y = CompareT.X WHERE Functions.X < Functions.Y GROUP BY Functions.X, Functions.Y ORDER BY Functions.X
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
query the names of all the continents (COUNTRY.Continent) and
query the names of all the continents (COUNTRY.Continent) and ~ 여기서 continents의 모든 이름을 적으라고 했으니까 SELECT문에 name이 들어가야 하는거 아닌가요??ㅠㅠ GROUP BY에 대한 필요성은 알겠는데, 왜 저기에 country.continent가 들어가는지 이해가 안돼요.... 영어가 많이 부족해서 이해가 안되는건지 ㅠㅠㅠㅠㅠ 보다 자세한 설명 부탁드릴게요 ㅠㅠ
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
SUM 함수 사용 이유
안녕하세요!! 질문에 앞서 저는 처음에 id와 month 를 그룹으로 묶어야 된다는 생각을 가지고 SELECT id ,CASE WHEN month='jan' THEN revenue ELSE NULL END AS Jan_Revenue ,CASE WHEN month='feb' THEN revenue ELSE NULL END AS Feb_Revenue ,CASE WHEN month='mar' THEN revenue ELSE NULL END AS Mar_Revenue FROM department group by id, Jan_Revenue, Feb_Revenue, Mar_Revenue 결과 ["id", "Jan_Revenue", "Feb_Revenue", "Mar_Revenue"] [1, 8000, null, null] [2, 9000, null, null] [3, null, 10000, null] [1, null, 7000, null] [1, null, null, 6000] 위와 같이 쿼리문을 작성하였더니 id 값이 그룹화 되지 않았습니다. 그래서 두번째 방법으로 id만 그룹화 하였더니 SELECT id ,CASE WHEN month='jan' THEN revenue ELSE NULL END AS Jan_Revenue ,CASE WHEN month='feb' THEN revenue ELSE NULL END AS Feb_Revenue ,CASE WHEN month='mar' THEN revenue ELSE NULL END AS Mar_Revenue FROM department group by id 결과 ["id", "Jan_Revenue", "Feb_Revenue", "Mar_Revenue"] [1, 8000, null, null] [2, 9000, null, null] [3, null, 10000, null] 위와 같이 값은 나오나 ELSE 처리가 되어 나머지 값들은 모두 NULL 처리 되는 현상이 출력됐습니다. SUM 함수를 사용하는 것은 문자열을 다 더해주는 개념으로 이해하면 될까요?? month가 문자열이므로 month='jan' 인 revenue 데이터를 가져온다고 이해하는게 맞을까요?? 답변 부탁드리겠습니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
LEFT JOIN 결과에서 이해가 안되는 점이 있습니다.
LEFT JOIN을 했을경우 Customers를 기준으로 Orders를 붙이되 Order이 존재하지않는 Customer은 Orders부분에 NULL이 나오는것 까지는 이해가 되었습니다. 하지만 그림에처럼 CustomerID까지 NULL이 나오는 이유는 무엇인가용? Order은 존재하지 않지만 CustomerID는 회원이라면 기본적으로 존재하는것 아닌가요?!
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
문제 내용이 다릅니다!
문제 내용이 쫌 다르지만 같은 문제는 맞는거 같습니다. 혹시나 현행화되지 않아 당황하시는 분들이 계실까봐 알려드립니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
top earners 질문에서 count 행의 질문이 있습니다.
먼저 좋은 강의 감사합니다. 이 문제에서 select months * salary as earnings 로 해서 earnings라는 열을 만들었고 earning 별 수를 세 주는 것을 count(*)로 풀이했습니다. 그런데 earnings이라는 칼럼이 생겼기 때문에 저는 처음에 count(earnings)라고 해 줬는데 이것은 실행이 안되더라고요. earnings는 실제 table에 있는 칼럼이 아니라서 그런건가요? 궁금해서 여쭤봅니다