묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
mysql이나 타 rdb
mysql 과 같은 타 rdb의 실행계획을 파악하기 위한 내용도 알 수 있을까요?
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
서브쿼리 내 잘못된 외부 열 참조
안녕하세요 select order_date from NorthWind.orderswhere order_id in (select order_id from customers); 부분에서 쿼리에러는 발생하지 않지만 , 최종결과에서는 우리가 생각하는것과 달리 전체 데이터를 출력하고있잖아요 . 그 이유가 무엇이라고용 ?? 서브쿼리에서 외부 테이블의 칼럼을 참조하고있으면 그런건가용?? 왜그런걸까용 ? ㅎㅎ customers 테이블엔 order_id 칼럼이 존재하지 않고 , 외부에있는 order_id 를 참조하고있으니 그냥 값만 들어있어도 전체쿼리가 출력이 되는걸까요 ??
-
미해결데이터 분석 SQL Fundamentals
group by 칼럼명 여러개 넣기
저는 주로 group by 할때 아래처럼 select 에 들어가는 칼럼을 몽땅 넣는데 select b.dname, a.empno, a.ename, round(avg(c.sal), 2) group by b.dname, a.empno, a.ename 선생님처럼 max 같은 집계함수로 처리하는거랑 어떤 차이가 있나요??
-
미해결데이터 분석 SQL Fundamentals
justify_interval
안녕하세요 선생님 justify_interval 이 1달을 30일 기준으로 계산하는 함수라면 age를 대체해서 쓸 수 없는거 같은데 이게 자주 쓰이는 함수인가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA Persist 및 Commit 시 SQL 시점에 대한 질문
안녕하세요 강사님! 강의 너무 잘 수강하고 있는 학생입니다! 다름이 아니라 영속성 컨텍스트를 활용하여 em.persist(), tx.commit() 을 함에 따라 SQL 이 뿌려지는 시점 설명해주실 때 궁금증이 생겨서요! 우선 코드를 보시면 // 비영속JpaMember memberA = new JpaMember();memberA.setName("얄리얄라");JpaMember memberB = new JpaMember();memberA.setName("두둥실");// 영속화. 영컨에 등록 em.persist(memberA);em.persist(memberB);System.out.println("=================== before commit");memberA.setName("조지밀러"); trans.commit();System.out.println("=================== after commit"); 위와 같은 코드를 진행하였을 시, ㅁㄴ다음과 같이 출력되고, SQL이 나가는 모습이 확인됩니다. =================== before commit Hibernate: /* insert jpa.demo.domain.JpaMember */ insert into jpa_member (name, id) values (?, ?) Hibernate: /* insert jpa.demo.domain.JpaMember */ insert into jpa_member (name, id) values (?, ?) Hibernate: /* update jpa.demo.domain.JpaMember */ update jpa_member set name=? where id=? =================== after commit 의문이 드는점은, 1. Insert SQL 이 쌓였다가 나간다고 말씀하셨는데 두개가 나가는 것 같아서요! 제가 SQL을 잘 몰라서 부정확할 수도 있는 것 같은데 왜 두 번 나가게 되는지 궁금합니다! 2. 또한 Persist 를 하는 시점에 아직 insert 문이 나가지 않았다면 DB에 따로 등록이 안되어 있는걸로 생각했습니다. 그렇다면 commit 하기 전 시점에 entity 값을 set 함수를 통해 변경하여 1차 캐시가 더티 체크를 통해 변경을 감지하면, 그냥 그 1차 캐시 내부에 있는 데이터만 바꿔주면 되는 것... 아닌가요..?! DB에 insert 문이 아직 나가지 않았는데 굳이 insert 문도 보낸 이후 update 문까지 내보내면서 수정이 진행되는 이유가 궁금합니다!! 강사님 강의 너무 잘 듣고 있습니다. 감사합니다!
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
mysql 로 하면 안될까여 ??
현재 jetbrains 에 datagrip 으로 db 를 mysql 로 가져가고있는데요 . mysql 로 데모 구성할 수 있게는 없을까요 ??
-
미해결갖고노는 MySQL 데이터베이스 by 얄코
안녕하세요 강의 구성 관련 질문
질문은 강의페이지에 안내해놓은 이메일로 보내주세요!(이 페이지에 질문 X) SELECT 기초 를 다 학습하고 다음 Chapter 를 학습할려고 합니다. 기초에 나와있는 함수들을 예시 코드와 함께 한 페이지 정리된 PAGE가 있으면 좋겠습니다. 말씀하신대로 이 기초 함수들은 다 외울 필요 없이, 프로그래밍 언어처럼 구글링 하여 필요할 때 찾으면 되는 건가요??
-
미해결데이터 분석 SQL Fundamentals
소기업 데이터베이스 구축 관련 질문
안녕하세요, 저는 이커머스 소기업 마케터입니다. 여태 재직했던 기업들은 대부분 데이터를 엑셀로 받아서 로컬PC에 저장해서 사용하였고, 데이터의 소스는 카페24(임대몰) 관리자, Google analytics에서 다운로드, 페이스북 광고관리자에서 다운로드 하는 식이었습니다. 이제 SQL을 배워 이직도 노려보고, 팀장 직급이니만큼 다른 소기업에 가더라도 웹플랫폼을 사용중인 기업에서는 아직 DB관리 자체를 안하고 있는 경우도 많은데, SQL로 데이터를 관리하며 마케팅 인사이트를 얻고 시간효율을 얻기 위해서 소기업에 만약 DB를 제안해서 구축한다면 초반에 가장 가성비 좋고 편하게 구축할 수 있는 방법은 어떤 것이 있을까요?
-
미해결데이터 분석 SQL Fundamentals
조인 실습 - 02에서 with를 쓰고 안쓰고의 차이가 뭔가요?
-- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 -- 모든 급여를 취합한 평균 급여 select e.ename, round(avg(sh.sal),-2) from hr.emp_salary_hist sh join hr.emp e on sh.empno = e.empno join hr.dept d on d.deptno = e.deptno where d.dname in ('SALES','RESEARCH') group by e.ename 위드 절을 모른 상태에서 강의를 선행학습 하면서 이렇게 코드를 썼는데요, 강의 노트에 있는 정답(수업시에도 언급하신)은 아래와 같습니다. 차이가 있을까요? -- 부서명 SALES와 RESEARCH 소속 직원별로 과거부터 현재까지 모든 급여를 취합한 평균 급여 with temp_01 as ( select a.dname, b.empno, b.ename, b.job, c.fromdate, c.todate, c.sal from hr.dept a join hr.emp b on a.deptno = b.deptno join hr.emp_salary_hist c on b.empno = c.empno where a.dname in('SALES', 'RESEARCH') order by a.dname, b.empno, c.fromdate ) select empno, max(ename) as ename, avg(sal) as avg_sal from temp_01 group by empno;
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
WHERE 뒤에 or을 묶어서 IN (a%, e%, i%, o%, u%)로 쓰면 왜 틀릴까요??
Weather Observation Staion 6 질문입니다! SELECT city FROM station WHERE city IN ('a%', 'e%', 'i%', 'o%', 'u%') 이렇게 작성하면 왜 오류가 되는지 궁금합니다!
-
미해결데이터 분석 SQL Fundamentals
한글 주석 깨짐 현상
안녕하세요? 수업 코드 파일에서 한글 주석 부분이 계속 깨지는데 해결이 안되어서 문의남깁니다. 윈도우 - 설정 들어가서 UTF-8 & Unix 로 바꾸기도 하고 DBeaver ini 파일에 한줄을 추가하기도 했는데 계속 화면이 깨져서요 혹시 해결방법이 있을까요
-
미해결[백문이불여일타] 데이터 분석을 위한 고급 SQL
e.salary = dh.max_salary 이걸 왜 해야하나요? ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 이해가 안되는 부분이 있어 질문드립니다! 왜 employee테이블의 salary와 dh의 max_salary를 같다고 하여 inner join을 하는지 이해가 안되네요 ㅠㅠ 왜 e.salary = dh.max_salary 이것도 inner join에 넣어야 하나요?ㅠㅠ
-
해결됨데이터 분석 SQL Fundamentals
order by 1, 2, 3 의 의미
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. order by 1, 2, 3 의 의미가 무엇인지 잘 모르겠습니다.
-
해결됨데이터 분석 SQL Fundamentals
order by절에 관해서 / row_number
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. // 첫번쨰 질문 안녕하세요 order by categoriy_id, product_id, top_prod_ranking, 이 부분에서 order by categoriy_id, top_prod_ranking, product_id 이렇게 바꿨을 떄 조회 순서가 바꼈는데 이 부분에서 궁금한 점은 order by에서 컬럼 순서대로 정렬해서 그런건가여? category_id 로 먼저 정렬하고 그다음 top_prod... 이걸로 정렬하고 마지막 product_id로 정렬되서 그런건가여??? // 두번쨰 질문 랭킹매길때 row_number를 쓰셨는데 row_number를 쓰신 이유가 궁금합니다~ 저는 순위를 가려야되니까 rank를 써야 된다고 생각이 들어서영... 같은 매출이 있으면 동일 순위로 둬서 1 2 2 4 이렇게 나오는데 거기서 상위 3개 뽑아야된다고 생각했습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
Temp HashTable
한번 만들어진 임시 HashTable을 이후의 쿼리에서 재사용할 수 있나요? 한번 만들고 버리면 너무 아까울것 같아서요. 감사합니다.
-
미해결데이터 분석 SQL Fundamentals
실습 데이터 셋팅 관련 문의_mac 환경
안녕하세요! 수업 들으면서 실습 환경을 셋팅하고 있는 중에 문의가 생겼습니다 ㅜㅜ Dbeaver, postgresql 설치 모두 잘 되었으며, 복원 파일로 가져왔을 때 누락되는 데이터들이 있어서 기존 Q&A 답변 주신 내용대로 github 방문하여 sql 쿼리 다운받아서 누락된 테이블에만 INSERT 하려고 했는데요 ㅠㅠ customers 테이블에 데이터가 삽입이 안되는 오류가 발생했습니다 ㅠㅠ 인코딩 문제 같아서 2일 동안 구글링 하여 찾아보았으나 계속 똑같은 오류가 발생하여 문의 드립니다 ㅠㅠ <설치 버전> Dbeaver 22.0.4 postgresql 14.2 Error occurred during SQL script execution 이유: SQL Error [22P05]: ERROR: character with byte sequence 0xc3 0xb3 in encoding "UTF8" has no equivalent in encoding "EUC_KR"
-
해결됨SQL Server 컨설턴트가 알려주는, 쿼리 능력 레벨업(고급 T-SQL 쿼리)
AdventureWorks에 대한 DB문의
안녕하세요. 강사님. 저는 iOS 개발자로 일하다가 지금은 웹개발자로 일하면서 MS SQL을 사용하게 된지 얼마 안된 개발자입니다. 먼저 유용한 강의 진심으로 감사드립니다! 강의를 듣다가 문의사항이 있어서 남겨드립니다. 현재 2강의 "테이블 값 생성자 VALUES, DML + TOP" 강의를 듣고 있는데, MERGE 예제에서 AdventureWorks라는 DB를 사용하는데, 수업자료에는 AdventureWorks에 대한 DB를 찾아볼 수 없어서요. 혹시, 어딘가 있는데 잘 못찾고 있는 것인지, 아니면, 제가 잘 몰라서 그러는 것인지 답변 부탁드리겠습니다!
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
데이터베이스 관련 서적을 추천 받고 싶습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 아니오2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]안녕하세요 김영한님! 우선 제 롤모델이십니다.. 이것만큼은 꼭 말씀드리고 싶었습니다>< 영한님의 강의로 제 지식을 쌓는 데 수혈이 되어 하루하루 성장함을 느낍니다ㅎㅎ 아직 프로젝트를 진행해보지 않았지만, 테이블을 설계하거나 sql을 보다 잘 짤 수 있도록 관련 공부를 해보고 싶은데 혹시 영한님께서 데이터베이스에 관해서 도움이 된 서적이나 혹은 추천해주실 만한 것이 있을까요?
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
Demo DB 스크립트 실행 시 에러 발생
안녕하세요 강의를 한 번 다 듣고 두 번째로 들으려고 하는데 쿼리가 정상적으로 실행이 되지 않아서 Demo DB를 새로 생성하려고 샘플 DB 스크립트를 실행했는데 에러가 발생합니다 학습일정에 지장이 없도록 빠른 답변 부탁드리겠습니다 * SSMS 버전: v18.11.1 1. [Pubs 스크립트 실행시] 정상 종료 2. [Northwind 스크립트 실행시] 메시지 226, 수준 16, 상태 5, 줄 11 다중 문 트랜잭션 내에서는 CREATE DATABASE 문을 사용할 수 없습니다. 메시지 911, 수준 16, 상태 1, 줄 33 데이터베이스 'Northwind'이(가) 없습니다. 이름을 제대로 입력했는지 확인하십시오. 3. [EPlan 스크립트 실행시] 쿼리 실행시간이 5분 넘게 걸려서 쿼리실행취소함 메시지 226, 수준 16, 상태 5, 줄 12 다중 문 트랜잭션 내에서는 CREATE DATABASE 문을 사용할 수 없습니다. 메시지 911, 수준 16, 상태 1, 줄 34 데이터베이스 'EPlan'이(가) 없습니다. 이름을 제대로 입력했는지 확인하십시오. 사용자가 쿼리를 취소했습니다. 4. [EPlanHeap 스크립트 실행시] 쿼리 실행시간이 5분 넘게 걸려서 쿼리실행취소함 메시지 226, 수준 16, 상태 5, 줄 12 다중 문 트랜잭션 내에서는 CREATE DATABASE 문을 사용할 수 없습니다. 메시지 911, 수준 16, 상태 1, 줄 34 데이터베이스 'EPlanHeap'이(가) 없습니다. 이름을 제대로 입력했는지 확인하십시오. 사용자가 쿼리를 취소했습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
Custom db?
큰 기업이라면 sql 서버에 지속적으로 데이터를 요청하는것보다 그냥 c나 c++로 custom db를 사내에 만들어서 관리하는것이 (기능은 더 적더라도) 노력은 들지만 한번 만들어 놓으면 더 빠르고 관리하기 편할 것 같다는 생각이 드는데 실제 현업에서 이러한 사례가 있는지, 없다면 이유가 있나요? (그냥 구현하기가 그만큼 어려워서인가요?) 자체적으로 게임엔진을 만드는 회사들도 있는데 자체 db를 만드는 회사는 없나 갑자기 궁금해져서 여쭤봅니다.