본문 바로가기
Database/엑셀로 배우는 SQL 실무 - 입문

[SQL] 엑셀로 배우는 SQL - Table, Column, Row

by 따라쟁이개발자 2022. 12. 28.

SQL이 어떻게 동작하는지 배워보기에 앞서

저희가 쓰고 있는 엑셀을 떠올려 봅니다.

 

간단한 음료 재고목록표를 만들어 본다고 할게요

음료 재고목록 표에는 대략 No, 음료 이름, 가격, 재고 정보 정도로 담아볼게요

 

엑셀을 이용한 표 그리기

무엇부터 해야 할까요?

우선, 엑셀을 켜고 첫번째 Sheet에 표를 그려야 겠습니다. 표(여기선 시트) 이름은 요구사항 따라 '음료 재고표'로 지어볼게요

그 다음엔 무엇을 해야 할까요?

음료 재고표가 가지는 항목들을 열에 나열해 봐야겠지요. 요구사항 따라 No, 음료 이름, 가격, 재고 항목을 적어봅니다

그 다음은 무엇을 해야 할까요?

재고표에 들어갈 데이터들을 넣어야 겠지요. 아래 두 데이터를 넣어야 한다고 해봅시다.

No은 값의 의미가 딱히 있는 것은 아니니 데이터가 들어간 순서대로 넣을게요

 - 콜라, 1500, 10 /  - 사이다, 1300, 5

 

표가 다 만들어졌습니다. 

이 표와 우리가 알아볼 Table은 무슨 연관이 있을까요?

 

 

엑셀 표와 Table의 관계

DB의 Table은 종종 엑셀과 비교되어 묘사되곤 합니다.

실제로 SQL 툴을 사용해서 결과를 내어 보면 그 모양이 꼭 엑셀 표를 닮아있습니다.

 

Table은 엑셀 표와 마찬가지로 데이터를 담아두는 공간 역할을 합니다.

Table이 엑셀 표와 같다면, Table 역시 엑셀처럼 항목들이 필요하겠죠?

Table 이라는 공간에 담을 데이터 속성. 엑셀로 따지면 첫번 째 행에 저희가 정의한 항목들. 이걸 DB 세상에선 Column 이라고 부릅니다.

(실제로 조금 더 개념에 접근하다 보면, Column을 Attribute나 Field로 부르기도 합니다. 자세한 차이는 나중에 설명해볼게요)

Table이 마련되고 Table이 가질 Column을 정의하고 나면, 데이터 값들을 입력하게 될텐데 이걸 Row 또는 Record 라고 부릅니다.

 

개념을 배우다보면 여러가지 유사한 용어들이 나오는데 실무에서 자주 쓰이는 단어 위주로 기억해둔다 하면

Table, Column, Row 정도까지만 기억해도 좋을 것 같아요

 

 

SQL로 Table 만들기

음료 재고표를 Table로 만들어 볼게요. 

SQL문을 더 자세하게 설명드리면 좋겠지만 우선 이번 글에선 Table과 엑셀 비교에 집중해서 보겠습니다

CREATE문은 Table을 생성할 때 쓰이는 SQL 문입니다. 외계어 처럼 보일 수도 있는데 사실 엑셀 표와 비슷한 정보를 담고 있어요

CREATE TABLE beverage_stock
(
    no number(3),
    name varchar2(20),
    price number(10),
    stock number(5)
);

 

주석을 달아 보면 이렇습니다.

bevarage_stock은 엑셀에서 '음료 재고표' 같은 공간 이름. 즉, Table 이름입니다.

no은 엑셀의 항목 중 'No'에 해당하는 부분이고 bevarage_stock Table이 가지는 Column 중 하나에요

name, price, stock도 마찬가지로 엑셀의 '음료이름', '가격', 재고'를 의미하는 bevarage_stock의 Column들 입니다.

 

각 Column 뒤에 붙은 number(길이), varchar2(길이)는 Column들의 자료형을 나타내는 부분인데 

간단히 현재로선 해당 Column이 숫자값이냐 문자값이냐 그 길이는 얼마나 되냐 등을 나타내 주는 정보라고 보시면 될 것 같아요

CREATE TABLE beverage_stock		-- Table 이름
(
    no number(3),			-- 'No'의 Column 이름과 자료형
    name varchar2(20),			-- '음료이름'의 Column 이름과 자료형
    price number(10),			-- '가격'의 Column 이름과 자료형
    stock number(5)			-- '재고'의 Column 이름과 자료형
);

 

SQL로 데이터 넣어보기

Table을 만들었으니 Data를 넣어 row를 늘려 볼게요

엑셀의 '음료 재고표'와 동일한 데이터를 추가해 봅니다. 데이터를 추가할 때는 INSERT문을 사용합니다.

SQL의 자세한 문법들은 이후 차차 다뤄볼게요

INSERT INTO beverage_stock (no, name, price, stock) VALUES (1, '콜라', 1500, 10);
INSERT INTO beverage_stock (no, name, price, stock) VALUES (2, '사이다', 1300, 5);

 

Table 조회 후 엑셀과 비교해보기

필요한 Column 정보를 담아 Table을 생성하고, 요구사항대로 데이터를 추가해 row도 만들어 놨습니다.

최종 결과를 비교해보면 어떤 차이가 있을까요?

 

Table을 조회할 땐 SELECT문을 사용합니다. 이전 게시글에서도 살짝 다뤘고 앞으로도 자주 볼 SQL 구조 입니다.

beverage_stock Table 안에 있는 모든 정보를 조회해 보겠다는 뜻이에요

SELECT * FROM beverage_stock;

 

위 SQL문을 수행한 결과는 이렇습니다.

위에서 만들었던 엑셀과 거의 흡사하지 않나요?

 

정리

이번 게시물에선 엑셀 표와 비교해 Table을 설명해 봤습니다.

사실 Table을 만들고 데이터를 넣는 과정에서나 개념적인 부분에서나 설명해야 할게 훨~씬 많지만

당장 실무에서 쓰일 정보들만 퀵하게 이해하려 한다면, 이 정도로도 충분할 것 같아요

이해를 쉽고 빠르게 하는게 우선이니까요!

 

위 내용 실습은 Oracle Live SQL을 통해 진행했습니다.

DB 설치나 SQL 실행 프로그램을 따로 하지 않아도 SQL을 돌려볼 수 있는 사이트에요

Oracle 가입만 하시면 쉽게 사용해 보실 수 있습니다 !

 

이후 시간부터는 실무에 가장 많이 사용되는 SELECT문에 대해 알아보고

조건을 걸어 조회하는 방법도 살펴볼게요. 역시 이번도 엑셀과 함께요 😀

댓글