묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
Post 정보에서 태그 정보를 같이 받아오려고 합니다..
안녕하세요 제로초님 노드버드 강좌를 보면서 열심히 공부 중이며 노드버드에서 배운 부분을 조금씩 응용해보려고 하는 중에 질문이 있어서 이렇게 글을 쓰게 되었습니다. 우선 수업과 동일하게 Post table, Tag table이 M:N 다대다 관계를 설정하여 PostTag 라는 테이블이 생성되었습니다. 이것을 이용해서 게시글(Post) 정보를 한번에 불러올때 각 게시글마다 존재하는 태그들도 같이 받아오고 싶습니다. 제가 시도한 방법으로는 findAll 에서 include를 이용해서 받아오려고 했지만 실패했습니다. 제가 설정한 관계와는 맞지 않는 코드의 형태로 에러 메세지가 나오는 것 같습니다. sql 쿼리문의 조인에 대해 지식이 부족하다고 생각하여 조인 부분을 찾아보고 공부를 해도 sequelize 로 어떤식으로 풀어가야 할 지 모르겠습니다 ㅠㅠ 먼저 테이블 정보 입니다. 제가 작성한 코드 부분입니다. 마지막으로 에러메세지 입니다
-
미해결[리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
큰따옴표 질문입니다.
강의 13:23 import pymysql db = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='funcoding', db='ecommerce', charset='utf8') cursor = db.cursor() for index in range(10): product_code = 215673140 + index + 1 sql = """INSERT INTO product VALUES( '""" + str(product_code) + """', '스위트바니 여름신상5900원~롱원피스티셔츠/긴팔/반팔', 23000, 6900, 70, 'F'); """ print (sql) cursor.execute(sql) db.commit() db.close() -------------------------------------- 13:23 에서 '""" + str(product_code) + """', '스위트바니 여름신상5900원~롱원피스티셔츠/긴팔/반팔', 23000, 6900, 70, 'F'); """ '""" + str(product_code) + """' 이부분에서 str로 이미 문자열이 되었는데 큰따움표 쓰는거랑 작은따움표를 왜 추가하신건지 궁금합니다. 그냥 'str(product_code)' 로 쓰면 안되나요?
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
[섹션 2. 쿼리 금기사항]의[조건절 상수화 이슈]의 데모실행불가 및 결과차이 문의입니다.
안녕하십니까. 강의를 듣고 있는 수강생입니다. 현재 [섹션 2. 쿼리 금기사항]의[조건절 상수화 이슈]의 데모실행 중 [2) Index열 조건에 사용자 정의 함수]를 기동 중에 OPTION 실행이 불가한 문제와 OPTION을 실행하지 않을 시의 실행계획이 다른 문제가 발생하여 궁금해서 연락 드렸습니다. 이하 옵션 실행 불가 화면의 캡쳐입니다. 이하 옵션을 실행하지 않고 쿼리만 실행 했을 시에 발생하는 실행계획 내용입니다. 혹시 해당문제의 발생이유를 알 수 있을지 확인 부탁드립니다. 이상입니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
An unspecified error occurred.
강의 내용대로 따라해보았는데 결과값이 에러가 납니다. 제가 어느 부분을 놓친걸까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
api 개발 <- 이 부분에 있어서 의 궁금증이있습니다!
안녕하세요. 그랩님께서 너무 잘 설명해주셔서 이제 조금씩 api의 개념이랑 서버의 개념이 잡혔는데요.그, 마지막 멘트9:20초에 api들을 개발하였다고하셨는데, (질문 1)지금 아래의 4개가 그럼 작게 api4개(get으로 상품조회, post로 상품등록, )를 개발 구현했다고 말씀하신것같은데 제가 이해한게 맞나요? (질문 2)그리구 이건 곧 상품관련api서버다! 라고 말할 수 있는건지도 궁금합니다. app.get("/products", (req, res) => { app.post("/products", (req, res) => { app.get("/products/:id", (req, res) => { app.listen(port, () => { (질문 3)마지막으로 질문은 앞의 강의에서 db서버랑 api서버랑따로 분리 하신다는 얘기 같았는데, 그럼 그랩마켓에서는 server.js가 api서버이자 db서버가 되는 2개의 역할을 같이하는게맞는거라고 생각되는데 맞나용?..왜냐면 Browser for SQLite <-이거는 그냥 저희가 등록한거를 보여주는 역할 ? 이라고 생각돼서... 쫌 헷갈립니다.그러니까 정리를하자면 'server.js가 api서버'이고,'Browser for SQLite는 server.js는 그냥 보여주는 역할' 같은데..이게 아래같이 Node.js서버가 저희가 만든 server.js파일이고, 오른쪽에있는 데이터베이스가 Browser for SQLite 인건가요?
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
데모DB와 스크립트파일은 어디에 있을까요?
안녕하세요 데모DB와 스크립트파일이 어디있는지 못찾겠는데 해당 링크나 위치 알 수있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
쿼리문 순서 질문
안녕하세요 강사님. 좀 쓸데없는 질문이긴 한데 쿼리문 실행 흐름이 대략 FROM WHERE GROUP BY HAVING SELECT ORDER BY 이런 식으로 실행된다고 배웠습니다. 그런데 SELECT TOP 1 * FROM batting WHERE teamID = 'BOS' ORDER BY HR DESC; --보스턴 팀 소속으로 단일 년도 최다 홈런을 친 사람의 정보 해당 쿼리문에서 ORDER 보다 SELECT가 먼저 실행된다면 아직 홈런 횟수를 내림차순 하기 이전의 테이블에서 최상단의 행을 가져오기 때문에 원래라면 의도하는 결과가 나오지 않는 것이 아닌지 궁금합니다. 감사합니다.
-
해결됨실전! Querydsl
select()가 아닌 selectOne()을 사용하면 fetchJoin을 사용하지 못하나요?
안녕하세요. 강의 잘 듣고 있습니다 :) exists 기능을 구현하고 있는데, fetchJoin을 사용해봤습니다. 그저 데이터의 유무만 판단하면 됐기에 selectOne() 으로 조회를 했는데 실패하네요 ㅠㅠ 하지만 이후 fetchJoin()을 제거하니 잘 동작하는 모습을 확인했습니다. // 성공하는 코드 @Override public boolean existsByReviewEntity(ReviewEntity reviewCond) { final Integer result = queryFactory .selectOne() .from(reviewCommentEntity) .innerJoin(reviewCommentEntity.reviewEntity, reviewEntity) .where(reviewEq(reviewCond)) .fetchFirst(); return result != null; } // 실패하는 코드 @Override public boolean existsByReviewEntity(ReviewEntity reviewCond) { final Integer result = queryFactory .selectOne() .from(reviewCommentEntity) .innerJoin(reviewCommentEntity.reviewEntity, reviewEntity).fetchJoin() .where(reviewEq(reviewCond)) .fetchFirst(); return result != null; } 제 생각에는 두 가지 이유가 추측되는데요, 1. selectOne 이랑 fetchJoin의 실행 순서(?) 2. select 1 을 하면 특정 필드를 가져오는 것이 아니기 때문에 fetchJoin이 불가능(?) 열심히 구글을 찾아봐도 만족스러운 답을 찾지 못했고, 두루뭉실하게 의문만 남아있는 상태네요.. 도움 주시면 감사하겠습니다 !! 짤막한 힌트도 좋습니다 :)
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
단일년도 최다 홈런!!
안녕하십니까 교수님.. 와 이게 안되네요... 최다 홈런친 사람을 파악하는 건데... 직관적으로 명령어를 입력하고 실행을 누르는데 컴퓨터가 불평을 합니다. 어디가 문제일까요? '될듯안될듯 될거 같은 너'입니다. select playerID from batting where (teamID= 'BOS' AND MAX(HR))
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
SELECT *에 관해서
안녕하세요. 복습을 하는 중에 궁금한 것이 있어서 다시 한번 문의 드립니다. 열의 이름을 바꿀때 이런식으로 하잖아요. 그런데 저는 SELECT birthYear AS birth FROM players 모든 열을 본 상태에서 birthYear만 birth로 바꾸고 싶은데요. 이때는 어떻게 하나요 ? - 이런식으로는 안되더라고요.. SELECT *,birthYear AS birth FROM players
-
미해결Oracle SQL 입문자를 위한 강의
더미 데이터 생성파일 현재 수정본 없을까요???
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 더미 데이터 파일을 실행하면 위 사진 같은것도 뜨기도 하고 테이블 생성시 일일히 ' 도 제거해 주어야 하고 영상에서 말씀하셨듯이 디비마다 sql 문이 조금씩 차이가 있다는 말씀에 maria 디비를 경험해 본적도 없고 어디서 오라클과 다른 부분 오류를 수정해야 되는지 현재로서 알수가 없네요 일일히 파일을 수정하고 강의를 시청하는데 무리가 있다 느껴지고 있습니다. 수정본 파일좀 없을까요???
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
검색? 논리적읽기? 횟수
안녕하세요. 뒤늦은 질문일지도 모르지만 일단 질문드려봅니다 ㅜ 1) TestOrders에 NONCLUSTERED INDEX를 하나 만들고 CustomerID = 'QUICK';를 검색할때 하나의 Leaf Page에 QUICK들이 모두 모여있어서 한 페이지만 찾으면되는데, 그렇다고 해도 28개의 QUICK을 찾으려면 최소한 28번은 읽어야 하는게 아닌가요? 오히려 WITH(INDEX(Orders_Index01))를 사용한 경우는 SEEK으로 'QUICK'모음을 찾고 그걸 하나씩 검사하기 때문에 논리적읽기가 30인건 어느정도 이해하겠는데 SCAN으로 한 경우는 왜 20일까요? 2) 예를들어 100개의 데이터중 A라는 데이터가 5개 있고 name으로 검색 가능하다고 했을때 C#의 리스트에서 검색을 할때는 A가 몇개인지는 결국 100개를 다 돌려봐야 하는데 (INDEX를 사용하지 않은)SQL에서는 왜 논리적읽기가 100이 아닌가요? 전체를 순회하는건 스캔1에 포함이 되는건가요?
-
해결됨Oracle SQL 입문자를 위한 강의
dummydata파일 수정본으로 올려주실 수 있나요?
안녕하세요 강사님, 더미데이터파일 수정본으로 새로 올려주실 수 있는지 여쭙고 싶습니다. 오라클db와 문법에 차이가 있는 파일이 그대로 업로드 되어 있는게 당황스러워요. 웬만하면 강의 영상으로 해결하려 했는데 강사님 하시는 걸 보고 똑같이 따라해도 8행부터 6236행까지 쭉 오류가 뜹니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
정리하면서 질문입니다.
강의 잘보고 있습니다. Index 부분이 중요하다고 하셨는데 조금 헷갈리네요;; 1) SELECT * FROM sys.indexes WHERE object_id = object_id('accounts'); 의 결과 중 index_id 가 (0 = HEAP) (1 = CLUSTERED) (2 <= NONCLUSTERED) 인것같고 CLUSTERED INDEX를 사용하면 (0 = HEAP)대신 (1 = CLUSTERED) NON CLUSTERED INDEX라면 (1 = CLUSTERED)대신 (0 = HEAP)가 사용되는 것 같습니다. 2) DBCC IND('GameDB', 'accounts', N); N에 index_id를 넣어주게 되는데 CLUSTERED INDEX를 사용하여 index_id가 1부터 시작하게 되었을때도 0을 넣었을때 실행이 됩니다. 반대로 NON CLUSTERED INDEX일때 1을 넣어도 실행이 되는데 그냥 조회용인가요? 결과에 의미가 있나요? 3) DBCC IND('GameDB', 'accounts', 0); 실행시 첫 행의 의미는 어떤건가요? 4) NON CLUSTERED ± CLUESTERED INDEX Page Type의 [ 1은 Data Type이니까 RID를 통해 Heap Table에서 직접 값을 가져오기 ] [ 2는 Index Type으로 키를.. 값이.. Leaf에 실제 값들이 있고 그 값들의 키의 범위를 루트가 가지고 있다고 보면 될까요? => CLUSTERED에 실제 값이 있고 그 키를 가진 NONCLUSTERED페이지 ] (CLUSTERED가 있다면 모든 NONCLUSTERED는 CLUSTERED를 참조) 5) 그냥 CLUSTERED INDEX는 값들이 키순으로 정렬되어 사용되구요 6) 실제로 사용할때 한 데이터에서 INDEX를 많이 생성해서 사용하나요? 아니면 목적에 맞는 INDEX만 생성해서 사용하게되나요? 인덱스에 클러스터드에 구조까지 이해하려니까 좀 어려웠지만 일단 생각해보고 이해한거 정리하고 하면서 질문드려봅니다ㅜ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
각 연도별 최고의 홈런왕
을 찾아보는데 SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY yearID ORDER BY HR DESC) AS ranking FROM batting ) AS yearTableWHERE ranking = 1ORDER BY yearID DESC; FROM 이후에 AS로 이름을 지어주지 않으니 오류가 나는데 이름이 꼭 필요한가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
데이터가 많을 때 Hash 를 사용?이 이해가 잘 안됩니다
join할 데이터베이스 양쪽 다 데이터가 많다면 Hash도 비용이 많이들어 효율이 낮아지는게 아닌가요? 만약 이럴땐 어떤 조인을 사용해야 할까요? NL을 사용하면 엄청난 비효율일 것 같고 Merge를 사용하기엔 데이터가 너무 많고 이래도 그냥 Hash를 사용하는것이 셋중에서 더 좋은 방법인가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
INDEX - 트리 소소질문
INDEX를 설정해 준다는건.. 데이터가 삽입될때 트리가 적당한 위치에 데이터를 저장하고 [ 트리의 루트에서 '왼오왼왼오'의 방향으로 가면 데이터가 있다. ] 라고 말하는 것과 비슷한가요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
NON-CLUSTERED 를 잘 모르겠습니다
1. CLUSTERED 는 영한 사전처럼 순서대로 저장된다고 하셨는데 그러면 DB에 INSERT 하는 순서대로 저장되는건가요? 2. NON-CLUSTERED 를 사용하는 이유르 정확하게 모르겠습니다. accountName을 NON-CLUSTERED INDEX로 만들었는데 보통 닉네임을 정할때 중복없이 생성하게 되는데 이걸 색인으로 만들면 특정 이름을 찾는데에 모든 플레이어들의 이름을 다 비교하는게 아닌가요? 만약 그렇게 되면 색인을 넣든 안넣든 똑같은게 아닌가요? 예를들어서 플레이어를 찾을 때 [찾고싶은 플레이어 이름 = '플레이어 이름'] 이런식으로 찾는다 했을 때 굳이 색인이 필요한지 색인을 안하고 [찾고싶은 플레이어 이름 = '플레이어 이름'] 이런식으로 찾을 수는 없는건가요? 아니면 색인을 넣어줘야지 위처럼 찾는 기능이 가능한건가요?
-
해결됨갖고노는 MySQL 데이터베이스 by 얄코
궁금한점
오라클의 힌트인 /*+INDEX */ 와 MySQL의 인덱스랑 같은거 인가요?
-
해결됨갖고노는 MySQL 데이터베이스 by 얄코
order by created?
ORDER BY created DESC LIMIT 1의 의미가 어떤건지 설명해 주실수 있나요?