묻고 답해요
137만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨초보자를 위한 BigQuery(SQL) 입문
5-6 의 Join 문제 2 해설이 일부 이해가 되지 않습니다
안녕하세요. 5-6 JOIN 연습문제 2번 중, 18:30 쯤에서 group by type1 을 하셨는데 여기 group by pokemon_Cnt (= tp.id) 여야 하지 않는지요?
-
해결됨초보자를 위한 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 열어도 데이터가 잘 있습니다.혹시 문제에 대해 알고 계신 게 있으신가요?감사합니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
sql 실행순서와 서브쿼리 사용이유
SQL 공부하다가 궁금한점이 생겼어요!실행순서는 group by가 select 보다 먼저 실행되는 것으로 알고 있는데select절에서 설정한 별칭을 왜 group by절에서 사용해도 되는걸까요?현업에서는 팀마다 다르겠지만, 보통 어떻게 사용하시나요?그리고 만약에 안된다면, 서브쿼리를 사용하시나요?서브 쿼리를 사용하는 이유는 정확히 무엇인가요? 그리고 현업에서도 서브쿼리를 많이 사용하는지 궁금합니다!(아직 서브쿼리가 정확히 왜 필요한지 모르겠어요. 자바스크립트의 클로저라는 개념과 비슷한 개념일까요?)마지막으로 아래 쿼리가 결과는 똑같은데 어떤게 더 바람직한 작성 방법일까요?(해당 강의는 4-6. 조건문(CASE WHEN, IF)입니다)감사합니다 :)SELECT new_type1, COUNT(DISTINCT id) AS cnt FROM( SELECT *, CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, FROM `basic.pokemon` ) GROUP BY new_type1SELECT CASE WHEN type1 IN ('Rock', 'Ground') OR type2 IN ('Rock', 'Ground') THEN 'Rock&Ground' ELSE type1 END AS new_type1, COUNT(DISTINCT id) AS cnt FROM `basic.pokemon` GROUP BY new_type1
-
해결됨초보자를 위한 BigQuery(SQL) 입문
코드 에디터가 이상한데, 어떤 설정을 건드려야할지 모르겠어요.
글자가 겹쳐 써지거나, SELECT를 썼을 때 위처럼 파란색이 나타나지 않는 경우가 있어요.그리고 드래그를 해도 파란색으로 보이지가 않아요. 제가 실수로 어떤 설정을 건드렸을까요?혹은 제 노트북 내 잘못 설정한 것인지 문제를 발견하기 어려워요.도와주실 수 있으실까요?
-
해결됨초보자를 위한 BigQuery(SQL) 입문
4-5. 시간 데이터 연습 문제 2번 문제 관련
강의 관련해서 제가 조금 이해가 어려운 부분이 있는데 도와주실 수 있나요?(위의 이미지는 강의 영상을 캡쳐한 것입니다)2번 문제가 '오전 6시에서 오후 6시 사이에 일어난 배틀의 수를 계산해주세요' 입니다.그런데 EXTRACT(HOUR FROM battle_datetime) <= 18 을 해보면 빨간색 네모 상자에 표시해둔 것처럼18:53분 즉, 오후 6시를 넘어서 나온 시간까지 데이터에 잡히는데요!이럴 때는 어떻게 하면 좋을까요? 그냥 EXTRACT(HOUR FROM battle_datetime) < 18이 나을까요? (그런데 그러면 딱 정확히 18:00에 배틀이 이루어진 순간은 포함되지 않아서 고민이네요)
-
해결됨초보자를 위한 BigQuery(SQL) 입문
battle 테이블 형성할 때 제가 어떤 실수를 했을까요?
안녕하세요! 카일스쿨님!battle 테이블을 영상 그대로 만들었는데도, 계속 battle 테이블에 관한 데이터에 관한 정보를 볼 수가 없어요!빠진것 없이 최대한 꼼꼼히 다시 체크했는데도 모르겠습니다.혹시 제가 어떤 실수를 했을지 도와주실 수 있나요?아래는 스키마 정보와, 제가 테이블 만들때 과정을 이미지로 첨부했습니다.감사합니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
5-6 JOIN 연습문제 6번
수업을 들으며 항상 감사한 마음으로강의 잘 듣고 있습니다. 5-6번 JOIN 연습문제 5번까지 풀이가 있고,6번은 없었습니다ㅠㅠ 어디서 확인 할 수 있을까요? 답변 부탁드립니다!(문제)각 배틀에서 참가한 두 플레이어의 이름과 승자의 이름을 출력해 주세요.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
쿼리 생산성 도구 에러
안녕하세요! 덕분에 강의 잘 듣고 있습니다. 감사합니다. espanso까지 설치하고, 윈도우라 메모장으로 열어서 템플릿을 입력하고 저장을 하면 첨부된 이미지와 같이 에러가 뜹니다. 이럴 경우, 뭐가 문제인가요? 답변 부탁드립니다!
-
해결됨초보자를 위한 BigQuery(SQL) 입문
쿼리 작성 템플릿과 생산성 도구 사용
espanso 설치까지 했습니다. 이후 터미널에서 쿼리를 작성하라는게 무슨 뜻인지 잘모르겠어요.터미널에서 espanso edit을 입력하면 메모장이 켜지네요 ㅠㅠ
-
해결됨초보자를 위한 BigQuery(SQL) 입문
수강 다짐
강의 목적💡 이 강의를 통해서 얻고 싶은 3가지는?여러 테이블이 존재하는 상황에서 불편하지 않게 데이터를 추출할 수 있다.실제 데이터 추출에서 이런 SQL 쿼리를 쓰면 되겠다라고 판단이 들고 싶다.실제 프로젝트에서 이제 어떻게 쿼리문을 작성하면 되겠다라고 판단이 들고 싶다. 💡 그걸 위해 내가 할 노력은?생각의 흐름을 먼저 정리하고 → 쿼리 문으로 옮기기47문제 중에서 상,중,하로 판단하여 어려웠던 쿼리 문만 모아서 2회독 하기47문제 중에서 자주 쓰이고 필요한 SQL 치트 시트 표 만들기💡 수강한 이후 내가 생각하는 나의 변화는?2회독을 하여, 여러 테이블이 존재하는 상황에서 어떻게 쿼리문을 작성할 수 있는 능력이 되었으면 좋겠습니다. (chat gpt없이)
-
해결됨초보자를 위한 BigQuery(SQL) 입문
pokemon 테이블을 생성하고자 하는데 뜨는 오류
pokemon 테이블을 생성하고자 하는데 이런 오류창이 뜨면서 생성이 되지 않아요 ㅠ두번쨰 이미지는 혹시나 확인에 필요할까싶어 추가 첨부해봅니다~
-
해결됨초보자를 위한 BigQuery(SQL) 입문
빅쿼리 콘솔창이 너무 글씨가 작아요
눈이 너무 아파요 ㅠ 혹시 설정 방법이 있을까요? 혼자서는 못찾겠어요 ㅠ
-
해결됨초보자를 위한 BigQuery(SQL) 입문
2-6 연습문제 16번. COUNT 함수 질문
안녕하세요,2-6강을 수강하다가 연습문제 16번에 관한 질문이 있어 질문 드립니다. 16번을 풀이하실 때 SELECT trainer_id, COUNT(pokemon_id) AS pokemon_cnt 이렇게 쿼리를 시작하셨는데, 혼자 먼저 문제를 풀 때 저는SELECT trainer_id, COUNT(status) AS pokemon_cnt이렇게 쿼리를 작성하였습니다.( COUNT( ) 안에 들어가는 부분에 pokemon_id 대신 status 컬럼을 사용) 이후 쿼리는 동일하게 작성을 하여 결과값은 똑같이 나왔는데카일님께서 풀이하실 때 COUNT 함수에 pokemon_id 컬럼을 사용하신 이유가 무엇인지 조금 더 자세하게 설명해주실 수 있나요? 이렇게 COUNT 등 집계 함수를 사용할 때 어떤 컬럼을 사용해야 하는지 헷갈릴 때가 많습니다. 이런 경우 어떤 기준으로 판단하면 좋을까요? 좋은 강의 덕분에 항상 많이 배우고 있습니다. 감사합니다!
-
해결됨초보자를 위한 BigQuery(SQL) 입문
강의 만족도 설문
https://bit.ly/4cAXvh5 을 눌러 인적사항과 두 가지 질문에 네를 체크해도 다음으로 넘어가지 않습니다.수강평을 남겨주셨나요?에 네 남겼습니다 체크 한 후 다음을 누르면 만족도 설문으로 넘어가지 않아요. [진행상황이 복원되었습니다.] 라는 에러와 함께 이 첫 화면에 머물게 되네요. 다음을 눌러 만족도 조사를 하고 싶은데... 저만 이렇게 뜨는 걸까요?
-
해결됨초보자를 위한 BigQuery(SQL) 입문
쿼리 실행 오류
두 경우 모두 오류가 발생합니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
1-2. BigQuery 환경 설정 - 테이블 만들기 오류
안녕하세요 pokemon / trainer 파일 데이터 만들기 진행하면 아래와 같은 오류가 발생 합니다어떻게 해결 하는게 좋을까요?
-
해결됨초보자를 위한 BigQuery(SQL) 입문
join 3번, 4번 문제
안녕하세요 카일님. 연습문제 관련 질문드립니다.join 연습문제 3번: 고향=포켓몬 잡은 위치 같은 것만 구하려면 레프트 조인 쓰지 않고 그냥 아래처럼 이너조인으로 쓰는 게 낫지 않을까요? 레프트 조인을 쓰신 사유가 따로 있으실까요? select count(distinct tp.trainer_id) as trainer_cntFROM `inflearnbigquery1.basic.trainer` tjoin `inflearnbigquery1.basic.trainer_pokemon` tpon t.id=tp.trainer_id and t.hometown=tp.location join 연습문제 4번: 저는 아래와 같이 풀었는데 (각 테이블을 서브쿼리에서 where조건으로 범위를 줄여놓고 조인하고자 했습니다) 왜 count(tp.pokemon_id) 나 count(distinct tp.pokemon_id)를 하지 않고 count(tp.id)를 하는지 이해가 잘 안 갑니다..! 5번 문제도 마찬가지로 왜 count(tp.id)인지 동일한 이유로 이해가 잘 안 가요...! 그리고 4번에서 count(tp.id)를 하더라도 아래와 같이 풀면 정답과 같이 water 속성이 나오는데 저는 cnt가 69가 나오네요. (정답에선 14) select -- tp.trainer_id, -- tp.pokemon_id, -- p.type1 p.type1, -- count(pokemon_id) as pokemon_cnt count(tp.id) as cnt from (select id,trainer_id, pokemon_id, status from `inflearnbigquery1.basic.trainer_pokemon` where status in ('Active', 'Training')) tp left join (select id, achievement_level from `inflearnbigquery1.basic.trainer` where achievement_level = 'Master') t on tp.trainer_id = t.id left join (select id, type1 from `inflearnbigquery1.basic.pokemon`) p on tp.pokemon_id = p.id group by 1 order by 2 desc limit 1 아래처럼 풀면 14가 나오는 걸 보니... from 절은 서브쿼리로 범위를 줄여놔도 되지만 레프트조인 절에 들어가는 건 서브쿼리로 하면 안되는 거였을까요? 바깥에서 where master 조건을 줘야하는데 안에서 준 게 잘못된 것으로 추정되는데... 위 쿼리처럼 하면 왜 안되는 걸까요?select p.type1, count(tp.id) as cnt from (select id,trainer_id, pokemon_id, status from `inflearnbigquery1.basic.trainer_pokemon` where status in ('Active', 'Training')) tp left join `inflearnbigquery1.basic.trainer` t on tp.trainer_id = t.id left join `inflearnbigquery1.basic.pokemon` p on tp.pokemon_id = p.id where t.achievement_level = 'Master' group by 1 order by 2 desc limit 1
-
해결됨초보자를 위한 BigQuery(SQL) 입문
템플릿, 강의 계획 관련
안녕하세요?템플릿을 Espanso를 활용하는 방법 알려주셨는데, 회사 컴퓨터에 해당 프로그램을 깔기가 조금 어려운 상황입니다. 회사 컴퓨터에는 Python이 깔려있고, 사용하는 SQL은 DBeaver (PrestoSQL)인데요. Python을 활용해서 Espanso 활용한 것처럼 템플릿이 뜨게끔 할 수 는 없을까요?PM 강의, SQL 기초 강의도 너무 잘 봤습니다. 심화강의는 언제쯤 업로드 예정이신지 알 수 있을까요? 심화강의 올라왔을 때 알람을 받아볼 방법이 있을지요? 너무 기다려집니다!!!!감사합니다.
-
해결됨초보자를 위한 BigQuery(SQL) 입문
강의자료문의
강의자료 다운받아보면 폴더가 비어있어요 ..아래글에 구글드라이브에도 올려두셨다고했는데 거기들어가서 다운받아도 폴더가 비어있습니다 ㅠㅠ