inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

[Average Selling Price] 문제 테스트케이스 실패

해결됨

SQL 코딩테스트를 위한 첫 걸음

코드 select p.product_id, round((sum(u.units*p.price) / sum(u.units)),2) as average_price from Prices as p inner join UnitsSold as u on p.product_id = u.product_id where u.purchase_date between p.start_date and end_date group by p.product_id 현재 inner join으로 코드를 작성해봤습니다. submit을 하고나니 아래와 같이 테스트케이스에 통과하지 못했습니다! [ 문제 상황 ] 테스트케이스를 확인해보니 Prices 테이블에 product_id가 3인 row가 있음 inner join을 했으므로 3번에 대한 결과가 나오지 않음 실제 결과값에는 3번도 포함되어야한다 [ 궁금한 사항 ] 결과를 만족하려면 left outter join을 사용해야할 것 같습니다. 하지만 어떻게 해야지 잘 적용할 수 있는지 감이 잘 안옵니다. left outer join을 활용한 풀이와 설명 부탁드립니다!

  • sql
  • mysql
  • 코딩-테스트
전종훈 댓글 3 좋아요 1 조회수 334

join 3번, 4번 문제

해결됨

초보자를 위한 BigQuery(SQL) 입문

안녕하세요 카일님. 연습문제 관련 질문드립니다. join 연습문제 3번: 고향=포켓몬 잡은 위치 같은 것만 구하려면 레프트 조인 쓰지 않고 그냥 아래처럼 이너조인으로 쓰는 게 낫지 않을까요? 레프트 조인을 쓰신 사유가 따로 있으실까요? select count(distinct tp.trainer_id) as trainer_cnt FROM `inflearnbigquery1.basic.trainer` t join `inflearnbigquery1.basic.trainer_pokemon` tp on 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

  • sql
  • bigquery
  • 데이터-리터러시
V Kim 댓글 1 좋아요 0 조회수 299

템플릿, 강의 계획 관련

해결됨

초보자를 위한 BigQuery(SQL) 입문

안녕하세요? 템플릿을 Espanso를 활용하는 방법 알려주셨는데, 회사 컴퓨터에 해당 프로그램을 깔기가 조금 어려운 상황입니다. 회사 컴퓨터에는 Python이 깔려있고, 사용하는 SQL은 DBeaver (PrestoSQL)인데요. Python을 활용해서 Espanso 활용한 것처럼 템플릿이 뜨게끔 할 수 는 없을까요? PM 강의, SQL 기초 강의도 너무 잘 봤습니다. 심화강의는 언제쯤 업로드 예정이신지 알 수 있을까요? 심화강의 올라왔을 때 알람을 받아볼 방법이 있을지요? 너무 기다려집니다!!!! 감사합니다.

  • sql
  • bigquery
  • 데이터-리터러시
V Kim 댓글 2 좋아요 0 조회수 314

자바 메모리 구조와 CPU에 대해 질문이 있습니다.

해결됨

김영한의 실전 자바 - 기본편

보통 메모리 구조라고 하면 코드, 데이터, 힙, 스택 영역으로 알고 있습니다. 근데 실행 프로그램이 자바 코드로 이루어져 있다면 메모리 구조는 메서드, 스택, 힙 영역으로 이루어지는건가요? 메서드 영역에 클래스 즉 코드들이 올라간다 했는데 그러면 CPU가 메서드 영역에 있는 자바 코드들을 하나씩 레지스터로 fetch해서 decode, execution 하는건가요? CPU가 클래스 코드들을 해석하면서 메서드 호출일 경우 스택 영역에 스택 프레임을 생성하고 인스턴스 생성일 경우 힙 영역에 인스턴스를 생성하는 건가요? 힙 영역에 인스턴스가 생성된다고 했는데 그러면 필드 코드는 여전히 메서드 영역에 존재하지만 인스턴스가 가지고 있는 필드 값들은 힙 영역에 존재하는 건가요? 감사합니다.

  • java
  • 객체지향
감바스 댓글 1 좋아요 1 조회수 436

max(문자열)

