260219 sql과 엑셀 학부시절에 전공필수로 처음 접한 포트란 프로그래밍은 펀치카드를 사용해서 입력해야했다. 코딩을 하고 줄을 서서 순서를 기다려 타자기처럼 생긴 펀치기를 이용하여 라인별로 하나의 카드를 사용했다. 보통 여러 명령이기에 여러 장의 카드가 필요했고 당연히 펀칭중의 실수가 발생한 경우 버려야 했다. 그렇게 어렵게 입력하고 주로 다음날 출력결과를 받았는데 에러가 있는 경우가 있었기에 오랜 시간이 걸리는 것은 당연했다. 그러다 당시 출시된 8비트 애플2을 마련하여 키보드로 베이직 프로그래밍을 하니 훨씬 빨라졌다. 즉시 결과를 받을 수있으니 프로그래밍의 생산성이 엄청나게 증가했던 것을 기억한다. 사회에 진출하여 타자기대신 워드프로세서를 이용하게 되었다. 당연히 훨씬 빨리 문서작성이 가능했다. 수기로 작성하고 타자수에게 전달하여 받는 것보다 독수리 타법을 사용하더라도 컴퓨터로 수정하면서 즉시 내가 원하는 시점에 결과를 낼 수있었다. 그리고 나온 것이 엑셀이다. 교사는 더 이상 학생 주산유단자의 도움 없이도 스스로 평균과 석차를 낼 수있었을 것이다. 나도 엑셀을 통해 수작업에서 해방되어 훨씬 많은 계산을 더 적은 오류를 내면서 빨리 할 수있게 되었다. 지금은 SQL을 한다. 빅데이터시대에 엑셀로는 메가급의 데이터도 처리하는 속도가 느려지지만 그래도 시간이 오래 걸릴 뿐이라면 기가급의 경우는 데이터베이스 사용이 필수다. 주로 수십만행까지는 엑셀이 가능하지만 수백만이상이 되면 데이터베이스를 사용하는 것이 좋다. 특히 다중 사용자가 동시에 사용한다면 피할수없다. 부가적으로 들어보기만 하고 실무에 사용하지 못했던 엑셀 명령어도 실제로 사용하게 되어 작은 데이터의 처리속도역시 빨라졌다. 기본 명령는 간단하다. 익숙한 엑셀을 SQL로 필요한 내용을 찾는다면 "SELECT 열이름 FROM 시트(테이블)이름 WHERE 조건"이다. 예를 들어 100만명의 학생중 90점을 초과하는 수학점수인 경우 이름을 성적시트에서 찾는다면, "SELECT 학생이름 FROM 수학시트 WHERE 점수>90조건"이다. 나의 경우 엑셀에서 피벗테이블와 VLOOKUP을 사용하게 된 것도 업무 효율을 더욱 향상시킬 수있어서 배움의 중요성을 실감한다. 그만큼 절약된 시간으로 취미생활에 활용할 수있기 때문이다.