묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
Sequential Acess는 HDD상에서도 Block을 Sequential하게 읽나요?
안녕하세요!강의 Section2의 데이터베이스 IO Access 유형 이해 - Sequential 과 Random Access 에서 헷갈리는 점이 있어서 질문을 남깁니다.Radom access 와 Table Full scan(강의 중 9:00~)에 있는 Table은 실제로는 Block 단위로 저장되어 있을텐데, HDD 상에서도 이 Block이 연속으로 저장되어 있는건가요 ??Random acces는 Hard disk 에서 랜덤하게 접근하기 때문에 disk access time이 더 걸린다고 앞에서 말씀해주셨는데, 만약 hdd상에서 block 위치가 여기저기에 있으면 table full scan도 disk access time이 똑같이 많이 걸리지 않을까 ...싶어서 개념이 헷갈립니다.정리하자면 Sequential 이라는 개념이 물리적인 disk에서도 시퀀셜하게 읽는다는건지..? 궁금합니다
-
미해결[리뉴얼] SQL 베이스캠프
섹션1 - 6회차 실습 에러
안녕하세요. 섹션1의 6회차 실습 중에 에러가 발생하여 문의드립니다. 에러 메시지는 아래 첨부된 이미지로 확인해 주세요.노션에 제공된 코드를 그대로 복사하여 붙여넣었고,root 패스워드를 제가 설정한 패스워드로 수정한 것말곤 없습니다. (*사용 중인 환경: MAC) 어떻게 해결할 수 있을까요? 도와주세요! ㅠ_ㅠ
-
미해결MySQL 성능 최적화
해당 강의 제공 코드를 보니 DB 커넥션 정보를 넘길때 포트가 빠졌네요
수업 자료에서도 포트가 빠져있어서 왜 계속 인증 오류가 뜨나 했네요 시간 되시면 수정 부탁드립니다.
-
미해결데이터 분석 SQL Fundamentals
질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님.질문이 좀 있습니다.a,b,c,d table 과 id 컬럼이 있다고 가정1) 여기서 [1.1] 쿼리는 실행 계획으로 치면 a,b,c를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 결과 도출.이렇게 이해하고 있습니다.그런데, 여기서 궁금한것이 LEFT OUTER JOIN은 서술 왼쪽 테이블이 드라이빙 고정으로 알고 있습니다.그래서, [1.2] 쿼리는 실행 계획으로 치면 a,b를 이너조인해서 만든 데이터셋으로 d와 아우터조인해서 데이터 셋을 새로만듬.그리고 , c와 이너조인 진행 이렇게 이해하면 될까요?2) 1.1과 1.2처럼 아우터조인의 서술 위치에 따라서 결과값에 대한 데이터가 달라질수 있나요?결국 a.id와 조인하기 때문에 해당 기준으로 데이터를 뽑아서어디에 서술하던지 데이터는 달라질수 없는거같은데 제가 이해한게 맞는지 질문드립니다.3) 2번을 질문드린 이유중 하나인데요.아우터 조인을 쓰면 테이블의 드라이빙 순서가 고정되버리니까 서술한 위치에 따라서 실행계획이 바뀔테고 그러면 데이터가 변경될수도 있는 사례가 있을까요?실행계획은 아무리 바뀌어도 데이터의 영향을 주는건 없는걸로 알지만 , 자꾸 뭔가 헷갈려서 질문드립니다.4) a.id = b.id on b.id =c.id on c.id =d.id 이런식으로 조건을 주면이너 조인은 상관 없겠지만 아우터 조인을 진행할 때는 데이터가 달라질거 같은데 보통은 아우터 조인 쿼리를 작성할 때 조인 조건을 어떻게 줘야하나요?제가 적은 예시처럼 쿼리를 짜나요??질문이 두서 없고 너무 많아서 죄송합니다..강사님 강의를 통해 확실하게 잡고 가지 않으면 추후에 또 다시 공부를 해야할 거 같아 질문드립니다.[1.1]select * from a INNER JOIN b ON a.id = b.idINNER JOIN c ON a.id = c.idLEFT OUTER JOIN d ON a.id = d.id;[1.2]select * from a INNER JOIN b ON a.id = b.idLEFT OUTER JOIN d ON a.id = d.idINNER JOIN c ON a.id = c.id;
-
미해결MySQL 성능 최적화
Task2는 직접해보는 부분인가요?
Task1만 하시고 끝나서 그런데 Task2는 직접 하는건지 강의가 추후에 올라오는 건지 궁금합니다
-
미해결다양한 사례로 익히는 SQL 데이터 분석
pandas 연계시 오류.....
(아나콘다를 깔고나서 새 파일에서 뭘 수정하려고하면 바로 연결이 끊기는 문제가 생겨 주피터 노트북으로 설치하였습니다. 필요한 라이브러리들은 모두 따로 설치하였습니다.)버전은 아래와 같습니다.오류가 발생하는 부분은 이 부분인데query문이 있는 셀의 전체 오류문은 아래와 같습니다--------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) Cell In[12], line 4 1 query = """ 2 select * from nw.customers 3 """ ----> 4 df = pd.read_sql_query(sql=query, con=postgres_engine) 5 df.head(10) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:485, in read_sql_query(sql, con, index_col, coerce_float, params, parse_dates, chunksize, dtype, dtype_backend) 482 dtype_backend = "numpy" # type: ignore[assignment] 483 assert dtype_backend is not lib.no_default --> 485 with pandasSQL_builder(con) as pandas_sql: 486 return pandas_sql.read_query( 487 sql, 488 index_col=index_col, (...) 494 dtype_backend=dtype_backend, 495 ) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:851, in pandasSQL_builder(con, schema, need_transaction) 848 raise ImportError("Using URI string without sqlalchemy installed.") 850 if sqlalchemy is not None and isinstance(con, (str, sqlalchemy.engine.Connectable)): --> 851 return SQLDatabase(con, schema, need_transaction) 853 warnings.warn( 854 "pandas only supports SQLAlchemy connectable (engine/connection) or " 855 "database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 " (...) 858 stacklevel=find_stack_level(), 859 ) 860 return SQLiteDatabase(con) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\sql.py:1576, in SQLDatabase.__init__(self, con, schema, need_transaction) 1574 self.exit_stack.callback(con.dispose) 1575 if isinstance(con, Engine): -> 1576 con = self.exit_stack.enter_context(con.connect()) 1577 if need_transaction and not con.in_transaction(): 1578 self.exit_stack.enter_context(con.begin()) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:3268, in Engine.connect(self) 3245 def connect(self) -> Connection: 3246 """Return a new :class:`_engine.Connection` object. 3247 3248 The :class:`_engine.Connection` acts as a Python context manager, so (...) 3265 3266 """ -> 3268 return self._connection_cls(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:145, in Connection.__init__(self, engine, connection, _has_events, _allow_revalidate, _allow_autobegin) 143 if connection is None: 144 try: --> 145 self._dbapi_connection = engine.raw_connection() 146 except dialect.loaded_dbapi.Error as err: 147 Connection._handle_dbapi_exception_noconnection( 148 err, dialect, engine 149 ) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\base.py:3292, in Engine.raw_connection(self) 3270 def raw_connection(self) -> PoolProxiedConnection: 3271 """Return a "raw" DBAPI connection from the connection pool. 3272 3273 The returned object is a proxied version of the DBAPI (...) 3290 3291 """ -> 3292 return self.pool.connect() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:452, in Pool.connect(self) 444 def connect(self) -> PoolProxiedConnection: 445 """Return a DBAPI connection from the pool. 446 447 The connection is instrumented such that when its (...) 450 451 """ --> 452 return _ConnectionFairy._checkout(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:1269, in _ConnectionFairy._checkout(cls, pool, threadconns, fairy) 1261 @classmethod 1262 def _checkout( 1263 cls, (...) 1266 fairy: Optional[_ConnectionFairy] = None, 1267 ) -> _ConnectionFairy: 1268 if not fairy: -> 1269 fairy = _ConnectionRecord.checkout(pool) 1271 if threadconns is not None: 1272 threadconns.current = weakref.ref(fairy) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:716, in _ConnectionRecord.checkout(cls, pool) 714 rec = cast(_ConnectionRecord, pool._do_get()) 715 else: --> 716 rec = pool._do_get() 718 try: 719 dbapi_connection = rec.get_connection() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\impl.py:169, in QueuePool._do_get(self) 167 return self._create_connection() 168 except: --> 169 with util.safe_reraise(): 170 self._dec_overflow() 171 raise File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\util\langhelpers.py:146, in safe_reraise.__exit__(self, type_, value, traceback) 144 assert exc_value is not None 145 self._exc_info = None # remove potential circular references --> 146 raise exc_value.with_traceback(exc_tb) 147 else: 148 self._exc_info = None # remove potential circular references File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\impl.py:167, in QueuePool._do_get(self) 165 if self._inc_overflow(): 166 try: --> 167 return self._create_connection() 168 except: 169 with util.safe_reraise(): File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:393, in Pool._create_connection(self) 390 def _create_connection(self) -> ConnectionPoolEntry: 391 """Called by subclasses to create a new ConnectionRecord.""" --> 393 return _ConnectionRecord(self) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:678, in _ConnectionRecord.__init__(self, pool, connect) 676 self.__pool = pool 677 if connect: --> 678 self.__connect() 679 self.finalize_callback = deque() File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:902, in _ConnectionRecord.__connect(self) 900 self.fresh = True 901 except BaseException as e: --> 902 with util.safe_reraise(): 903 pool.logger.debug("Error on connect(): %s", e) 904 else: 905 # in SQLAlchemy 1.4 the first_connect event is not used by 906 # the engine, so this will usually not be set File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\util\langhelpers.py:146, in safe_reraise.__exit__(self, type_, value, traceback) 144 assert exc_value is not None 145 self._exc_info = None # remove potential circular references --> 146 raise exc_value.with_traceback(exc_tb) 147 else: 148 self._exc_info = None # remove potential circular references File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\pool\base.py:898, in _ConnectionRecord.__connect(self) 896 try: 897 self.starttime = time.time() --> 898 self.dbapi_connection = connection = pool._invoke_creator(self) 899 pool.logger.debug("Created new connection %r", connection) 900 self.fresh = True File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\create.py:637, in create_engine.<locals>.connect(connection_record) 634 if connection is not None: 635 return connection --> 637 return dialect.connect(*cargs, **cparams) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\sqlalchemy\engine\default.py:616, in DefaultDialect.connect(self, *cargs, **cparams) 614 def connect(self, *cargs, **cparams): 615 # inherits the docstring from interfaces.Dialect.connect --> 616 return self.loaded_dbapi.connect(*cargs, **cparams) File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\psycopg2\__init__.py:122, in connect(dsn, connection_factory, cursor_factory, **kwargs) 119 kwasync['async_'] = kwargs.pop('async_') 121 dsn = _ext.make_dsn(dsn, **kwargs) --> 122 conn = _connect(dsn, connection_factory=connection_factory, **kwasync) 123 if cursor_factory is not None: 124 conn.cursor_factory = cursor_factory UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb8 in position 63: invalid start byte
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
강의 연장 가능할까요
안녕하세요, 성능좋은 쿼리작성법 수강중인 수강생입니다.제가 다른 업무로 인해 좋은 강의를 아직 모두 수강하지 못했는데 혹시 연장 가능할까요?감사합니다.
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
수업 강의 자료라는 것은 어느 메뉴로 들어가야하나요
수업 강의 자료라는 것은 어느 메뉴로 들어가야하나요???? 메뉴를 찾을 수가 없어요..
-
미해결처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)
아나콘다에서 주피터 노트북이 없습니다
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 주피터 노트북 설치중인데 아나콘다에 없네요..ㅜㅜ어떻게 해야 할까요?
-
미해결데이터 분석 SQL Fundamentals
질문있씁니다!!
제가 현장에서 Oracle 과 Tibero 를 돌아가면서 쓰고있는데 본강의에 듣기에 적합할까요?
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
강의자료를 통해서 요약한 내용을 블로그로의 사용여부
강의자님 강의자료를 통해서 노트에 학습 내용을 개인적으로 요약해서 개인 블로그에 공부 기록을 목적으로 사용하고 싶은데 가능할까요?
-
해결됨대규모 시스템 설계 Part 1
.single cluster 큰 장애 복구
single cluster 큰 장애 복구는 다른 클러스터로 우회한다고 하셨는데 single cluster는 클러스터가 1개 아닌가요 ??
-
미해결[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]
데이터 삭제 후 다시 데이터 추가 시 질문
id(id는 auto increment 설정)와 name 등의 데이터를 5개를 추가한 후, delete from 을 통해 삭제하고 다시 데이터를 넣으니, id가 1부터 다시 지정되는 것이아닌 6부터 지정이 되더라구요..삭제 후, 다시 id를 1부터 하게 할 순 없을까요..?
-
미해결데이터 분석 SQL Fundamentals
스칼라 서브쿼리 실습 - 01: 7분 56초 질문
해당 쿼리에서 왜 같은 행이 3배로 늘어나게 되는 것인지 궁금합니다. 셀프조인을 하면 원래 3배로 늘어나는 걸까요?감사합니다.
-
미해결윤재성의 Oracle SQL Database 11g PL/SQL Developer
join 에 in을 사용할때.
직무가 clerk인 사원과 동일한 부서에 근무하고 있는 사원들의 사원번호, 이름 , 입사일을 가져온다.clerk인 사원이 몇번의 부서에서 일 하는지 모른다.```sqlselect empno, ename, hiredate from emp where deptno in (select deptno from emp where job = "clerk")```부서번호를 가져와야 한다.```sqlselect deptno from emp where job = "clerk"에서 결과가 하나이 상인 서브쿼리에 in을 사용하면 서브쿼리의 결과 중 하나라도 일치하면 조건이 참이 된다라고 했는데 부서 번호를 가져와서 여러개의 결과가 있는데 그중 하나라도 있으니까 in을 쓴다는 말인가요? 일반 서브쿼리를 사용 했을때랑 서브쿼리에 in을 사용했을때 그 에러가 정확히 무슨뜻인지 이해가 안갑니다. 일반서브쿼리를 쓰면 값이 1개가 나오고 in은 결과 값이 여러개가 나오는 경우에 in을 쓴다는 건가요?
-
해결됨데이터 분석 SQL Fundamentals
[서브 쿼리 실습 02 - 5:57] 상관 서브쿼리 관련 질문
안녕하세요, 강의 너무 잘 듣고 있습니다.서브 쿼리 실습 -02 강의 5:57에 나오는 부분에서 하나 궁금한 점이 있어서 문의드립니다.select * from hr.emp_hist_01 a where todate = (select max(todate) from hr.emp_hist_01 x where x.empno = a.empno);위 쿼리에서 서브쿼리가 9999-12-31로 단일 값이 나올 것으로 생각했는데, 아래 테이블 12행에 보면 1983-12-24 데이터도 있어서요.서브쿼리에 group by empno가 없는데 어떻게 각 empno별 max(todate) 값을 가져오는지 궁금합니다.group by empno가 없으면 그냥 x.empno = a.empno로 조인을 한 뒤 전체 데이터에서 max(todate)값을 가져오는 걸로 이해했는데 아닌 걸까요? 감사합니다.
-
미해결비전공자의 전공자 따라잡기 - 데이터베이스,SQL
일대다, 다대다 관계 질문
[일대일,일대다,다대다 관계(ERD)] 강의 4분 17초에 관한 질문입니다. 일대일, 일대다, 다대다 관계에 대한 개념은 이해됐습니다.그런데 노란색 자막이 이해되지 않습니다.[사원]과 [사원-프로젝트]가 왜 일대다 관계인가요?[사원-프로젝트] 테이블에 의하면사원 하나는 여러 프로젝트를 가질 수 있고,프로젝트 하나는 여러 사원에 할당될 수 있는거 아닌가요?저는 [사원]과 [사원-프로젝트]가 다대다 관계라고 생각했는데 일대다 관계라고 하셔서 질문합니다.
-
미해결윤재성의 Oracle SQL Database 11g PL/SQL Developer
강의 9:15 초 커미션을 받는 사원 이요
17강 그룹함수에 9:15 에 나오는 커미션을 받는 사원들의 커미션 평균을 구하는 문제 인데요 select trunc(avg(comm))from emp;답은 이해가 가는데 comm이 null 인 사람들을 제외하고 4명의 값을 구하려면 select comm is null, trunc(avg(comm))from emp; 이렇게 해서 null인 사람을 먼저 빼놓고 그후에 avg()함수를 사용해서 평균을 구해도 상관 없나요?
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
복습 자료
안녕하세요,좋은 강의 잘 듣고 있는 수강생입니다.다름 아니라, 강의가 종료된 후에 복습할 수 있는 자료가 있는지 여쭤보고 싶습니다.
-
미해결윤재성의 Oracle SQL Database 11g PL/SQL Developer
16강 마지막 문제 질문
16강 case문 사용하는 마지막 문제에서-직원들의 급여를 다음과 같이 인상한다.-1000 이하:100%-1000 초과 2000 미만:50%-2000 이상:200%라고 되어있는데select empno, ename, case when sal<=1000 then sal*2 when sal>1000 and sal<=2000 then sal*0.5 when sal>=2000 then sal*3 end from emp;이렇게 알려주셨는데 1000 초과 2000 미만이면 급여 50% 인상이면select empno, ename, case when sal<=1000 then sal*2 when sal>1000 and sal<=2000 then sal*1.5 when sal>=2000 then sal*3 end from emp;코드가 이렇게 되어야 하는거 아닌가요?