묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결데이터베이스 중급(Modeling)
SEQ auto increment
안녕하세요 강사님! 강의 재밌게 수강하고 있습니다.OpenLecture테이블에서 Seq를 auto Increment를 해주었더니 오류가 뜹니다.. 왜 그런건가요??
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
pymysql 사용해 테이블, 데이터 저장하는 연습문제에 오류가 납니다
강의 : 패턴으로 익히는 파이썬과 MySQL - 데이터 삭제와 총정리가장 마지막에 언급하신 연습 문제를 하고 있는데, 자꾸 에러가 뜹니다 코드--------------------------------------------- import pymysqldb = pymysql.connect(host='localhost', port=3306, user='root', passwd='Qpspelrxm34*', db='ecommerce', charset='utf8')cursor = db.cursor()SQL = """ CREATE TABLE corw3 ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR(50) NOT NULL, model_num VARCHAR(15) NOT NULL, model_type VARCHAR(30) NOT NULL, PRIMARY KEY(id) ); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7700', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7500', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7700K', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', 'G4600', 'Kaby Lake'); INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7600', 'Kaby Lake'); """cursor.execute(SQL)result = cursor.fetchall()for record in result: --- print(record)db.commit()db.close() 에러 메세지------------------------- ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO corw2 (name, model_num, model_type) VALUES('i7', '7700', 'Kaby Lake'' at line 9") 에러에서는 INSERT INTO 부분이 이상하다고 하는 것 같은데,mysql에서는 해당 공식으로 테이블을 바꿔서 입력해도 그 테이블에 데이터가 잘 저장이 되어서요 코드에 혹시 문제가 있는건지 여쭤보고 싶습니다아니라면 데이터베이스나 다른 테이블에 문제가 있는 건지 제가 더 고민해보도록 하겠습니다.. ㅜㅜㅎㅎ 저같은 코린이도 어떻게든 해볼 수 있게 친절하고이해가 쏙쏙 되게 가르쳐주셔서 감사합니다!!
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
Oracle 19C Enterprise Edition windows x64로 AWR 실습가능한지요?
강사님, 안녕하세요?저는 PC에 Oracle 19C Enterprise Edition windows x64로 강의를 들으려고 하는데 AWR 실습이 디렉토리만 다르고 다른 문제는 없는지요?그리고 RAC 실습도 가능한지요?답변 부탁 드립니다. 감사합니다.
-
미해결RDBMS Modeling 실습
1. stored procedure 는 언제 쓰면 좋은가요 ? / 2. 대댓글 테이블 설계
안녕하세요. 지금 5~6강 정도를 진행중인 수강생입니다.평소 웹 개발을 하고 있지만 stored procedure 에 대해 생소한 부분이 많아 질문 드리려 합니다.1. stored procedure 를 설계/적용 하는 것은 항상 하는 일은 아닌것 같습니다. 언제 하면 좋을까요? 혹은 언제 쓰면 안되는 걸까요?가령, 현재 저는 jpa 를 이용한 개발을 하고 있는데, stored procedure 는 적용이 되지 않은 db 에서 작업을 하고 있습니다.반대로, stored procedure 를 써서 약간의 성능 향상을 누리거나 정해진 방법 이외의 방법으로 쿼리를 못날리게 하고 싶을땐 stored procedure 를 만들어두고 사용을 권장하는 방법도 있다고 들었습니다.아직 제가 stored procedure 의 사용처에 대해 확신이 들지 않는데, 이런 부분에 대해 알려주시면 감사하겠습니다.2. 대댓글 설계에 참고할 만한 사항이 있을까요 ?이것은 강의와 직접 관련한 내용은 아니지만 조언을 구하고 싶습니다. 간단하게 페이지에 대한 칼럼을 추가하고 순환 참조를 허락한 테이블을 만들면 되지만 "순환 참조를 이용한 테이블은 나쁠 것이다" 라는 편견(?)도 있어서요. 참고할만한 자료나 교수님 생각을 알려주시면 감사하겠습니다.새해복 많이 받으세요 .
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
INSERT 이용해서 가격(lowest_price) 데이터 추가는 불가능한가요?
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 섹션 3SQL로 데이터 삭제하고, 다양한 SQL 활용하기 강의 내용 중 10분 54초에서 제품의 가격(lowest_price)들을 UPDATE 함수 이용해서 추가하셨는데, 혹시 INSERT 를 사용해서 추가는 불가한 건가요??INSERT INTO mytable (lowest_price) VALUES (28170);했는데 안 되네요 ㅎㅎㅎINSERT는 VALUES에 모든 column의 값이 다 들어가 있어야만 추가할 수 있는 함수인 건지 궁금합니다
-
미해결[개념은 호옹~, 실습 빡] SQL 데이터 분석, 활용!
상품#11 문제
갑자기 의문이 듭니다 상품#11 문제를 풀었습니다.우유식빵은 2900 원 총 갯수는 13 = 37700이 맞습니다. 근데 어떻게 SUM 함수안에서ORDER_DETAILS.COUNT 로 자기들끼리 총 갯수를 더해서 13을 나오게 한건가요 ?? PRODUCTS.PRICE 가격은 2900 으로 고정시키고count는 어떻게 자기들끼리 더해서 계산이이루어 진건가요 ????????????????????????????????????????
-
미해결다양한 사례로 익히는 SQL 데이터 분석
쿼리 질문
안녕하세요, 도움을 받고자 글 올립니다.97년 이후 nw데이터의 '국가/ 기준월 / 대표제품명 / 구매고객수 / 동시구매 고객 수 / 구매 횟수 / 동시구매 횟수 / 동시구매율' 을 구해보았는데 결과가 나오긴 하는데 맞는지 알 수가 없어서 코드리뷰 부탁드립니다. 더불어 더 좋은 코드가 있을지 여쭙습니다.새해 복 많이 받으세요 with uu as (select customer_id, product_id, order_id, product_name, order_date, ship_addressfrom(select c.product_id, c.product_name, a.amount, b.order_date, b.ship_address , b.customer_id, b.order_idfrom order_items a join orders b on a.order_id = b.order_idjoin products c on a.product_id = c.product_idwhere extract(year from b.order_date) >= 1997) tt), xx as (select ww.customer_id, ww.product_id as prd_01, vv.product_id as prd_02, ww.order_date, ww.ship_addressfrom uu ww join uu vv on ww.customer_id = vv.customer_id), temp_01 as (select customer_id, prd_01, prd_02, extract(year from order_date) as year_ord, extract(month from order_date) as month_ord, ship_address as countryfrom xxwhere prd_01 != prd_02group by 1,2,3,4,5,6order by 1,2,3,4,5,6)---------------구매자 id, 대표제품 id, 동시구매제품 id, 년, 월, 국가, temp_03 as (select prd_01, prd_02, count(*) as cnt_prd_prdfrom temp_01group by 1,2order by 1, 3 desc) -----------------대표제품 id, 동시구매제품 id, 동시구매 횟수, temp_04 as (select distinct product_id, count(customer_id) as cnt_prdfrom order_items oi join orders o on oi.order_id = o.order_idgroup by 1order by 1)-------------------- 대표제품 id, 구매고객수, temp_05 as (select prd_01, prd_02, count(customer_id) as cnt_prd_customerfrom temp_01group by 1,2order by 1,3)-------- 동시구매 고객 수, temp_06 as (select customer_id, count(order_id) as cnt_customerfrom ordersgroup by 1)------ 구매횟수, temp_07 as (select distinct t5.prd_01, t5.prd_02, cnt_prd_customer as 동시구매고객수, sum(cnt_customer) as 구매횟수, cnt_prd_prd as 동시구매횟수, cnt_prd_prd/sum(cnt_customer) as 동시구매율from temp_01 t1 join temp_05 t5 on t5.prd_01 = t1.prd_01 and t5.prd_02 = t1.prd_02join temp_06 t6 on t1.customer_id = t6.customer_idjoin temp_03 t3 on t1.prd_01 = t3.prd_01 and t1.prd_02 = t3.prd_02group by 1,2,3,5order by 1,5 desc) ---/ 동시구매 고객 수 / 구매 횟수 / 동시구매 횟수 / 동시구매율, temp_08 as (select distinct country, year_ord , month_ord , prd_01, cnt_prd as 구매고객수from temp_01 t1 join temp_04 t4 on t1.prd_01 = t4.product_idorder by 1,2,3,4)---국가/ 기준월 / 대표제품명 / 구매고객수select distinct t8.*, prd_02, 동시구매고객수, 구매횟수, 동시구매횟수, 동시구매율from temp_08 t8 join temp_07 t7 on t8.prd_01 = t7.prd_01;
-
해결됨데이터 분석 SQL Fundamentals
질문
안녕하세요 서브 쿼리 실습-03번 마지막 Analytic SQL에서 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING 를 over() 안에 넣으셨는데 avg() 는 굳이 이 쿼리문없이도 partition by 으로 나뉘어진 것을 전부 계산하는 것 아닌가요? (일단 저 쿼리문을 굳이 적지 않아도 같은 값이 나옵니다.)((좋은 강의 감사합니다.))
-
미해결데이터 분석 SQL Fundamentals
순위 함수 over 안의 order by 가 실제 조회 결과에도 영향을 주나요 ? ?
안녕하세요.제가 순위강의 실습 하다가 궁금한 점이 생겼는데요.제 pc 에서 실습 할때는 순위 함수 실습 1번을 해보면 조회 결과가 실제 rank 내의 orderby 순위에 맞게 정렬되서 나오는 것 같은데요./* 1. 순위 함수 실습 */ -- 회사내 근무 기간 순위(hiredate) : 공동 순위가 있을 경우 차순위는 밀려서 순위 정함 1, 2, 2, 4 select * ,rank() over(order by hiredate asc) as hire_rank -- asc 안쓰면 기본 asc 임. from emp;순위 함수 실습 2번의 경우는 한 조회 sql 안에 정렬 이 반대 조건으로 두개 들어가서.. 이런 경우에는 어떤게 우선순위인지.. 궁금합니다. 아니면 순위를 보장하지 못하는지도 궁금합니다.-- 부서별로 가장 급여가 높은/낮은 순으로 순위: 공동 순위 시 차순위는 밀리지 않음. select * -- ,dense_rank () over (partition by deptno order by sal desc) as sal_rank_desc -- ,dense_rank() over (partition by deptno order by sal asc) as sal_rank_asc ,dense_rank() over (partition by deptno order by sal asc) as sal_rank_asc ,dense_rank () over (partition by deptno order by sal desc) as sal_rank_desc from emp -- order by deptno, sal_rank_asc -- order by deptno ;처음에는 2개 있으면 나중에 조회되는 칼럼의 order by 에 영향을 받나 싶어서 주석 풀고 순서바꿔서 조회해봤는데 그건 아닌것 같구요.. 아래쪽에 따로 order by 넣으니까 그건 우선순위가 높은건지 over 안의 order by 는 무시되고 from 이후의 order by 가 되긴 하더라구요.그래서 궁금한건.. 순위 함수 안에 order by 가 실제 조회 결과의 order by 에 영향을 주는게.. 보장할 수 있는 규칙이 있는지.. 아니면 어쩌다가 그런 것이라서 실제 순위를 보장하려면 따로 써 주는게 좋은 건지... 아니면 순위 함수의 order by 가 조회 결과의 order by 가 없어도 조회 결과 정렬을 보장하지만.. 2개 이상이면 보장할 수 없다 라던가.. 적용 규칙 ? 정보를 아시는게 있는지 궁금합니다.감사합니다.
-
미해결윤재성의 Oracle SQL Database 11g PL/SQL Developer
기본제공되는 테이블 질문
현재 제 pc에 버전이 20버전이라서 세팅과정이 달라서 기본 제공되는 orcl에 테이블로는 접속이 안되는데 현재 기본 학습할수 있게 제공되고 있는 테이블을 create문으로 만들어 주실수 있을까요? 아니면 20버전에서 제공되는 table을 가져올수 있는 방법좀 부탁드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
인덱스의 저장 방식에 대해서 질문이 있습니다!
안녕하세요 루키스님. 항상 좋은 강의 감사드립니다!!!인덱스 및 복합 인덱스 강의를 들으면서생긴 궁금증 하나를 여쭤보려 합니다!※ 해당 질문은 Clustered Index 기준입니다.개요.인덱스 강의 때 Clustered Index는 물리적인 데이터의 저장 순서의 기준이라고 하셨습니다. 따라서 사전처럼 데이터가 키에 따라 정렬된 상태로 저장되는 것으로 이해했습니다.그런데 복합 인덱스 강의를 들으면서 인덱스가트리 구조의 페이지로 나뉘고 써칭을 할 때 페이지 트리 탐색 후 찾은 인덱스(키)의 RID를 읽어서 본격 실제 물리적인 데이터를 찾는다고 말씀하셨습니다.의문."데이터가 애초에 정렬된 상태로 저장되면 트리 탐색 혹은 이분 탐색으로 끝날 텐데 왜 굳이 RID를 읽고 한 번 더 써칭을 하는 것일까?" 그래서 제가 아래와 유추와 결과를 냈는데 혹시 맞을까요? (Clustered Index 기준)유추."데이터가 물리적으로 정렬된 것은 맞을 것 같은데..그렇다면 내가 생각한 데이터의 기준이 다를까?인덱스는 일종의 Key이므로 데이터는 Key와 Value의 조합이겠군?그렇다면 강의에 말씀하신 데이터는 엄밀히 말하면 Key 데이터와 Value 데이터로 나눌 수 있겠군?"결론.인덱스(Key)는 실제 디스크에 정렬된 상태로 저장되지만 그 인덱스(Key)에 대응되는 실제 데이터(Value)는 실제 디스크에 정렬된 상태로 저장되지 않고 대신에 리니어 하게 만 저장된다. 그렇기 때문에 정렬되지 않은 실제 Value를 찾기 위해서 RID를 읽는 것.(Value 마저 정렬된다면.. 그것 나름대로 또 끔찍하겠군요... 중간에 추가 삽입될 때마다 방대한 데이터가 한 칸씩 뒤로 밀리기 때문에요.)그래서 인덱스(Key)는 트리 탐색을 하고인덱스(Key)에 대응되는 Value를 찾기 위해서 RID를 읽고 찾아갑니다.+그 다음 강의인 Clusterd vs Non-Clustered를 시청 후 해결됐습니다.위에서 제가 언급한 결론은Non-Clustered Index의 경우네요.그러면 Clustered Index의 경우 Key가 정렬되어 저장된 곳에 바로 Value가 저장되는군요. 그래서 실제 데이터 자체가 디스크에 정렬된 상태로 저장된다고 볼 수 있겠네요. Non-Clustered에 비해서 검색 속도는 빠르겠지만 대신에 Trade Off로 데이터의 추가 삽입/삭제가 느리겠군요. 왜냐하면 Value 까지 포함한 큰 데이터들이 전부 정렬된 상태를 항상 보장 받아야 하기 때문에요.
-
미해결데이터 분석 SQL Fundamentals
변수 생성 순서
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.변수 생성 관점에서, select 절에서 만든 변수는 해당 테이블에서 처음 생성 되는 것인가요 아니면select 절에서 생성되어 이후 where 등에서 조작이 가능한 것인가요?위의 구문은 왜 틀렸을까요?
-
미해결오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
SQL
안녕하세요 강사님 강의 잘 듣고 있습니다.강의를 듣다가 궁금한 점이 있는데요,SQL이 오라클 내부에서 상세실행계획으로 변경된다고하셨는데, 혹시 이와 관련한 괜찮은 책이 뭐가 있는지여쭤봐도 될까요?SQL이 들어갔을때 내부 메커니즘이 궁금합니다.감사합니다.
-
미해결mongoDB 기초부터 실무까지(feat. Node.js)
mongodb connect
await mongoose.connect(MONGO_URI, {useNewUrlParser : true , useUnifiedTopology:true , useCreateIndex:true}); useCreateIndex:true}이부분을 추가시 mongodb 6.0이상 버전에서MongoParseError: option usecreateindex is not supported위와 같은 에러가 발생합니다.
-
미해결RDBMS Modeling 실습
멀티 필터 select를 위한 설계
안녕하세요. 궁금한게 많네요.User -< JoinCall -> Call 관계에서 User가 참여하고 있는 Call의 특정 상태들에 대해 검색이 필요해서상태별로 select를 한 후 merge 시키고 pagination 을 구현하였습니다.성능에는 별로 문제가 없어보입니다. 보통 이렇게 설계를 하는지요?그리고 현재는 3가지 상태만 있으니 조합이 많지 않아 select수가 많지 않은데,만약 필터링 할 조건이 많다면 수많은 select를 수행후 merge를 해야 할 듯 합니다.그럴때는 어떻게 select를 하는지 궁금하네요.쇼핑몰이나 다나와에서 검색할 경우가 그럴듯 하네요.확인 부탁드립니다.감사합니다.
-
미해결RDBMS Modeling 실습
안녕하세요 SP_Sgg_Delete 프로시저 관련 질문드립니다.
안녕하세요.수업 잘 듣고있습니다.SP_Sgg_Delete 프로시저에서Where SggId = @SggId로 조건을 주셨는데요.Sgg 테이블 자체가 두개의 키로 구성이 되어있는데저렇게 삭제를 한다면 하나의 데이터가 아닌 여러 데이터가 삭제되는게 아닌가 해서 질문을 드립니다.저 부분은 여러개가 삭제되도록 의도하신건가요?Ex)TB_SggSggId SggName SgId1 마포구 11 안양시 22 강남구 2 DELETE FROM TB_SGG WHERE SggId = 1
-
미해결RDBMS Modeling 실습
테이블 설계관련 문의드려요
안녕하세요.테이블 설계하다보니 궁금증이 생겼습니다.예를들면,User ----< JoinCall >---- Call이런식으로 User, JoinCall, Call도 계속 늘어나는 상황입니다.특정 User가 참여한 Call 중에서 특정 callStatus만 찾아내려 하는데 검색 속도를 높이기 위해서는 JoinCall에도 callStatus가 들어가야 할 것 같습니다.검색속도롤 높이기 위해 이런식으로 중복 데이터가 있게 설계를 하는 경우도 있을까요?확인 부탁드립니다.감사합니다.
-
미해결데이터 분석 SQL Fundamentals
온라인? 인라인?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.강사님 특정 쿼리 방식이 '어떨 때' 주로 사용된다고 말씀하시면서 온라인 혹은 인라인 이라고 언급하신것같은데... (6:46 쯤)"온라인" 거래 관련 데이터를 다룰 때 상관 서브쿼리를 주로 사용한다는 말씀이셨을까요?
-
미해결데이터베이스 중급(Modeling)
사용하시는 프로그램
강사님 수업 잘듣고있습니다.감사합니다. 다름이아니라 실습하면서 강의를 들으려고하는데실습프로그램을 알수있을까요?
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
pandas를 활용한 매서드 기능 중 오류
pandas 라이브러리와 Pymysql - 파일로 데이터 저장 강의의5:14초 중 명령문을 실행 시키면 작동은 되나, 오류코드가 같이 나오는데 구글링을 통해 답변을 찾아봐도 해결 방법을 얻기 어려워 질문 남깁니다.