16,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
1. Leetcode 595 문제
안녕하세요, 문제 풀이 첫번째 문제에서 해설과 똑같이 풀었는데 Accepted 나오고 제출 누르면 Wrong answer라고 나옵니다. 혹시 제 쿼리문에 잘못된 부분이 있을까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
문제와 간접적으로 관련된 질문입니다.
안녕하세요. 문제를 보면 company_code를 order by로 정렬하라고 했습니다. 이 때 정렬 방식을 보면 c1, c2, c3, c100이 아니고 c1, c100, c2, c3인 것을 알수 있습니다. 만약 문제에서 c1, c2, c3, c100 순으로 정렬해 달라고 한다면 어떻게 해야 할까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
선생님 코드 중에 궁금한 것이 있습니다.
문제 풀이중 HackerRank의 New Companies 문제에 대한 질문입니다 선생님 께서 작성하신 코드를 보고 혹시 left join의 on 자리에 모든 테이블에 공통되는 칼럼인 company_code로 바꿔도 같은 결과가 나오지 않을까라는 생각에 해봤더니 같은 값이 나오는 것 같았어요 <선생님의 코드> (저랑 다른부분만) left join lead_manager lm on c.company_code = lm.company_code left join senior_manager sm on lm.lead_manager_code = sm.lead_manager_code left join manager m on sm.senior_manager_code = m.senior_manager_code left join employee e on m.manager_code = e.manager_code group by c.company_code,c.founder order by c.company_code; <저의 코드> from company c left join lead_manager lm on c.company_code = lm.company_code left join senior_manager sm on lm.company_code = sm.company_code left join manager m on sm.company_code = m.company_code left join employee e on m.company_code= e.company_code 궁금한점 굳이 on에 들어갈 공통 칼럼을 다르게 해주신 이유가 있나요? 이번에 운이 좋아서 값이 나온거지 저 처럼 저렇게 1개로 다 넣으면(모든 테이블에 공통으로 존재하는 칼럼이 1개 있을 경우) 원래 안되는건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
SET_문제 4번_TOP Competitors 관련 문의 드립니다.
안녕하세요. 좋은 강의에 감사 드립니다. 저 같은 경우, 4번 문제를 다음과 같이 해결을 하고자 하였으나 정상적으로 진행되지 않았습니다. SELECT H.hacker_id, H.name FROM Submissions AS S INNER JOIN Challenges AS C ON S.challenge_id = C.challenge_id INNER JOIN Difficulty AS D ON C.difficulty_level = D.difficulty_level INNER JOIN Hackers AS H ON H.hacker_id = S.hacker_id GROUP BY H.hacker_id, H.name HAVING S.score = D.score AND COUNT(S.submission_id) > 1 ORDER BY COUNT(S.submission_id) DESC, H.hacker_id ASC 문제 풀이를 보면 "S.score = D.score" 를 GROUP BY 전에 진행하는데요. 그룹핑을 하고 조건을 주면 안되는 이유가 잘 이해되지 않습니다. 설명 부탁 드릴 수 있을지요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
more than
more than 이면 한글로 '이상'이니까 1개를 포함하는게 아닌가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
join 연산자 쓸때
FROM Company C LEFT JOIN Lead_Manager LM ON 굵은 표시의 표현은 왜 넣는건가요? 기존에 배웠던 형식과는 좀 다르게 보여서요. 약칭을 주는거라면 AS가 들어갈텐데 그것도 아니고, 문제에 대한 이해는 했는데, 저 부분이 이해가 가지 않아 질문드립니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
595. Big Countries 풀때 조건 순서가 이렇게 바뀌면 정답이 아니라고 나오는데,
SELECT name, population, area FROM world WHERE Population > 2500000 or area > 3000000 꼭 문제에서 제시한거처럼 area 먼저 넣어야하는건가요 ? 그 뒤에 다시 아래처럼 써봐도 wrong answer 나옵니다 ㅠㅠ SELECT name, population, area FROM world WHERE area > 3000000 or population > 2500000
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
GROUP BY 질문입니다
안녕하세요, 수업 잘 수강하고 있습니다. 다름이 아니라 GROUP BY가 조금 헷갈려서 질문드립니다. leetcode 182. Duplicate Emails를 예시를 들어 질문드립니다. SELECT * FROM Person GROUP BY Email 이런식으로 Email로 groupby를 하게되고 같은 email을 가진 row끼리 묶이면서 count(email)등 등 연산을 할 수 있는 것으로 알고 있는데, groupby Email로 했는데 count(id)는 어떻게 동작되는지 궁금합니다. Email기준으로 groupby했는데 count(id)를 할 수 있는건가요?? Email기준으로 groupby 했을때 count(id), count(*), count(Email)의 차이점이 궁금합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
group by로 c.comapny_code와 c.founder를 해주는 이유는 무엇인가요?
다른 쿼리문은 왜 작성하는지 이해가 되는데 group by로 c.company_code와 c.founder가 쓰이는 이유를 모르겠습니다. 예시에도 각 테이블의 값들이 나열되는데 왜 그룹으로 묶어주어야 하는 것인지 잘 이해가 되지 않아요!
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
2번 문제 답에 관하여
말씀하신대로 쿼리는 짰는데 답을 보니까... 왜 A로 시작하는 것들이 포함되어 있는거죠?? 제가 OR을 잘 이해를 못하고 있는 건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
SET3 _2번 문제 질문드립니다
선생님이 말씀해주신 not like를 쓰려고 했었는데 이게 regular expression 이런 말이 나와서 이게 무엇인지 모르겠네요...혹시 regexp 이게 언제 쓰이는건가요??
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
SET3_문제4번_Top Competitors 질문입니다.
저는 INNER JOIN 대신 LEFT JOIN으로 쿼리를 짰는데요. 정답은 맞게 나왔으나, 어떤 경우에 INNER JOIN 대신 LEFT JOIN 으로 했을 경우 문제가 나타나는지에 대해서 여쭙고 싶습니다. (실무에서) ㅡㅡ LEFT JOIN 대신 INNER JOIN 을 사용했을 경우 생길 수 있는 문제에 대해서도 함께 말씀해주시면 감사하겠습니다. INNER JOIN은 JOIN구문에서 해당 컬럼이 양쪽 테이블에 모두 존재하는 경우만 추출해서 LEFT JOIN을 사용해야 할 경우에, inner join을 사용하면 누락건이 발생할 수 있을 것 같은데요 제가 이해한 것이 맞나요? 이외에 또 어떤 문제가 발생할 수 있는지 궁금합니다. ㅡㅡ SELECT H.hacker_id, H.name FROM Submissions S LEFT JOIN Hackers H ON S.hacker_id = H.hacker_id LEFT JOIN Challenges C ON S.Challenge_id = C.Challenge_id LEFT JOIN Difficulty D ON C.difficulty_level = D.difficulty_level WHERE S.score = D.score GROUP BY H.hacker_id, H.name HAVING COUNT(S.submission_id) > 1 ORDER BY COUNT(S.submission_id) DESC, H.hacker_id ASC;
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
SET3_ 문제 2번_Weather Observation Station 11 질문.
안녕하세요, 저는 아래와 같이 쿼리를 짰는데요, 중간에 OR를 쓰면 (A AND B AND C AND D) OR (E AND F AND G AND H) 식으로 연산되는 것인지 궁금합니다. 괄호와 같은 것을 해주지 않아도 중간에 OR 해주면, 거기서부터 앞에 (A 조건과 B조건과 C조건과 D조건) 이거나 (E조건과 F조건과 G 조건과 H조건) 인 것을 출력하라. 라는 식이 되는 것인지 궁금합니다. 이렇게 중간에 끊어주는 것이 가능할지 고민이 됐었는데, 다행히 답은 맞았다고 나왔어요. 그런데 혹여 우연히 맞았을까봐 체킹합니다. OR 문구만 '이거나'로 연산되고 그 이후에 나오는 'AND'조건들은 다시 앞서 나온 조건들과 '이고'의 형태로 연산되진 않을지요? NOT LIKE 로 더 깔끔하게 푸는 방법이 있다면 그것도 알려주시면 감사하겠습니다. --------- SELECT DISTINCT city FROM station WHERE city NOT LIKE 'a%' AND city NOT LIKE 'e%' AND city NOT LIKE 'i%' AND city NOT LIKE 'o%' AND city NOT LIKE 'u%' OR city NOT LIKE '%a' AND city NOT LIKE '%e' AND city NOT LIKE '%i' AND city NOT LIKE '%o' AND city NOT LIKE '%u'
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
2번문제 질문합니다
SELECT DISTINCT CITY FROM STATION WHERE (CITY NOT LIKE 'A%' OR CITY NOT LIKE 'E%' OR CITY NOT LIKE 'I%' OR CITY NOT LIKE 'O%' OR CITY NOT LIKE 'U%') OR (CITY NOT LIKE '%a' OR CITY NOT LIKE '%e' OR CITY NOT LIKE '%i' OR CITY NOT LIKE '%o' OR CITY NOT LIKE '%u') 은 왜 안되나요? 구글링했는데 SELECT DISTINCT CITY FROM STATION WHERE (NOT(CITY Like 'A%' OR CITY LIKE 'E%' OR CITY LIKE 'O%' OR CITY LIKE 'I%' OR CITY LIKE 'U%')) OR (NOT (CITY LIKE '%a' OR CITY LIKE '%e' OR CITY LIKE '%i' OR CITY LIKE '%o' OR CITY LIKE '%u')) 랑 조금 다른데 왜 답도 다르게 나오는지 모르겠습니다 .ㅠㅠㅠㅠ
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
방금 문제는 뭔가 셀프조인으로 보기에는..
셀프조인은 inner조인을 활용해서 자기자신과 묶는 개념이라서 방금과는 다른 개념이겠죠..? null을 아예 날려버리는 개념이니까요..!! 약간 헷갈리네요. 문제푸는데 지장은 없었지만 :(
- 해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
set 2 4번
set 2 4번 문제에서 group by 에 company_code 와 founder 두개를 사용했는데 founder를 빼면 다음과 같은 에러가 나옵니다. ERROR 1055 (42000) at line 1: Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'run_5mv96ezra6f.A.founder' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_byfounder의 경우에도 group by 에 넣어주어야 되는 이유가 있을까요?가령 left join 의 왼쪽에 해당되는 열은 group by에 모두 적어야 된다는 것과 같은 특별한 이유가 있을까요? founder의 경우 수를 세는 것이 아니라 단순 출력을 하기 위함이고 company_code만으로도 count에 대한 결과물은 얻을 수 있어 궁금합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
not in 사용법과 관련하여 질문드립니다.
안녕하세요! 좋은 강의 감사드립니다. Binary Tree Nodes와 관련한 질문이 있습니다. 저는 BST 테이블의 node 중 parent가 아닌 node만 (leaf만) 뽑고 싶어서 아래와 같은 코드를 실행했는데 에러가 뜹니다. SELECT N FROM BST WHERE N NOT IN (SELECT DISTINCT P from BST) NOT IN이 아닌 IN으로 실행하면 코드가 잘 돌아갑니다. NOT IN이라는 문법을 제가 잘못 사용하고 있는 건지 궁금합니다. 그리고 제가 의도대로 데이터를 뽑으려면 어떤 구문을 써야 하는지도 궁금합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
해당 단축키가 궁금합니다!
안녕하세요! 먼저 좋은강의 감사드립니다 :) 수업 중간(6:38)에 해당 쿼리전체를 참조#부분으로 바꿀때 사용하신 단축키가 궁금합니다!
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL 문제풀이
Binary Tree 질문
안녕하세요 아래와 같이 Binary Tree 문제를 풀었는데, Leaf가 output 으로 나오지 않아서 혹시 이유를 알 수 있을지 문의 드립니다. ㅠ /* [목표] - N, node type (Root, Leaf, Inner) - order by value of node [테이블] - BST : N, P [계획] - 조건문을 통해서 Root, Leaf, Inner 파악 Root : 부모 가 Null Inner : 부모와 자식이 둘다 있음 Leaf : 부모만 있음 -(case when P is Null then 'Root' N에는 존재하는데, P에는 없는 값 = Leaf else 'Inner' end) as type */ select N, (case when P is Null then 'Root' when N not in (select P from BST) then 'Leaf' else 'Inner' end) as type_N from BST order by N asc