ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DATA] SQL - Hello World (a.k.a SELECT 명령어)
    UX 리서치 2022. 1. 21. 00:04

     

    1. INTRO

    컴퓨터 프로그래밍을 배울때 항상 시작은 Hello World 로 시작합니다. 

    이것은 마치 새로운 컴퓨터 친구에게 안녕이라고 첫 인사를 건네는 그런 느낌이죠. 

     

    SQL 세계에서 Hello World라고 할 수 있는 명령어는 

    'SELECT * FROM 테이블 명' 입니다. 

     

    정확하게는 아래와 같이 명령의 마지막에는 세미콜론 (;) 을 붙여줘야 합니다. 

    세미콜론을 붙여주지 않으면 컴퓨터 친구는 '우리가 계속 말하고 있는 중'이라고 생각해서, 명령을 실행하지 않습니다. 

    SELECT * FROM tablename;

     

    SELECT 명령은 DML(Data Management Language)에 속하는 명령어이고,  '질의'나 '쿼리'라 불리기도 합니다. 

    보통 기획자, PO(Product Owner), 데이터 분석가들이

    "쿼리 날려서 수치 좀 확인하죠" 라고 할때,

    여기서 쿼리는 보통 이 SELECT 명령어를 포함하는 SQL문을 가르키는 말입니다. 

     

     

    2. SELECT 명령어 뜯어보기 

    select문 예시

     

    - SELECT는 SQL명령어의 한 종류로, '선택하는 명령'을 실행하세요라는 뜻입니다. 그렇다면 무엇을 선택할까? 

    - 에스터리스트(*)는 '모든 열'을 의미하는 메타문자입니다. 메타문자란, 그 문자가 본래 갖고 있는 뜻이 아니라, 특별한 용도로 사용하기 위해 프로그램이나 데이터에 끼워넣는 문자라고 이해하시면 쉽습니다. 

    - FROM 뒤에는 테이블명을 넣습니다.

    - SQL명령은 몇 개의 구로 구성됩니다. 이 명령어에서는 SELECT구와 FROM구로 구성되어 있습니다. 

     

     

    3. 예약어란? 

    SELECT * FROM tablename;

    이라는 SQL명령문은 SELECT구와 FROM구로 구성된다고 말씀드렸는데요, 

    SELECT와 FROM이 구를 결정하는 키워드이자 '예약어' 입니다. 

    예약어의 뜻은 '예약되어 있는 단어',

    즉 이것을 사용하기로 예약이 되어 있다는 뜻인데요. 

    쉽게 말해 이 SELECT라는 문자는 이미 찜콩되어 있어 내가 이용할 수 없다는 말입니다. 

     

    부연 설명을 하자면, 

    보통의 RAW 데이터들은 사용되지 않는 쓰레기 값이나, NULL값을 보유하고 있으며 데이터의 양 또한 매우 방대합니다. 

    따라서 보통 데이터 분석가들은 RAW데이터를 전처리하고, 가공하여 쓸 수 있는 데이터로 만들어 주죠. (마치 광산의 원석들을 가공, 세공하여 보석을 만드는 것과 같습니다)  

    이때 가공한 데이터들을 데이터베이스 객체라는 이름을 붙여 관리하는데요, 

    데이터베이스 객체를 만들어 관리할때, 객체명은 예약어와 동일한 이름을 사용할 수 없습니다. 에러를 뱉습니다. 🤦‍♂️

    쉽게 말해 'SELECT'라는 이름을 갖는 테이블을 만들 수는 없습니다. 

      

     

    4. SELECT 명령어를 실행한 결과 

    SELECT 명령을 실행하면, 표 형식의 데이터를 만날 수 있습니다. 

    우리가 건넨 인사에, 화답을 받는 순간 이죠. 

    아래와 같은 테이블을 추출 할 수 있습니다.

    이미지 출처 : 우아한 형제들 기술 블로그 

    물론 처음부터 저렇게 깔끔한 테이블을 추출할 수 는 없습니다. NULL값도 있을 수도 있고, 해석하기 어려운 데이터가 쌓였을 수도 있습니다. 다음에는 NULL값의 처리에 대해 알아보겠습니다. 

     

     

     

Designed by Tistory.