38,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
SELF JOIN 질문입니다
수업에서SELECT A.name AS EmployeeFROM Employee AS A INNER JOIN Employee AS B ON A.managerID = B.idWHERE A.salary > B.salary이런 식으로 풀으셨는데왜 아래와 같이 푸는 방식이랑 무엇인 다른지 잘 모르겠습니다.SELECT A.name AS EmployeeFROM Employee AS A INNER JOIN Employee AS B ON A.id = B.manageridWHERE A.salary > B.salary
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
가장 큰 값을 가져오는 다른 방법도 있을까요?
안녕하세요 선생님~! 강의를 듣다 이 문제를 다르게 푸는 방법도 있을까 궁금해져서 질문드립니다.1.스텝별로 풀이는 설명해주실 때, 3.earning 중에 가장 큰 값을 가져온다 라는 부분은 limit 1로 큰 값만 출력되게 해주셨는데요. 혹시 이 부분을 select 절에서 다른 구문으로 출력하게 하는 것도 가능할까요?select max(salary*months as earnings), count(*) from employee group by earnings(쿼리를 돌려보았을 땐 잘못된 답이라고 나오긴 하네요..ㅎㅎ)2.아래 쿼리 중에 잘못 작성된 내용이 있을까요? 똑같은 쿼리로 적은 것 같은데 계속 잘못된 답이라고 응답이 뜨네요..!/* select salary * months AS earnings, count (*) from Employee group by earnings order by earnings desc limit 1 */
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
join 할때 테이블 기준
inner join 할때 먼저 쓰는 테이블의 기준이 있나요??(orders 와 customers 중 from 뒤에 orders를 쓴 이유가 따로 있는지 궁금합니다.) select * from orders inner join customers on orders.customerid = customers.customerid;
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
안녕하세요! LEFT JOIN 리트코드 문제풀이 질문있습니다.!
안녕하세요 리트코드 문제를 풀면서 처음에 LEFT조인을 무의식적으로 서브쿼리로 다중 행을 이용해 문제를 풀었습니다.근데 푸는 와중에 런타임속도에 있어서 갑자기 궁금증이 생겨 질문을 남기게 됐습니다.제가 (단순하게)생각했을 때는 서브쿼리를 쓰게되면 메인쿼리와 함께 조회를 두 번 도는거라 더 느릴 것 같은데 LEFT조인만 썼을때보다 속도가 빠르게 나와서 두 쿼리의 차이가 있는건지? 아니면 리트코드 컴파일상 그런건지? 왜 이런 결과가 나왔는지 궁금합니다!!!문득 시험 뿐만 아니라, 실제 현업에 갔을때도 성능을 고려하여 코딩을 하는데 목적을 두고 공부를 하다보니. 갑자기 생각나서 질문 드립니다.아 저는 MySql이 아닌 Oracle로 공부하고 있습니다.기존 풀이 LEFT JOINSELECT c.name "Customers"FROM Customers c, Orders oWHERE c.id = o.customerId(+)AND o.customerId IS NULL; 서브쿼리를 통한 INNER JOINSELECT name "Customers"FROM CustomersWHERE id NOT IN(SELECT c.idFROM Customers c, Orders oWHERE c.id = o.customerId); 두 개의 결과
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
INNER JOIN 과 LEFT JOIN의 ON 조건 차이점 질문
안녕하세요. 1년차 주니어 웹개발자 입니다.실무하면서 SQL이 부족한듯해서 중급, 고급 강의 듣고 있습니다.중급 강의 중 JOIN 듣고 구글링 하면서 궁금한 점이 생겨서 질문 드립니다.. INNER JOIN의 경우 ON으로 조건을 거는 것과, WHERE 절로 조건을 거는 것과 결과는 차이가 없다고 이해됩니다. 그 이유는.. ON 절에 AND로 여러 조건을 걸어도 교집합 형태로 조건이 걸렸기 때문입니다. 그런데 LEFT JOIN의 경우 ON절에 조건을 거는 것과 WHERE 절에 조건 거는 것에 차이가 있었습니다.그래서 구글링 해보니 LEFT조인의 ON절에서 AND로 조건을 여러개 걸면 합집합 조건 처럼 AND로 연결된 조건이 모두 나온다고 이해했습니다. 왜 INNER JOIN과 LEFT JOIN의 각 ON절에서 이런 차이가 발생하는지 궁금합니다 ㅠㅠ ( INNER JOIN의 경우 LeetCode 181번 문제에서 'Employee.salary > Manager.salary' 조건을 on절과 where 절에 넣었을 때 같은 결과가 나왔고,LEFT JOIN의 경우 LeetCode 183번 문제에서 'o.id IS NULL' 이란 조건을 where절, on절에 각각 넣어봤을 때 다른 값이 나왔었습니다.제가 참고한 문제들이 설명하실 때 도움이 되실까해서 참조로 남깁니다.) 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
안녕하세요. Top Earners 문제 관련하여 질문 드립니다(GROUP BY, HAVING).
강사님 안녕하세요. Top Earners(GROUP BY, HAVING) 문제 관련하여 질문드립니다.제 생각에는 아래와 같은 쿼리로 답을 도출할 수 있을 것 같은데 의도한 대로 실행되지 않아서 질문드립니다.SELECT months * salary as earnings , count(*)FROM employeeGROUP BY earningsHAVING earnings = MAX(earnings);earnings를 산출earnings를 기준으로 그룹핑earnings의 값이 최대값인 데이터만 조회이런 생각으로 쿼리를 작성하였습니다.그런데 최대 earnings에 해당하는 데이터만 조회되는 것이 아니라, 모든 earnings 별 데이터가 다 조회되는 것으로 나타났습니다.어떤 이유에서 이렇게 동작한 것인지 질문드립니다.강의 덕분에 mysql 잘 배우고 있습니다. 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
소리가 안 들립니다..
안녕하세요. 강의 잘 듣고 있습니다.GROUP BY 해커랭크 문제풀이 강의 4분 26초부터 소리가들리지 않습니다 ...ㅠㅜ 어떻게 된걸까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
rising temperature
날짜 계산할 때 -1, +1 같은건 절대 안된다고 하셨는데 실제로 이렇게 써도 제출 전에는 맞다고 나오는데요! 혹시 이건 왜그럴까요? select today.idfrom weather as today inner join weather as yesterday on today.recorddate - 1 =. yesterday.recorddatewhere today.temperature > yesterday.temperature
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
리트코드 관련 질문
안녕하세요!!작성하신 코드와 동일한 코드이고, 테스트 케이스까지는 통과하는데, 제출버튼을 클릭하니 오답이라고 뜹니다!! 혹시 몰라 코드 제출합니다!!
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
top earners
top earners 문제를 풀다가 count(earnings)가 아닌 count(*)로 작성하는 점에 의문이 생겨 기존 질의 응답을 쭉 읽었습니다! 보다보니 쿼리 실행 순서 때문이라는 답글을 보았는데요. 이 문제 풀이에서 쿼리 실행 순서가 FROM -> GROUP BY -> SELECT -> ORDER BY -> LIMIT 순 이라고 하셨는데, 1) 그럼 group by 가 실행될 때 earnings는 아직 정의되지 않았지만 뒤의 select에서 정의가 되었기 때문에 오류없이 넘어가는 건가요? 2) group by 로 인해 earnings 칼럼 기준으로 정렬하기 때문에 count(*)을 쓰면 동일한 earnings끼리만 묶이는 원리(?)라고 이해하면 되나요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
JOIN 관련 문의
안녕하세요. JOIN 공부 중 질문이 하나 생겼습니다. 아래와 같이 조인을할 때, 어떤 테이블은 INNER JOIN을 진행하고, 어떤 테이블은 LEFT JOIN을 진행한다고 했을 때, 결과는 어떤식으로 나오나요? 각각의 조인에 맞는 데이터가 나오는게 맞을까요? SELECT A.*, B.col1, C.col2 FROM TableA AS A INNER JOIN TableB AS B ON A.id = B.id LEFT JOIN TableC AS C ON A.id =C.id ;
- 해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL
LIMIT 함수 여러번 사용 할 순 없을까요?
테이블명: Customers country customerid UK 3 UK 2 Mexico 8 UK 7 UK 1 Mexico 3 UK 2 Mexico 6 UK 9 Korea 1 Korea 4 UK 2 Korea 7 UK 9 위와같은 테이블에서 customerid 상관없이 country별로 2개씩만 추출하고 싶은데 WITH total AS( SELECT country, customerid FROM Customers WHERE country IN ("UK") LIMIT 2 ), g AS( SELECT country, customerid FROM Customers WHERE country IN ("Mexico") LIMIT 2) SELECT country, customerid FROM Customers 이렇게 작성을 하니 UK와 Mexico의 모든 데이터가 다 나오더라구요; 반면 LIMIT를 젤 마지막 구절에 붙이니 country 상관없이 그냥 두줄만 나오구 ㅠ WITH문에서 해당 SELECT마다 LIMIT를 붙일수 없는걸까요? 아니면 제 쿼리 작성이 잘못되서 일까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
group by로 값 출력할 때
안녕하세요, group by 관련해서 2개의 질문드립니다! 1. group by를 사용하지 않고 전체 값을 출력했을 때는 다음과 같이 SupplierID가 1인 케이스가 3건이고 각각의 ProductName도 노출이 되는데요. group by SupplierID를 이용해서 그룹으로 묶으면 원래 SupplierID가 1이었던 케이스들은 1개만 남고 사라지더라구요. group by를 활용하게 되면 묶이는 케이스의 각 값들은 볼 수 없는 걸까요? COUNT하거나 할 때는 상관 없을 것 같은데 원래 이렇게 하나의 값만 남아지는지 궁금합니다! 2. order by에 두 개의 값을 넣어 정렬시키면 1번 값을 기준으로 정렬하되 1번 값으로 정렬이 안되면 2번 값을 기준으로 정렬로 이해했습니다. group by SupplierID, CategoryID처럼 group by에 여러 값을 활용해서 묶을 때는 SupplierID와 CategoryID이 같은 경우로만 묶이는 건지 궁금합니다!
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
FROM Alias 지정 관련 문의 드립니다
안녕하세요. 쿼리문 첨부해서 다시 질문드립니다!별칭을 지정 후에 SELECT, WHERE 절에 별칭을 사용하지 않고 원래 테이블 이름을 쓰니까 오류가 났습니다. 별칭을 지정하면 별칭으로 통일해야하는건가요? 원 테이블 이름과 혼용이 안되는게 맞는지 궁금합니다! 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
LeetCode 183 문제 질문합니다
안녕하세요 두 가지 질문이 있습니다 첫 번째 질문은 사진을 첨부하겠습니다 사진과 같이 기존의 테이블에서 INNER JOIN을 한 후 OUTPUT 의 정렬도 디폴트로 기존의 테이블의 id 순서의 영향을 받는다고 추측했는데 맞을까요? 두 번째 질문은 FROM절에서 Alias를 지정해줬을 때 SELECT, WHERE절에 테이블명을 적을 경우 리트코드에서 오류가 나더라구요. 별칭을 설정했을 경우엔 꼭 별칭으로만 통일 해야하만 하나요? 감사합니다
- 해결됨[백문이불여일타] 데이터 분석을 위한 중급 SQL
Average Population of Each Continent 문제 질문드립니다
- 학습 관련 질문을 남겨주세요. 상세히 위와 같이 같은 코드로 작성하였는데 Wrong Answer 이라고 나옵니다. 영상의 output과 값은 같은데 순서가 달라서 그런걸까요 ? 별다른 order 조건 지정이 없었는데 오류가 나는 이유가 무엇인지 모르겠습니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
Average Population of Each Continent 복습하다 질문드립니다.
안녕하세요.늘 좋은 강의 잘 듣고 있습니다. 해커랭크의 'Average Population of Each Continent' 문항을 복습하다가 LEFT. INNER JOIN에 관해 궁금한 점이 있습니다. 해당 문제를 복습하면서 아래와 같이 쿼리를 작성하였는데, NULL로 인해 Wrong Answer가 뜨더라구요ㅠ SELECT country.continent , FLOOR(AVG(city.population)) FROM city LEFT JOIN country ON city.countrycode = country.code GROUP BY country.continent 코드를 돌린 후, 답에 NULL 값이 있어, INNER JOIN으로 변경하였더니 정답으로 나오더라구요. DATA를 보기 전에 LEFT JOIN과 INNER JOIN을 구분하는 방법이 있을까요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
top earnings 복습하며 다시 짠 코드
강의 코드 SELECT salary * months AS earnings ,COUNT(*) FROM employee GROUP BY earnings ORDER BY earnings DESC LIMIT 1 ---- 내가 푼 코드 SELECT MAX(months*salary) AS max_total_earnings ,COUNT(*) FROM employee GROUP BY months*salary HAVING count(*)=7 안녕하세요 해커랭크 문제 복습하며 제 생각대로 코드를 짜봤습니다. 다행히 해커랭크에선 통과했지만 두 코드 간 디테일한 차이가 있지 않을까 해서 질문 남깁니다. 같은 결과값이지만, 어떨 때 ORDER BY 와 LIMIT으로 구하는게 적절하고 어떨 때 HAVING을 활용하는게 좋은지 경험을 나눠주시면 도움될 것 같습니다 감사합니다.
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
GROUP BY 질문
SELECT 와 GROUP BY절에 같은 칼럼이 들어가야 한다고 배웠는데 이 문제에서는 earnings가 따로 언급되지 않아도 실행되는 이유가 궁금합니다. 1. SELECT salary * months AS earnings 와 같이 별칭 지정으로 언급되어도 같은 칼럼이 들어간 것이 되나요? 2. SELECT 절 마지막에 earnings를 언급을 추가하면 정의되지 않은 칼럼이라고 오류가 생기는데, 편의상 지정한 별칭이라서 따로 언급하지 않아도 되는 건가요?
- 미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
count 0값
안녕하세요. sql에서 count를 했을 때 값이 0인 경우는 NULL값이기 때문에 출력이 안되는데 혹시 count가 0인 값도 출력하려면 어떤 방식을 이용해야할까요?