55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
안녕하세요 리트코드 184번 문제 관련하여 질문드립니다.(알리아스 관련)
안녕하세요. 리트코드 184번 문제 풀이를 듣기 전 혼자 풀이 할 때는 WHERE 절 다중 컬럼 서브쿼리를 활용하여 문제를 풀었는데요. 서브쿼리 사용 전 JOIN 작성 시 테이블 마다 알리아스를 주고, 아래와 같이 쿼리를 짰는데 에러가 나더라구요. (처음에는 WHERE 절에도 알리아스를 써서 'WHERE절 알리아스 사용 불가능' 때문에 에러뜨나 하다가, SELECT 절 알리아스까지 모두 바꿔주니 제출이 되던데 혹시 이 쿼리에 문제점이 있을 까요?) 아래는 알리아스 모두 제거 후 제출 성공 뜬 쿼리입니다. 추가로 이전에 어떤 분이 질문 남겨주셨을 때, WHERE절 다중행 서브쿼리로 푸셔서 제출이 안되셨다고 하셨는데, 저는 다중컬럼 서브퀴리로 풀어서 제출이 된건가요? 해당 쿼리로 풀어도 문제는 없는게 맞는지 궁금합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
해당 문제 JOIN 관련 질문 드립니다.
안녕하세요. 먼저 강의를 듣기 전 혼자 풀었을 때 이것이 왜 틀렸는지 궁금해서 요리조리 테이블을 만들어봤습니다. 그러다보니 LEFT JOIN과 INNER JOIN에 대해서 의문이 생겼는데요. 비주얼라이제이션을 봐도 이해가가지 않아서 질문드립니다. Department.id 도 1,2로 이루어져있고 employee. departmentid도 1,2로 이루어져있으니 공통적인 부분으로 left join 처럼 뽑아질 수 있는 것 아닌가요? 왜 두개만 뽑아지는지 궁금합니다... department 테이블의 데이터가 두개만 있어서 그런건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
서브쿼리를 사용하지 않으면 성능이 떨어지나요?
안녕하세요. 강의 잘 듣고 있습니다. 제가 문제를 먼저 풀어 보았을 때 아래와 같은 방식으로 풀이를 했는데요. 서브쿼리를 써서 풀면 성능이 더 좋은가요? 어떤 점이 더 좋은지 궁금합니다. 화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
실무 활용 강의 관련 문의
안녕하세요. 선생님! 선생님 초중고급 강의 커리큘럼 덕에 SQLD까지 따게 되었습니다. 양질의 강의 정말 감사드립니다. 다름아니라 이제 실무에서 사용하려는 데 이론 그대로 실무에 적용시키기는 조금 어려운 것 같아.. 실무 활용한 강의가 있을 지 궁금합니다. 사내에서는 DBeaber이라는 프로그램을 사용하는데 이 프로그램과 관련되거나 유사한 실무 활용법 강의 있을까요? 답변 주시면 정말 감사하겠습니다!
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
select에서 활용하여 해당문제를 해결하는 쿼리 문의드립니다.
안녕하세요 update를 활용하지 않고 case 만으로 해당문제를 풀 수 있는지 문의드립니다. -- select id, name, case when sex = 'f' then 'm' else 'm' end as sex , salary from salary; --
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
ERD 카테고리, 데이터 타입 강의 ERD 구성에 관하여 궁금한게 있어서 질문드립니다.
안녕하세요. 한 가지 질문이 있어서 글 남깁니다. 해당 강의에 보이는 ERD의 컬럼들의 타입들을 어떻게 알아내셨나요? W3schools에 있는 데이터셋인 것을 알았고, SHOW 관련 명령어와 typeof 관련 명령어를 쳐서 알아내려고 시도해봤지만 SHOW 명령어는 에러가 나고 typeof 관련 함수는 VARCHAR(255)나 INT(10)이 아닌 TEXT나 INTEGER 타입이다. 라는 정보밖에 얻지를 못하더라구요.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
마지막 DELETE 문 부연설명 좀 부탁드립니다.
기존에 알려주신거랑 약간 다른데, 똑같은 방식으로 해석을 못하겠네요 부연설명 좀 부탁드립니다
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
delete join 은 oracle에는 없군요
저는 Oracle 기준으로 공부하고 있어서, 이 문제풀이를 활용할 수 있는지 찾아봤는데, oracle에서는 delete + join 을 허용하지 않는다네요ㅎㅎㅎ oracle 기준으로는 서브쿼리 말고는 답이 없는 것 같습니다.ㅎㅎ 감사합니당~~
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
HAVING을 활용한 서브쿼리 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이전 분이 먼저 질문해주신 SELECT months * salary AS earnings, COUNT(*) FROM employee GROUP BY earnings HAVING earnings = MAX(months* salary) 이렇게 쓰는건 왜 안될까요? 라는 질문에서 having절은 group by 뒤에 사용되는 절로, 서브쿼리를 사용하지 않고 바로 max(earnings)를 할 경우, earnings로 group by 가 된 상태에서 max 값을 구하게 됩니다. 따라서 전체 로우가 출력될 수 밖에 없습니다. 이런 경우를 방지하기 위해 별도의 서브쿼리를 사용하여 max값을 구해주어야 합니다. 이렇게 답변을 해주셨는데요! earnings로 group by 가 된 상태에서 max 값을 구하게 되면 max값만 나와야하는거 아닌가요..?ㅠㅠ 서브쿼리가 있으면 어떤식으로 실행되고 서브쿼리없는경우와 차이가 무엇인지 알려주실수있나요? 잘 이해가 안되네요,, ㅠㅠ
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
where문에 대한 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요 DELETE p1 FROM person p1 INNER JOIN person p2 ON p1.email = p2.email WHERE p1.id > p2.id 이러면 p1.Id p1.Email p2.Id p2.Email3 john@example.com 1 john@example.com 이 결과가 필터링되고 결국 p1.id p1.email p2.id p2.email 1 john@example.com 1 john@example.com 2 bob@example.com 2 bob@example.com 3 john@example.com 3 john@example.com 위의 데이터들이 남는데 id=3인 부분이 p1테이블에서만 지워진게 아니라 그냥 person테이블 자체에서 지워진거여서 p2테이블에서도 id = 3인 부분이 지워져서 delete이후 결과가 1 john@example.com 2 bob@example.com 인거 맞나요? .
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
delete duplicate emails 문제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 이 문제를 풀기 위해 접근한 방식은 강사님과는 반대로 중복된 email 중 id가 큰 경우 찾은 후 그 id가 큰 경우를 추출한 뒤 DELETE해주는 방식으로 접근했습니다. DELETE FROM person WHERE id IN( SELECT sub.id FROM ( SELECT id, COUNT(email) FROM person GROUP BY id, email HAVING COUNT(email) > 1 ORDER BY id DESC LIMIT 1) sub) 이렇게 작성했는데 답이 안나오더라고요ㅠㅠ 이론상으로는 같은거 같은데 왜 답이 안나올까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
업데이트 구문
아래와 같이 쿼리 작성을 하여 실행을 하였는데, result 가 invalid testcase 로 나옵니다.. 왜그런지 아시는지 문의 드립니다. update salary set sex = case when sex = 'f' then 'm' else 'f' end; 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
선생님 질문있습니다.
강의 너무너무 잘듣고 있습니다 :) 항상 감사합니다. Department highest salary 문제를 푸는 도중 이해가 안되는 부분이 있어서 질문드립니다 select d.name as department ,e.name as employee , max_sal.max_salary as salary from employee as e inner join department as d on e.departmentid = d.id inner join(select departmentid, max(salary) as max_salary from employee group by departmentid ) as max_sal on max_sal.departmentid = e.departmentid and e.salary = max_sal.max_salary ----------------- 위 코드에서 파란색 친 부분에서 제 생각엔 employee 테이블에서 이미 department_id 에 따른 max_salary를 구했기 때문에 파란색 친부분에서 e.salary = max_sal.max_salary 이 부분은 따로 필요없다고 생각했는데 왜 이부분을 and로 다시 한번더 넣어주는지 아직까지도 이해가 잘안됩니다 ㅠㅠ -------------------------- 두번째 질문은 top competitors 문제에서 있습니다 ㅠㅠ select H.hacker_id, h.name from hackers as h inner join Challenges as c on h.hacker_id = c.hacker_id inner join Difficulty as d on c.Difficulty_level = d.Difficulty_level inner join submissions as S on C.Challenge_id = S.Challenge_id where d.Difficulty_level = c.Difficulty_level group by H.hacker_id, h.name having count(H.hacker_id) > 1 order by count(H.hacker_id) desc, h.hacker_id 이런식으로 코드를 짰는데 답이 계속 다르게 나오네요 조인 순서에 문제가 있는건지 뭐가 문제인건지를 잘모르겠습니다 ㅠㅠ 선생님과 다르게 코드를 다르게 짠 부분은 저는 hackers 테이블에서 challenges 그다음 difficulty 그다음 submission 으로 조인했다는 점인데 뭐가 문제일까요??
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
WHERE 조건 질문드립니다.
강사님께, 안녕하세요. 우선 SQL 강의를 초급부터 계속 따라오고 있는데 흥미롭게 잘 듣고 있습니다. 좋은 강의에 감사드립니다. 그리고 이번 문제를 풀면서 의문점이 생겨 이렇게 질문 드립니다. 제가 처음에 작성한 코드는 SELECT DISTINCT L1.num AS ConsecutiveNums FROM Logs AS L1 INNER JOIN Logs AS L2 ON L1.id = L2.id-1 INNER JOIN Logs AS L3 ON L2.id = L3.id-1 WHERE L1.num = L2.num = L3.num 이것인데요. Run Code시에는 문제가 없었지만, Submit에선 WrongAnswer이 되었습니다. 그런데 강의 내용과 동일하게 WHERE 조건을 설정하여 아래와 같이 작성한 경우에는, Submit에도 통과되었습니다. SELECT DISTINCT L1.num AS ConsecutiveNums FROM Logs AS L1 INNER JOIN Logs AS L2 ON L1.id = L2.id-1 INNER JOIN Logs AS L3 ON L2.id = L3.id-1 WHERE L1.num = L2.num AND L1.num = L3.num 제가 느끼기엔 두 가지가 동일한 조건처럼 느껴지는데, 왜 이런 차이가 발생하는지 여쭙고 싶습니다. 그럼 답변을 기다리겠습니다! 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
고급반 서브쿼리 해커랭크 challenges 문제 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 해설에서는 count(*)를 사용했는데 count(challenge_id)를 사용하면 왜 값이 다른지 이해가 잘 되지 않습니다. 부연 설명으로 max(challenge_id)를 하면 50이 나오게 되어 같은 원리로 select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id ) as suq_t2 group by cnt having count(challenge_id) = 1 을 하게 되면 hacker_id 당 카운트가 1번인 걸 뜻하는 걸로 나올 거라 예상했는데 횟수가 1번인 것만 나오게 되네요. select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id ) as suq_t2 group by cnt having count(cnt) = 1 아래는 쿼리 전문을 첨부합니다. /* Enter your query here. */ select h.hacker_id ,h.name ,count(challenge_id) as cnt from Hackers as h inner join Challenges as c on h.hacker_id = c.hacker_id group by h.hacker_id,h.name having cnt in ( select max(cnt) from ( select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id) as suq_t1) or cnt in ( select cnt from ( select hacker_id, count(challenge_id) as cnt from challenges group by hacker_id ) as suq_t2 group by cnt having count(challenge_id) = 1 ) order by 3 desc , 1 asc
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
from절 서브쿼리로만 작성해야하는 이유
select num , lag(num,1) over (order by id) as log1 , lag(num,2) over (order by id) as log2 from logs where num = log1 and num = log2 안녕하세요. 이런식으로 작성하면 왜 오류가 발생하나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
consecutive numbers 문제에서 사용하신 단축키가 궁금합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요! 2분 45초 쯤에서 LeetCode의 Output 값을 다룰 때 {"headers" : ["id", "Num", "Num"], "values" : [....]} 의 내용을 테이블 내용을 보기 좋게 하기 위해서 ["id", "Num", "Num"] [1, 1, 1] [2, 1, 1] ... 와 같이 변경할 때 단축키를 사용하신 것 같은데 어떤 단축키를 사용하신 건지 궁금합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
수강평 공개로 돌려놓으시죠? 별점 1점 준건 비공개 처리합니까?
로그아웃해서 보니까 제 수강평만 안보이네요? 공개로 돌려놓으시죠 이딴식으로 평점관리 해오시는겁니까? 강의 듣지도 못했는데 기간만료되서 빡치는데 이것도 빡치게하시네요?
- 미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
WITH문 사용 관련
안녕하세요. 영상에서 (18:00~) WITH문을 사용해서 문제 푸는 법을 설명해주셨는데, 하기 이미지에서 하이라이트한 counter를 모두 생략해도 같은 답이 나오나요? 테이블처럼 사용 가능하다면 counter 라는 말 없이 column 명만 써줘도 될 것 같아서 여쭤봅니다!
- 해결됨[백문이불여일타] 데이터 분석을 위한 고급 SQL
강사님과 같은 쿼리를 작성했는데 sql 설정에 따라 출력값이 다른 원인이 뭔가요?
Oracle에서 강사님과 동일한 쿼리를 작성했을 때엔 정상 결과가 출력되는데, MySQL에서는 max와 관련된 having 구문 조건만 포함되어 출력됩니다. 정작 강의에서 강사님은 mySQL을 사용했는데 왜 이런 차이가 나타나는 것인가요? +mySQL 쿼리에서 메인쿼리에서 COUNT(*)를 ALIAS 설정해주니까 정상 작동하네요. 왜 이런 차이가 있는 건지 궁금합니다.