미해결

데이터 분석 SQL Fundamentals

안녕하세요 ~ sql 초보 학습자 입니다. 강의 중에 나온 쿼리인데요 select empno, max(ename) as ename, avg(sal) as avg_sal from temp_01 group by empno; max(ename) 여기서 왜 사원명에 max를 사용하는지 잘 이해가 안가서 질문 드립니다. 그룹바이를 사용할 때는 select절에 합계 함수만 넣을 수 있기 때문에 조건 만족을 위해 넣어주는 것일까요? empno에 합계 함수를 넣지 않아도 되는 이유는 empno 레벨로 그룹핑이 되었기 때문에 가능한 것이고요? 그럼 그룹바이에서 문자열을 넣고 싶을 때는 max를 사용하는 것으로 이해하면 되는 것일까요...?

  • sql
  • postgresql
  • dbms/rdbms
gjejt 댓글 2 좋아요 0 조회수 418

JSX에서 CSS파일 연결하는게 안됩니다

미해결

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요 선생님강의 잘 듣고 있습니다! 다름이 아니라 선생님 강의 중 'JSX로 UI 표현하기' 편을 듣고 있는데import를 이용해서 CSS파일을 연결하는 부분에서 막혔습니다 강의와 똑같이 작성했는데 스타일 적용이 안되는 이유가 뭘까요?화면에 오류 표시도 안뜨는데 코드에 문제가 있는지 궁금합니다

  • javascript
  • react
  • node.js
Nara 댓글 3 좋아요 0 조회수 636

분산 DB 에서 비관적 락을 통한 동시성 제어

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

안녕하세요. 분산락을 언제 쓰는게 좋을지 고민하다가 몇 가지 궁금증이 생겨 질문드립니다. 분산 DB 환경이 무엇을 의미하는지? 흔히 분산 DB 환경에서 낙관적, 비관적 락으로 동시성 문제를 해결하기 힘들다고 얘기하더라고요. 여기서 말하는 분산 DB 라는 것이 샤딩에 의해 여러 DB 서버가 있는 것인지, 동일한 데이터를 저장하는 DB 서버가 여러 대 있는 환경을 의미하는 것인지 모르겠습니다. 예를 들어, Ticket 이란 데이터를 저장하는데 동일한 ticket 데이터가 DB server 1, DB server 2 에 저장되어 있는 환경일까요?? 만약 분산 DB 가 샤딩인 경우 비관적 락으로도 동시성 이슈를 해결할 수 있을 것 같은데 맞을까요? 아래 그림처럼 ticketId = 1 인 티켓을 예매하기 위한 요청이 동시에 올 경우 입니다. 처음 x-lock 을 잡은 요청이 끝나야 뒤늦게 온 요청이 해당 티켓의 잔여 수량을 확인하고 예매 하기 때문에 샤딩으로 인한 분산 DB 에서는 비관적 락으로 동시성 이슈를 해결할 수 있을 것 같습니다. 동일한 Ticket 데이터가 여러 DB 서버에 중복되어 저장된 분산 DB 환경에서는 분산락을 사용해야 될 것 같습니다. 그러나, 샤딩은 동일한 Ticket 데이터에 접근하기 위해서는 동일한 서버로 접근하기 때문에 비관적 락으로도 충분히 해결 가능할 것 같아서 질문 드립니다!

  • java
  • spring
  • 동시성
차영호 댓글 2 좋아요 0 조회수 744

급여 최저치 문제

미해결

윤재성의 Oracle SQL Database 11g PL/SQL Developer

안녕하세요 선생님, 좋은 강의 보여주셔서 감사합니다. 다름이 아니라 23강에서 문제 풀이 도중 이해가 안 가는 부분이 있어서 이렇게 여쭙습니다. <문제> -- 각 부서별 급여 최저치보다 더 많이 받는 사원들의 사원번호, 이름, 급여를 가져온다. <선생님 풀이> select empno, ename, sal from emp where sal > all (select min(sal) from emp group by deptno); 이렇게 진행되면 각 부서별 최저치에서 가장 높은 급여와 비교되는 것이 아닌가 싶어 질문드립니다. 총 인원이 14명인 경우 가장 최저치를 받는 사람들 3명(부서가 3개)을 제외하면 11명이 나와야 할 듯한데 선생님 답에서는 8명만 나와서요...

  • sql
  • oracle
  • PL/SQL
  • dbms/rdbms
