SQL이란? 그리고 필요성은?


    제일 먼저 SQL이란 무엇인지 부터 알아 보겠습니다. 

    SQL은 Structured Query Language라고 하여 

    구조화된 질의 언어입니다. 

    그래서 필요한 데이터에 대해서 

    구조화된 질의 언어를 작성해서 실행을 하면

    DB(Database)에서 데이터를 우리가 원하는 포멧으로 

    보여줍니다. 


    한마디로 내가 필요한 데이터에 대해서 

    SQL을 작성한후 실행을 하면 

    DB에 있는 데이터를 추출할 수 있습니다. 

    허나 대부분의 사람들은 SQL을 알지 못하여 IT부서에 

    내가 필요한 데이터 추출 요청을 하고 

    답변이 올때까지 기다릴수 밖에 없죠. 

    저는 빨리 자료를 만들어서 보고를 해야 하는데 말이죠.. 


    몇 년전까지 위와 같은 상황을 저도 똑같이 경험을 하였고,

    발을 동동 구른적이 한 두번이 아니였습니다. 

    그런데 지금은 SQL을 익히고 난후 

    직접 필요한 데이터에 대해서 추출을 하여 

    업무 생산성이 늘었고, 추가 데이터 추출에 대해서도 

    직접 처리하다 보니 편리한점이 한두개가 아니였습니다. 

    그런데.. 이 SQL을 배우려고 해도 

    누가 가르쳐 주지도 않고,

    그럼 책으로 배워야 하는데.. 

    아무리 읽어봐도 모르겠고..이해도 안되고..

    책은 너무 어렵게 되어 있고 

    당장 데이터 추출을 하는데 필요 없는 부분에 대해서 

    너무 디테일하게 설명이 되어 있는 책들이 많아서

    도움이 되지 않았습니다. 

    그래서 저는 6개월간 책을 읽으면서

    허송세월을 보내다가 실제 업무를 하면서 

    기존에 다른 사람이 짜 놓았던 쿼리를 보고 

    물어보고 새로 짜보고 하면서 

    익혔습니다. 

    그러다 보니 책에서의 문제점이 보이더라구요. 

    첫째, 대부분의 sql관련 책들은 전문 서적이라

    DB의 구조등 너무 전문적으로 쓰여 있어서 

    아무나 쉽게 접근이 불가능하다는것(저도 아직 전문 용어들을 다 모릅니다.)

    둘째, 책을 읽어서 바로 SQL을 짤수 있도록 

    설명이 되어 있지 않다는것이 였습니다. 


    그래서 저는 이런 전문적인 부분을 다 빼고 

    바로 SQL을 작성할 수 있도록 

    설명을 해드리고 디테일한 부분은 

    뒤에서 설명을 해드리도록 하겠습니다. 


    제가 이글을 포스팅하는 이유는 많은 분들이

    책을 보면서 바로 활용하기 어려운것들을 제외하고 

    바로 SQL을 짤수 있도록 설명해 드리기 위함입니다.

    처음 SQL을 접근 하시는 분들에게 많은 도움이 되었으면 좋겠습니다. 

    그럼 제일먼저 알아 두셔야 하는 부분 부터 설명 드리겠습니다.


    제일 먼저 알아두셔야 하는 개념 3가지가 있습니다. 

    1. Database

    2. Table

    3. column, row


    1. Database : 데이터의 중복을 피하고 정보를 일원화 하여 처리를 효율적으로 수행하기 위해서 

    서로 관련성을 사지며 중복이 없는 데이터의 집합을 유지하는것 이 database인데요 

    쉽게 말해서 데이터가 저장되는 공간이라 생각 하시면 됩니다. 

    아래의 그림을 예로 설명 드리면 sakila, sys,world가 database라 생각 하시면 됩니다.

                           


    2. Table Database에 저장된 데이터 집합의 모임입니다. 

    예를들어 Excel에 비유하자면 하나하나 파일이 Table이라 생각 하시면 됩니다. 

    아래의 그림으로 설명 드리자면 City, country,countrylanguage가 테이블입니다.  

    빨간 큰박스는 City에 들어가 있는 데이터 입니다.

                            


    3.Column, Row

    column : 세로줄을 말합니다. 

    Row : 가로줄을 말합니다. 


    위의 3가지 설명 드린것은 제가 SQL을 설명해드리면서

    아주아주아주 많이 자주 나올것이니 꼭 기억하고 계시기 바랍니다. 


    그리고 SQL을 작성할때의 가장 중요한 개념이 하나가 있습니다. 

    SQL은 큰틀이 있는데, 그 큰틀의 반복입니다. 

    순서가 바뀌어서는 제대로 돌아가지 않고, 그 큰틀을 계속 반복하여 

    제가 원하는 데이터를 추출하는것 입니다. 

    가장 중요한 부분이니 꼭 외우고 넘어가주세요.


    SQL작성할때의 가장 큰 틀은 아래와 같습니다.

    Select 

    From

    Where

    Group by

    Order by


    저 사이사이에 어떤것을 넣느냐에 따라 우리가 원하는 데이터 들을 뽑을수 있습니다. 

    그중 Select와 From을 필수로 있어야 하는것이고

    where, group by, order by는 비필수 입니다. 

    필요할때 마다 넣으시면 됩니다. 

    그중 Group by는 꼭 필수로 써야하는 케이스가 있으나, 그것은 나중에 설명 드리겠습니다. 


    위의 5개를 적는 순서는 꼭 외워주시기 바랍니다. 

    이것도 엄청 많이 계속 나올꺼거든요. 


    그럼 저 사이사이에는 어떤것을 넣어야 하는지 설명 드리겠습니다. 

                                        

    위의 내용대로 넣어주시면 되고, SQL을 처음 작성하실때 

    위에서 처럼 들여쓰기를 하시면 좋습니다. 

    저렇게 작성하면 SQL이 세로로 길어 지겠지만

    내가 작성한 SQL이 오류가 발생 하였을때, 

    검수하기가 정말 편합니다. 

    어느 구간에서 잘못 작성 했는지 찾기가 편하거든요. 

    그러니 처음 작성 하시는 분들은 꼭 들여쓰기를 해주시기 바랍니다. 


    여기까지가 제일 처음에 알아야 하는 부분입니다. 

    모든것들이 처음 입문하기가 어렵습니다. 

    SQL도 쉽게 설명 드린다고 하지만 처음에는 정말 어렵거든요. 

    하지만 반복적으로 계속 보시고 SQL을 작성 해보시고

    실행 해보시면 조금씩 감이 오실것 같습니다. 

    그리고 이 SQL을 알게 되면 데이터 가공을 하는데

    정말 편리하니 시간 나실때마다 조금씩 익히시길 바랍니다. 

    • 네이버 블러그 공유하기
    • 네이버 밴드에 공유하기
    • 페이스북 공유하기
    • 카카오스토리 공유하기