묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결데이터 분석 SQL Fundamentals
with 문, 인라인 서브쿼리 등 사용하는 기준이 궁금합니다
with 절이나 인라인 서브쿼리처럼 그룹을 나눠서 쓰시는 것과 그냥 한 뭉터기로 푸는 것과 기준이 감이 잡히지 않습니다 그룹을 나누는 기준이 궁금합니다 또 그룹을 나누어야 한다면 temp_01 , temp_02 처럼 몇 번을 나눠야 할지의 기준도 궁금합니다
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
JOIN문과 서브쿼리 작성 관련
파이널 SQL 연습의 연습문제 1에 대한 질문입니다. (1분 38초)포괄적인 질문이 될 수 있겠으나, 해당 연습문제에 대해 서브쿼리를 사용하여 구문을 만들어보려고 하였는데 논리적으로 짜는 것에 한계를 느꼈습니다. (애초에 연습문제1에 대해 서브쿼리를 사용하는 것이 가능한지 아닌지, 가능한데 못하고 있는 건지에 대한 판단조차 서지 않아서 여쭙고 싶었습니다.) JOIN문 작성이 어느 정도 가능하다면, 서브쿼리 단련에 그렇게 힘을 쓰지 않아도 될까요?
-
해결됨데이터 분석 SQL Fundamentals
join 질문
join employee b on a.key = b.key and a.fromdate betweeen b.fromdate and b.todate여기서 질문 있습니다! join 을 할때 between 조건을 걸어주는 것과 이렇게 where 절에 조건을 걸어주는 게 어떤 차이가 있는지 궁금합니다. ~ join employee b on a.key = b.keywhere a.fromdate betweeen b.fromdate and b.todate 조인 조건에 조건을 추가하는 것과 where 절에 조건을 추가하는게 똑같아보이는데 차이가 있을까요
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
주피터 노트북 NEW 생성에서 파이썬이 안보입니다.
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 파이썬 관련 생성이 안보이고notebookterminalconsolenew filenew folder이렇게만 보여집니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
lead, lag로 풀이할 시 id 값이 존재하지 않는 경우의 오답
안녕하세요 선생님~해당 문제를 윈도우함수로 풀었는데, submit을 하니 일부 테스트케이스에서 오답으로 되어 질문드립니다. 아래 input에서 id 3이 존재하지 않아, 해당 테이블의 num컬럼을 1,1,null,1,1,2,1 로 정의하고 풀어야 할 것 같습니다.(실제로 expected output에 아무 값도 나오지 않아야 함) 강의에 나오는 쿼리로는 id가 빠져있는 경우를 처리하지 않고, 명시적으로 나와있는 데이터의 연속성만 판단하고 있습니다. 아래와 같은 예외케이스를 포괄할 수 있는 쿼리를 어떻게 짜야할지 조언주시면 감사하겠습니다.제가 작성한 쿼리도 첨부합니다!
-
해결됨초보자를 위한 BigQuery(SQL) 입문
WITH 구문
1. WITH 사용하지 않고 FROM으로 묶은 후 쿼리 작성 이어나가기2. WITH 사용하기안녕하세요. 위의 두 경우 모두 쿼리 결과는 동일하게 나오는데, WITH를 사용하는 정확한 이유가 오로지 가독성을 위한 것인지, 용량에도 차이가 생기는 것인지 궁금해 질문드립니다.(개인적으로는 문제를 풀 때 바로 묶는 것이 더 편하기 때문에 여쭤봅니다.!)
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
sql 단축키
안녕하세요. sql에서 위와 같이 깔끔하게 정렬할 수 있게 도와주는 단축키가 뭐였나요?답변 미리 감사합니다.
-
해결됨SQL 코딩테스트를 위한 마지막 걸음
Date 강의 / leetcode 1321 질문
# [Setting] USE PRACTICE; DROP TABLE Customer; CREATE TABLE Customer (customer_id int, name varchar(20), visited_on date, amount int); INSERT INTO Customer (customer_id, name, visited_on, amount) VALUES (44, 'Ashley', '2019-01-04', 160), (23, 'Sabo', '2019-01-04', 70), (38, 'Moustafa', '2019-01-05', 90), (30, 'Halley', '2019-01-06', 140), (5, 'Elvis', '2019-01-07', 160), (12, 'Leslie', '2019-01-08', 100), (23, 'Sabo', '2019-01-08', 90), (13, 'Will', '2019-01-09', 170), (20, 'Brock', '2019-01-10', 160), (29, 'Leo', '2019-01-10', 90), (33, 'Isaac', '2019-01-11', 60), (46, 'Selena', '2019-01-12', 100), (4, 'Winston', '2019-01-13', 150), (15, 'Marti', '2019-01-13', 160); SELECT * FROM Customer;# [my practice] select b.visited_on, sum(amount) as amount, round(sum(a.amount) /7, 2) as average_amount from customer a inner join (select distinct date_sub(visited_on, interval 6 day) as week_before, visited_on from customer) b on a.visited_on between b.week_before and b.visited_on group by b.visited_on having count(amount) >= 7 order by b.visited_on;올려주신 방식 외에 inner join시 date 구간으로 조건 넣는 방식으로 시도해 보았습니다.위 데이터로 삽입하는 경우, MySQL Workbench에서는 예상 결과대로 출력 되는데 leetcode에서 오류가 나서 혹시 제가 코드 상에서 간과하고 있는 부분이 있는지 궁금해서 질문 드립니다.leetcode 내에 PostgreSQL로 유사한 방식의 해결 법은 확인했었는데 혹시나 해서 링크 올려봅니다. https://leetcode.com/problems/restaurant-growth/solutions/5040002/well-explained-postgresql-solution-beats-99
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
중급반 결재하러 가요!! 기초반 좋았습니다
기초반 들었는데 너무 쉽게 설명해주셔서 좋았어요중급반 들으러 갑니다
-
해결됨MySQL 성능 최적화
실무에서 prefix index를 어떤 요구사항이 있을때 사용하는지 궁금합니다!
실무 요구사항에서 blob, text, 긴 varchar와 같은 칼럼을 인덱싱하는 경우가 있을까요?당장 기억나는건 게시글 내용 검색 밖에 생각이 안나네요.. 그리고 요 아래글에 나와있는 prefix index의 한계점도 맞는 말일까요?https://stackoverflow.com/questions/31526618/mysql-prefix-index-vs-index(아래는 챗지피티가 요약해준거라 정확하지 않을 수 있습니다 ㅠ)인덱스를 통해 "가능한" 행들을 먼저 찾고, 이후 실제 데이터 행을 검색하여 추가 필터링을 수행(두 단계를 거치므로 인덱스를 사용하지 않을때보다 더 많은 시간 소요..?)2.정렬(sorting)이나 그룹화(grouping) 작업에는 사용되지 않음.ORDER BY 절을 명시적으로 사용하지 않는 한 결과의 순서는 보장되지 않음커버링 인덱스로 사용 불가
-
미해결다양한 사례로 익히는 SQL 데이터 분석
Plotly을 이용해 treemap시각화시 공유사항
plotly의 treemap 을 사용해서 시각화 하는 경우 Pandas 2.xxxx 버전에서 append 메소드를 지원하지 않아서 treemap api를 이용해 시각화 시도 하는 경우 append를 지원하지 않는다는 오류 메시지를 밷는 경우를 봅니다. 아마도 plotly가 append 메소드 더 이상 지원하지 않는것에 대해서 패치가 이루어지지 않는 버전이어서 그런 경우가 있습니다. 이런 경우는 plotly의 최선 버전으로 재 인스톨 해주시고 실습을 하시면 됩니다.참고로 저의 실습 버전 plotly 5.7.0 -> 현재는 5.22.0 입니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
JOIN 연습문제 5번 문제 관련해서 질문이 있습니다!
안녕하세요! 좋은 강의 감사드립니다. 도움이 많이 되고 있어요.5번 문제 관련해서 질문이 있습니다. 5번 문제에 대해서 저는 쿼리를 이렇게 작성했습니다.SELECT generation, COUNT(tp.id) AS pokemon_cnt FROM ( SELECT id, trainer_id, pokemon_id, status FROM `basic.trainer-pokemon` ) AS tp LEFT JOIN basic.trainer AS t ON tp.trainer_id = t.id LEFT JOIN basic.pokemon AS p ON tp.pokemon_id = p.id WHERE t.hometown = 'Incheon' AND tp.status IN ('Active', 'Training') GROUP BY generation ORDER BY pokemon_cnt DESC강의에서 카일님과 다른 부분은 WHERE 절에 AND 가 더 추가된 부분이에요.문제에서 '보유하고 있나요?' 라고 물어서 저는 저 조건을 추가해줬는데 카일님은 추가해주시지 않았는데도 제 쿼리와 결과가 같게 나오더라구요.우연히 인천에 있는 트레이너들의 status가 다 Active, Training 이어서 이렇게 된 것인지 아니면 저 조건이 필요가 없는 것인지 궁금합니당!
-
해결됨Database - SQL
데이터베이스 설치 관련
안녕하세요. MS SQL server express 설치 부분에서 문제가 발생해서 질문 드립니다.기본 인스턴스 또는 명명 인스턴스와 상관없이 다음 사진과 같이 데이터베이스 엔진이 설치가 되지 않습니다.방화벽이 문제 때문이라고 생각하여 1433 포트를 허용하는 인바운드 규칙도 추가하였으나 여전히 설치에 오류가 발생합니다.혹시 강의 내용과 다른 SQL Server 2022 버전을 설치해서 발생하는 문제일까요? 어떤 점에서 문제가 발생하는 지 잘 모르겠습니다
-
해결됨초보자를 위한 BigQuery(SQL) 입문
5-6 의 Join 문제 2 해설이 일부 이해가 되지 않습니다
안녕하세요. 5-6 JOIN 연습문제 2번 중, 18:30 쯤에서 group by type1 을 하셨는데 여기 group by pokemon_Cnt (= tp.id) 여야 하지 않는지요?
-
해결됨SQL 코딩테스트를 위한 첫 걸음
cross join, full join강의 / leetcode 1280번 문제 질문드립니다
select a.student_id, a.student_name, a.subject_name, count(e.subject_name) attended_exams from ( select student_id, student_name, subject_name from Students, Subjects # cross join ) a left outer join ( select student_id, subject_name from Examinations ) e on a.student_id=e.student_id and a.subject_name=e.subject_name group by a.student_id, a.student_name, a.subject_name order by a.student_id, a.subject_name;해당 코드에 select 문에 있는 count(e.subject_name) attended_exams를 실행할 때,count(a.subject_name) attended_exams와 같이 cross join을 실행한 subject_name을 기준으로 실행하는 경우에는 0값이 안나오는 결과를 확인했는데 둘의 차이가 궁금합니다.
-
해결됨성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
case when에 count를 넣으면?
select * from members m where m.idx=(case when count(m.idx)=1 then 2 else 1 end)이렇게 하면 에러가 나오는데 이유를 모르겠네요
-
해결됨SQL 코딩테스트를 위한 첫 걸음
not In강의 / leetcode 1978 질문 드립니다
leetcode 1978번 문제에서 왜 서브 쿼리를 지정해야만 정답이 나올 수 있는지 궁금합니다. 예를 들어,select employee_id from employees where salary < 30000 and manager_id not in(employee_id);서브쿼리를 지정하지 않고 위와 같이 작성한 경우에는| employee_id | | ----------- | | 1 | | 11 |위와 같이 출력 되는데 왜 서브 쿼리를 지정 안 할 경우에는 해당 출력이 나오는지 궁금합니다
-
미해결데이터 분석 SQL Fundamentals
섹션 4 피봇팅 실습 중 정렬 기준에 관해 문의드립니다.
안녕하세요, 좋은 강의 잘 듣고 있습니다.섹션 4 피봇팅 실습 강의 중 정렬 관련해 문의드립니다.실습예제 : deptno로 group by하고 job으로 pivoting 쿼리 결과위 부분에 대해서는 이해했습니다. 그런데,위 쿼리문 하단에 아래와 같이 order by job;을 추가하면 쿼리 결과처음에는 컬럼 순서에 따라 열 순서가 정해지는 것이라 생각했는데, 쿼리에서 컬럼의 순서를 바꿔도 각 컬럼에 자료가 표시되는 열 번호가 같습니다.예시)쿼리 결과일단 직급의 우열에 따라(salesman - manager - analyst - clerk - president) 정렬한 것으로 파악했습니다.하지만 테이블 관계도를 살펴봐도 직급에 대해 정렬 기준을 정의한 부분이 없어보여 문의드립니다.job 컬럼을 기준으로 묶었을 때, 직급의 우열을 정의한 바가 없다면 해당 컬럼의 데이터타입에 따라 알파벳 순으로 나와야 하는 게 아닌지 해서 이유가 궁금합니다.이상입니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
4-5 연습문제 4번
안녕하세요. 4-5 연습문제 4번 서브쿼리 부분에서 질문이 있습니다. 서브쿼리에 꼭 * 이나 id를 써줘야 실행이 되는 이유는 무엇인가요??처음에는 서브쿼리>select에서 카일님 풀이처럼 *를 안 해주고 실행했더니 Unrecognized name: id라는 오류가 떴습니다. 구글링을 통해 알아보니, 서브쿼리에 id를 안 썼는데 바깥에 COUNT(DISTINCT id) as battle_cnt 를 써줘서 오류가 떴다고 했습니다. 왜 써줘야 하는지 알 수 있을까요??
-
해결됨초보자를 위한 BigQuery(SQL) 입문
battle 파일 표시할 데이터가 없습니다 문제
안녕하세요 좋은 강의 잘 듣고 있습니다. battle 파일 실행 중 문제가 있어 질문 드립니다.google cloud에서 battle파일을 열면 스키마는 나오는데 미리보기가 안됩니다. '표시할 데ㅌ이터가 없습니다'라고 메시지가 뜹니다.쿼리를 날려도 데이터가 없는 건지 결과가 안 나옵니다.다른 파일은 다 멀쩡합니다. 파일탐색기에서 battle.csv 열어도 데이터가 잘 있습니다.혹시 문제에 대해 알고 계신 게 있으신가요?감사합니다.