Jaeyoung 댓글 1 좋아요 0 조회수 245

값을 안넘겨주면 똑같이 저도 에러가 나긴 하는데 왜 콘솔창에는 warn이 안뜰까요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의에서는 warn이 뜨고 name이 없다라는 콘솔문구가 뜨는데 저는 창을 들어가보면 에러는 똑같이 나는데 warn이 안뜨네여..

  • java
  • spring
  • mvc
  • spring-boot
댓글 2 좋아요 1 조회수 333

African Cities 문제 LEFT JOIN 적용 방법

미해결

[백문이불여일타] 데이터 분석을 위한 중급 SQL

Given the CITY and COUNTRY tables, query the names of all cities where the CONTINENT is 'Africa'. Note: CITY.CountryCode and COUNTRY.Code are matching key columns. => continent 가 africa인 값만 출력하면 되는 것이기 때문에 country를 첫번째 테이블로 놓고 LEFT JOIN 처리하려 했습니다 SELECT city.name FROM country LEFT JOIN city ON country.code = city.countrycode WHERE country.continent = 'africa' 이렇게 작성했더니 정답 내용은 모두 추출되었지만 다량의 NULL값 포함으로 오답 처리 되었습니다. city 테이블에 없는 africa continent값들로 인해 NULL값이 나옴은 인지했는데, 혹시 NULL값을 제외할 수 있는 방법은 뭔지 문의드립니다!

  • sql
29771023 댓글 1 좋아요 0 조회수 220

강의자료문의

해결됨

초보자를 위한 BigQuery(SQL) 입문

강의자료 다운받아보면 폴더가 비어있어요 ..아래글에 구글드라이브에도 올려두셨다고했는데 거기들어가서 다운받아도 폴더가 비어있습니다 ㅠㅠ

  • sql
  • bigquery
  • 데이터-리터러시
봄이 댓글 2 좋아요 0 조회수 491

Merge 관련해서 질문드립니다.

미해결

실전! 스프링 데이터 JPA

안녕하세요 영한님, 정말 좋은강의 잘 듣고있습니다. Merge관련해서 질문이 하나있는데요..! 아래 두 method 모두 시작할때 persistence context가 비어있고 찾는 entity가 db에 있다고 가정할때 비슷한 (혹은 같은) flow로 진행될까요? 여기서 method parameter, Entity e,는 업데이트될 (id가 set되어있고 field가 업데이트 되어있는)객체입니다. @Transactional public void updateEntity(Entity e){ Entity foundEntity = em.find(Entity.class, e.getid()); foundEntity.setFieldOne("New Data"); } @Transactional public void updateEntity(Entity e){ em.merge(e); } Merge를 꼭 써야하는건 아니지만, 그냥 동작 메커니즘이 궁금해서 질문드립니다. Merge를 쓰는게 Update전에 항상 Select query로 db에서 객체를 조회하기때문에 쓰기를 지양하라고 하시는건가요, 아니면 merge를 쓸때 또 다른 downside가 있나요?

  • spring
  • spring-boot
  • jpa
  • java
SeokHoon Kim 댓글 1 좋아요 0 조회수 231

강의 자료 다운로드 문의

해결됨

초보자를 위한 BigQuery(SQL) 입문

안녕하세요! 강의를 듣고 강의 자료를 다운받았는데 폴더가 비어있어서 문의 드립니다 😂 혹시 어떻게 된건지 알 수 있을까요??

  • sql
  • bigquery
  • 데이터-리터러시
화사한 하마 댓글 1 좋아요 0 조회수 320

docker-compose up 오류

미해결

따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)

