업무를 하다보면 여러가지 쿼리를 만들어야 하는 상황이 발생하기 마련이다.다음과 같이 일어날 수 있는 상황을 가정하여 쿼리를 작성해 보기로 한다. 문제.A라는 사람이 어떤 곳에서 프리랜서로 일하게 되었다.근무한 날자를 기록하기 위해 어떤 테이블에 근무일자만을 오름차순으로 기록해 두었다.그런데 프로젝트 기간동안 일정치 않게 일을 하게 되었고따라서 연속으로 출근하여 일한 날도 있고 출근하지 않은 날도 있었다.이 때 연속으로 출근한 날짜만을 가져올 수 있을까?예를 들면 이런 것이다.work_day 20181201 20181202 20181205 20181206 20181207 20181210 20181211 20181221 20190101 20190102 20190104 20190105 20190107 2019..
사실 숫자의 누계를 만든다는 것은 다양한 방법이 있으며여기서 소개하는 방법만이 옳다는 것이 아님을 밝혀둔다.다만 sql문을 다양하게 작성 해 볼수 있다는 것과여러가지 상황에 맞게 사용할 수 있도록 익혀 둔다면 나중에 어디서 써먹을 수도 있기에이것도 좋겠다 싶어 간단히 포스팅 해보기로 한다.우선 다음과 같은 테이블에 데이터가 있다고 가정해 보자. select 'a' as alpha, '1' as i -- alpha 컬럼은 별 의미없음... into #tmpTbl2 insert #tmpTbl2 values('b', '2') insert #tmpTbl2 values('c', '3') insert #tmpTbl2 values('d', '4') insert #tmpTbl2 values('e', '5') inser..
SQL 팁과 관련된 지난글 보기[DB(MS, PG, MY..etc)] - MS-SQL 튜닝에 대한 짧은 생각[DB(MS, PG, MY..etc)] - 하위 테이블에서 걸러낸 결과로 전체 컬럼 가져오기(group by, having count) 보통 SQL에서 쿼리를 실행하게 되면 그 결과는 이런식으로 출력이 된다. 1. 컬럼명 가로형column1 column2 column3 column4 value1 value2 value3 value4 그런데 데이터 외부 요청자료라든지... 추출을 통한 문서작성 업무를 하다보면 쿼리 결과를 복사해서 붙여넣기 편하게 2. 컬럼명 세로형column1 value1 column2 value2 column3 value3 column4 values4 이런식으로 나왔으면 하는 경우..
지난번에 포스팅 했던[DB(MS, PG, MY..etc)] - MS-SQL 튜닝에 대한 짧은 생각과 관련해서 튜닝이라고하기 까지는 좀 뭐하지만 간단한 팁(?)정도로 하나 소개할까 한다.----------------------------------------------------------------- 프로그램 개발을 하거나 데이터 추출을 할 때많이 고민하게 되는 것 중에 하나가 귀차니즘이다.(고민하느냐... 노가다를 하느냐...ㅎ)무슨뜻인가 하면예를 들어 어떤 결과물을 내려고 하는데그 과정에서 첫 번째 쿼리를 실행한 결과를 바탕으로두 번째 쿼리를 실행하거나 또는 그 이상의 쿼리를 사용해야 하는 경우이다.(아무튼... 요약하자면 어떤 결과를 내기위해서 쿼리를 여러 번 실행해야 하는데 그게 귀찮다는 말이다...
내가 IT쪽 일을 하게 된 지도 어언 14년정도가 되었다.되돌아 보면 그동안 참 많은 일들이 있었는데 시간이 참 빨리도 흘러가는 것 같다.전산 인프라 운영부터 헬프 데스크, 네트워크 장비 운영, 프로그램 개발, 정보보안, DB및 서버 관리 등등14년동안 잡다한 일들을 참 많이 해봤었는데의미있는 기록을 남겨보면 어떨까 하는 생각이 문득 들었다.그 중에 어떤게 좋을까 고민하다가 내가 주로 사용했던 MS-SQL에 대한 이야기를 해 보기로 마음먹었다.더 세부적으로는 DB를 튜닝하는 방법에 대해서.... 아니, DB를 튜닝한다니 얘기가 좀 거창한거 같고DB를 좀 더 효율적으로 관리, 사용하는 방법에 대해서 내가 알게된 것들을 정리해 볼까 한다.이것저것 주제를 잡아 간단하게 정리를 하는 방식으로 해 보려고 하는데현..
오늘은 ms-sql의 연결된 서버에서 서버를 연결하는 방법에 대해 포스팅 해보려고 한다. ms-sql 서버 인스턴스를 하나만 사용하거나 여러 인스턴스를 관리하고 있지만 각각의 인스턴스들이 별도로 동작하는 경우 그런 관리자들에게는 굳이 이 내용이 필요없을 지도 모른다. 하지만 인생 어떻게 될지 모르는거고... ㅎ 나중에 써먹을 일이 생길지 누가 알까.. 당장에 필요 없더라도 한 번 읽어뒀다가 혹시 나중에 필요하게 되었을 때 기억이 나서 찾아보면 되니 다 피가 되고 살이되는것. 알아두면 손해볼 거 없다. 각설하고.... (아, 서버를 연결하는 방법은 여러가지가 있다. 여기서는 ODBC설정을 이용한 방법만을 이야기한다. 나머지는 기회가 되면 나중에...) 먼저 연결된 서버(linked server)라는 건 말..
MS-SQL 서버를 사용하다보면 하나의 서버에 하나의 인스턴스만 설치해서 사용하는 경우도 있겠지만 그렇지 않은 경우 즉, 둘 이상의 인스턴스를 설치하는 경우도 생기기 마련이다. 이럴 경우에 디폴트 1433 포트는 어느 인스턴스에게 할당이 되며 사용자 혹은 프로그래머는 각각의 인스턴스를 어떻게 구별해서 접속해야 하는지에 대해서 정리해 보도록 하겠다. 그렇다고 거창한건 아니고... 이거때문에 삽질을 좀 했기 때문이다. 우선 MS-SQL에 다중 인스턴스를 설치 한 경우 쿼리 툴 및 프로그램 작성 시, 인스턴스를 구별해서 접속해야 할텐데.... 네트워크 카드를 하나 사용한다는 가정하에 IP는 같으니 구별이 불가능 하고 포트설정을 통해서 인스턴스의 구별을 할 수가 있다. 포트설정 방법은 Sql Server Con..
DB를 관리하다보면 필수적으로 사용하게 되는 것이 바로 Index(인덱스)다. 인덱스 작성을 통해서 데이터 검색 시간이 상당히 빨라지게 할 수 있기 때문이다. 그런데, 인덱스를 설정해 놓고 사용하다 보면 언젠가부터 검색시간이 처음 설정했을 때 보다 느려지는 것을 느낄 수 있을 것이다. 그것은 왜냐하면 DB라는 것이 멈춰있는 게 아니고 항상 데이터의 삽입, 삭제, 업데이트 작업이 수행되기 때문에 인덱스에 조각화가 일어나기 때문이다. 인덱스의 조각화정도가 심해지면 그만큼 검색의 효율이 떨어질 수 밖에 없는데, DB관리자는 인덱스의 조각화를 항상체크하고 관리를 해 주어야 한다. 실제로 인덱스를 설정만 해두고 관리를 하지 않아 성능이 떨어진 경우, 인덱스 재구성 또는 재작성을 통해서 DB성능의 향상을 기대해 볼..
- Total
- Today
- Yesterday
- 8비트상성
- C
- xml강좌
- 플래시 게임
- 브롤스타즈
- Excel
- 플래시
- c#
- J.S Bach
- 플래쉬 게임
- 고전명작
- 엑셀
- 8비트
- 틀린그림찾기
- 레트로게임
- 플래쉬
- brawlstars
- MS-SQL
- SQL
- XML Programming with VB 6.0
- 플래쉬게임
- 플래시게임
- 중독성짱게임
- 추억의 게임
- 오락실게임
- 오락실 게임
- 다른그림찾기
- 고전게임
- 좀비게임
- XML
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |