[DB] SQL문의 활용과 중요성

작성자
dra****
작성일
2024-05-08 22:11
조회
625

예전 은행해서 근무하던 작은형 왈, "SQL문의 작성 능력에 따라 연봉이 달라진다."
당시 저는 고작 INSERT, DELETE, UPDATE문 정도만 할 줄 알았던 시기라, 그냥 그러려니 했습니다.

요즘은 DB를 가지고 코딩을 많이 하다 보니, 그 말을 많이 실감합니다.

1. VBA 초보 시절
DB에서 불러온 데이타를, 배열로 받아 루프를 돌리면서
문자열 함수를 이용해서 가공한 다음 엑셀 시트에 뿌려 줌
나름데로 뿌듯했음

2. 현재
데이터를 SQL문으로 가공해서 바로 엑셀에 뿌려줌
코드도 간결하고, 결과물 출력 수정도 쉽고, 속도도 빠르고.

3. 샘플 코드 (VB.NET) = 스샷은 아래에

        Dim strSQL As String = "SELECT " &
                                    "CONCAT('G-', Repeat('0', 6- LENGTH(G_SER)), G_SER) AS SER, " &
                                    " G_GUIDE As GUIDE, COMPANY, G_GUEST As GUEST, " &
                                    "CONCAT(DATE_FORMAT(G_TOFF_DATE, '%b-%d'), ' (', G_WEEK_DAY, ')') AS TOFF_DATE, " &
                                    "G.GC AS GC, G_A_TIME AS ATIME, G_HOLES AS HOLES, G_PAX AS PAX, G_SELL_RATE AS SELL_RATE, " &
                                    "G_SELL_TOTAL AS SUM, G_PAY_METHOD AS BANK, G_PAY_DATE AS PAY_DATE, G_VCHER_DATE AS VCHER_DATE, " &
                                    "CASE " &
                                        "WHEN G_PROG_SER = '3' THEN 'CANCEL' " &
                                        "WHEN G_PROG_SER = '2' THEN 'DONE' " &
                                        "WHEN (`G_PAY_DATE` <> '0000-00-00' AND (`G_PAY_DATE` IS NOT NULL OR LENGTH(`G_PAY_DATE` > 0))) THEN 'PAID' " &
                                        "ELSE '' " &
                                    "END AS STATE, " &
                                    "'' As BALANCE, G_IS_HOLIDAY AS HOLIDAY " &
                               "FROM (GBOOKING B JOIN HGC G On B.GC_SER = G.GC_SER) JOIN HMEMBERS M ON B.G_MEM_SER = M.MEM_SER " & condition_G & ";"

데이터행이 10만개라 한다면,
가변형 로우를 만들어서, 필요한 개수만큼 엑셀의 데이터가 있는 행을 늘였다 줄였다를 하도록 코딩
이렇게 하면, 스크롤의 번거로움이 다 사라짐

4. 결론

아직도 워크시트에 데이터를 입력하고 시트 함수를 이용해서 업무를 하고 계산다면 데이터베이스화 해서 사용해보라 권하고 싶싶습니다. 엑세스나 MS-SQL, MYSQL같은 데이터베이스가 아니어도, 엑셀 워크시트 자체가 데이터베이스가 될 수 있습니다. 이를 SQL문으로 CRUD를 구현할 수 있습니다. 업무가 훨씬 간결하고 수월해질 것입니다. 시간대비 인건비, 업무 효율성 등등 장점이 더 많습니다.

 

P.S. 윈도우즈에 리눅스 서버를 설치해서 사용하기를 정말 강력히 추천합니다.

저도 잘 몰라서 구현을 못했다고, 맘잡고 공부하고 하니 어렵지 않게 됩니다. 모든것을 이해하고 있는 것은 아니지만, 딱 필요한 만큼 공부해서 구현해보니, 정말 신세계입니다.

 

6. 아래는 엑셀에 출력한 스샷입니다. 검색 조건만 주고 출력하면 끝입니다.

 

신고
스크랩
공유
회원등급 : 30레벨
포인트 : 4702 EP
전체 5

  • 2024-10-01 00:43

    @dra**** 님 저도 프로그램 개발 했는데 이제는 다 잊어벼렸네요

    Sql문 보니 옛날 생각납니다.


  • 2024-05-11 22:42

    @dra**** 님 좋은 정보 감사합니다


  • 2024-12-24 17:35

    @dra**** 님 감사합니다.


  • 2024-05-09 03:03

    @dra**** 님 외국 은행은 잘 모르겠지만.. 국내 은행은 DB 접근 권한이 막혀있어서 외부에서 불러오는건 거의 불가능할지도 모르겠네요..

    보안이 워낙 철저해다보니.. 조회 한번만 잘못해도 개인정보법 위반사항이라..

    대부분 사내 툴로만 작업가능하다보니 불편한 점이 있네요 ㅜ


    • 2024-05-09 06:20

      @마이무거따 님 작은형이 전산실 개발부에서 일했습니다. ㅎㅎ


전체 165
번호 제목 작성자 작성일 추천 조회
알림
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (313)
오빠두엑셀 | 2022.02.03 | 추천 572 | 조회 599376
오빠두엑셀 2022.02.03 572 599376
78094
[M365] 수식으로 고급필터 구현하기 첨부파일 (1)
마법의손 | 2025.04.11 | 추천 1 | 조회 66
마법의손 2025.04.11 1 66
78009
LOOKUP을 XLOOKUP 처럼 사용 (2019 이하 필독) 첨부파일 (1)
박정호 | 2025.04.06 | 추천 0 | 조회 89
박정호 2025.04.06 - 89
78002
[VBA] 괄호가 대응되게 문자열 잘라주는 함수
마법의손 | 2025.04.05 | 추천 0 | 조회 39
마법의손 2025.04.05 - 39
77792
엑셀 그림 삽입이 안될 때.. (그림 삽입 비활성화 해결) (1)
더블유에이 | 2025.03.24 | 추천 2 | 조회 333
더블유에이 2025.03.24 2 333
77667
언피벗 툴 업그레이드 버전입니다. 첨부파일 (2)
박정호 | 2025.03.17 | 추천 0 | 조회 92
박정호 2025.03.17 - 92
77635
머리글로 데이터 합치기 툴 첨부파일 (4)
박정호 | 2025.03.15 | 추천 1 | 조회 105
박정호 2025.03.15 1 105
77598
MERGE(자석처럼 자료 붙이기) 툴입니다. 첨부파일 (2)
박정호 | 2025.03.13 | 추천 0 | 조회 142
박정호 2025.03.13 - 142
77577
[VBA] 시트명들 가져오는 함수 첨부파일 (4)
마법의손 | 2025.03.12 | 추천 1 | 조회 101
마법의손 2025.03.12 1 101
77544
LOOKUP 함수 사용법(2019 이하 필독) 첨부파일 (6)
박정호 | 2025.03.11 | 추천 0 | 조회 174
박정호 2025.03.11 - 174
77543
[함수TIP] Date함수로 Eomonth함수 대체하기 (3)
마법의손 | 2025.03.11 | 추천 3 | 조회 62
마법의손 2025.03.11 3 62
77481
쉽게 쓸 수 있는 언피벗 툴 첨부파일 (2)
박정호 | 2025.03.08 | 추천 2 | 조회 105
박정호 2025.03.08 2 105
77468
월간단위 월주차 함수 첨부파일 (3)
팍셀 | 2025.03.07 | 추천 0 | 조회 124
팍셀 2025.03.07 - 124
77385
TEXTJOIN 을 SUMPRODUCT 공식으로 2차원 데이터 다루기 첨부파일
박정호 | 2025.03.04 | 추천 0 | 조회 87
박정호 2025.03.04 - 87
77355
TEXTJOIN 으로 2차원 데이터 다루기 첨부파일 (3)
박정호 | 2025.03.02 | 추천 1 | 조회 89
박정호 2025.03.02 1 89
77353
& 기호로 SUMPRODUCT 2차원 데이터 다루기 첨부파일 (2)
박정호 | 2025.03.02 | 추천 0 | 조회 66
박정호 2025.03.02 - 66
77351
단어 포함 여부 검색, 원하는 단어로 출력 첨부파일
박정호 | 2025.03.02 | 추천 1 | 조회 96
박정호 2025.03.02 1 96
77238
휴일이면 1 아니면 0이 나오는 함수 첨부파일 (4)
박정호 | 2025.02.24 | 추천 0 | 조회 134
박정호 2025.02.24 - 134
77072
SUMPRODUCT로 VLOOKUP 대체 (2차원 룩업 가능) 첨부파일 (1)
박정호 | 2025.02.16 | 추천 0 | 조회 242
박정호 2025.02.16 - 242
76915
SUMPRODUCT로 2차원 데이터 다루기[응용] 첨부파일 (6)
박정호 | 2025.02.09 | 추천 1 | 조회 214
박정호 2025.02.09 1 214
76913
SUMPRODUCT로 2차원 데이터 sumifs 처럼 다루기 첨부파일 (1)
박정호 | 2025.02.09 | 추천 0 | 조회 170
박정호 2025.02.09 - 170