docker-compose up을 사용하면 initdb: error: directory "/var/lib/postgresql/data" exists but is not empty initdb: hint: If you want to create a new database system, either remove or empty the directory "/var/lib/postgresql/data" or run initdb with an argument other than "/var/lib/postgresql/data". 라는 오류가 자꾸 발생합니다. 삭제하고 다시 해도 해결이 안되서 질문남깁니다. 어떻게 해결해야하나요.

  • react
  • node.js
  • postgresql
  • docker
  • typescript
  • 클론코딩
  • next.js
진용 댓글 1 좋아요 0 조회수 839

Security 단원에서 Dto와 인증 서비스 강의 관련입니다

미해결

코드로 배우는 React 19 with 스프링부트 API서버

loadUserByUsername 메서드에서 username 으로 조회잘되고 조회된 MemberDto는 log 출력도 잘되는데 다음 단계에서 "Encoded password does not look like BCrypt" 라는 warn 과 함꼐 "Failed to process authentication request" 로 자격증명에 실패했다고 합니다. DB의 패스워드는 암호화 되어 잘 저장된거 확인됩니다 제가 무언가를 잘못 작성한건지 파라미터로 보낸 password 는 어디서 encode해야 하는건지 아니면 다른 문제가 있는건가요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
heejoonk5 댓글 5 좋아요 1 조회수 591

섹션 4. 회원 도메인 개발-회원서비스 개발에 대해 질문있습니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

섹션 4. 회원 도메인 개발-회원서비스 개발에 대해 질문있습니다. 테스트 junit으로 테스트 실행시 아래와 같은 에러가 나옵니다. Execution failed for task ':test'. > No tests found for given includes: [jpabook.jpashop.Service.MemberServiceTest](filter.includeTestsMatching) package jpabook.jpashop.Service; import static org.junit.Assert.*; import jpabook.jpashop.domains.Member; import jpabook.jpashop.repository.MemberRepository; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; //메모리db로 test import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertEquals; @RunWith(SpringRunner.class) @SpringBootTest @Transactional class MemberServiceTest { @Autowired MemberService memberService; @Autowired MemberRepository memberRepository; @Test public void 회원가입() throws Exception { //given Member member = new Member(); member.setName("kim"); //when Long savedId = memberService.join(member); //then assertEquals(member, memberRepository.findOne(savedId)); } // @Test // public void 중복회원예외() throws Exception { // //given // // //when // // //then // // } } 에러 사항을 찾아보니 디렉토리 위치가 다를 경우에 에러가 날 수 있다고 하여 디렉토리 위치를 비교해봐도 같습니다. junit테스트도 동일합니다. 어느 부분이 틀린지 알 수 있을까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
zzzzz 댓글 1 좋아요 0 조회수 245

LIKE에서 %br%케이스에 대해서 문의드립니다.

미해결

[백문이불여일타] 데이터 분석을 위한 기초 SQL

안녕하세요. 지금 강의를 듣기 시작한 왕왕초보입니다^^수업중 예제로 복습하고 있었는데 아래 케이스 관련 궁금한 점이 생겨서요~ 확인 부탁드립니다. br% : br 뒤에 어떤 것이 들어가도 상관 없음 %br : br 앞에 어떤 것이 들어가도 상관 없음 %br% : br 앞 뒤에 어떤 것이 들어가도 상관 없음 brazil인 경우 br% 추출되고, %br 추출안되고, %br%에서는 추출되는데.. 그렇다면 %br%는 or인가요? 앞이어도 상관없고 뒤여도 상관없는 건가요?%br%의 경우 Brazil이 나오는데 br앞에는 아무 문자도 없어서 이게 맞는건지 확인 부탁드립니다. 감사합니다~~~

  • sql
so yang Sun 댓글 1 좋아요 0 조회수 196

어떤 경우 cascade 를 적용해도 되는지 이해가 되지 않습니다.

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예 [질문 내용] 스프링 cascade 활용도 측면에서 궁금한 것이 있습니다. 영한님 - 인프런 (inflearn.com) 이 질문을 남겼었던 수강생입니다! 잠깐 상황을 요약하면 Program 과 Review 그리고 User 가 다대 1 1대 다 로 묶여 있는 상황입니다. program 에서 program.addReview 메서드를 활용하기 위해 cascade type 을 적용하였었습니다. 하지만 영한 님은 이부분의 코드는 별로 좋은 코드가 아니다! cascade 옵션 질문 - 인프런 (inflearn.com) 를 참고해서 보아라. 라고 하셨습니다. 위 질문의 요약은 강의에서 Order 는 OrderItem 을 개인 소유 하나, Order 와 Delivery 는 Delivery 가 여러 곳에서 참조할 수 있으므로 개인 소유 하지 않는다. 라고 읽었습니다. 참조 하는 것과 Cascade Type .all 이 무슨 관계가 있는지 모르겠습니다. 6줄요약하면: Delivery 와 Review 는 여러 곳에서 참조할 수 있으므로 CascadeType all 을 붙이지 말라고 하신 것 같은데 여러 곳에서 참조가능성이 있으면 CascadeType all 을 왜 붙이지 말아야 하는지 궁금합니다. 단순히 계속 코드를 보며 추적해야 하는 것 때문인가요?? 이 부분이 와닿지 않습니다. 혹시 실제 예를 들어 설명해주실수 있나요??

  • java
  • jpa
dionisos198 댓글 2 좋아요 0 조회수 465

빅쿼리 강의 듣기 vs GPT에게 물어보기

해결됨

초보자를 위한 BigQuery(SQL) 입문

안녕하세요 카일님. 여쭤보고 싶은것이 있어 글을 남기게 되었습니다. 저는 SQL에 대해 간단한 쿼리(JOIN정도)는 직접 작성할 수 있는 이해도가 있는 PM입니다. 예전에 빅쿼리를 공부하며 카일님의 블로그를 보며 공부하기도 했었고, 제가 직접 서비스와 빅쿼리를 연동하기도 했습니다. 현재 서비스에서 궁금한점이 있을때마다 GPT에게 빅쿼리용 쿼리문을 작성해달라고 요청해서 데이터를 보고 있는데요. GPT에게 작성해달라고하면 2-3번 오류가 생길때도 있지만 제가 보고 싶은 데이터를 대부분 잘 짜주는거같아서 만족하며 사용하고 있어요. ( array, struct 같은 자료형은 제가 편하게 쓸수 있는 수준이 아닌데 gpt가 잘 짜주더라구요) 제가 보고 싶은 데이터는 대부분 딥한 수준이 아니어서 GPT가 작성해줄 수 있는것같다고 느껴져서 이 강의도 그렇고, 빅쿼리를 공부하지 않아도 되겠다는 생각까지 들더라구요. 저 개인적으로 회사에 영업, 기획직군은 GPT에게 물어보면 보고싶은 데이터를 다 볼 수 있지 않을까 생각이 들구요. 혹시 카일님께서는 어떻게 생각하시는지 , 혹시 GPT가 쿼리문 작성에서 대체할수 없는 영역이 있을지 조심스럽게 여쭤보고 싶습니다. 항상 카일님 올려주시는 글들 통해 많이배우고 있습니다. 감사합니다!

  • sql
  • bigquery
  • 데이터-리터러시
김선욱 댓글 2 좋아요 1 조회수 1022

import 절대경로 설정 방법 질문 드립니다!

해결됨

손에 익는 Next.js - 공식 문서 훑어보기

조은님 안녕하세요 🙂 강의 잘 보았습니다! 강의를 보다가 문득 궁금한 점이 있는데요! import 문 통해서 절대경로로 파일을 불러올 때, 전역에 있는 tsconfig.json 내에서 파일별로 일일이 수동 설정을 해주어야하는 걸로 아는데 조은님께서는 자동으로 @가 붙여진 형태로 불러와지는 거 같아서요! 혹시 따로 설정 어떻게 하셨는지 여쭤봐도 괜찮을까요?

  • react
  • typescript
  • next.js
  • next.js13
killyou18 댓글 1 좋아요 0 조회수 333

인기 태그

인프런 TOP Writers

주간 인기글