안녕하세요 :)
이번에는 Data를 보관하고 많은 사람들이 활용할 수 있도록 도와주는 "Database"에서
Data을 Control 하는 방법에 대해 공유 해드리고자 합니다.
Power BI 또한 SQL 기반으로 동작하는 것입니다.
SQL을 이해한다면 앞으로 학습할 Power BI도 쉽게 학습할 수 있을거에요!

SQL이란?
혹시 SQL을 들어보셨을까요?
SQL은 데이터베이스에서 데이터를 추출하고 조작하는 데 사용하는 프로그래밍 언어입니다.
즉, 우리가 원하는 Data을 SQL을 활용하여 전처리, 추출 등의 작업을 수행합니다.
SQL 종류
SQL 언어에는 총 3가지 종류가 있습니다.
1. DDL(Data Definition Language, 데이터 정의어)
- 데이터를 정의하는 언어.
- 데이터를 생성, 수정, 삭제하는 등의 골격을 결정하는 역할.
즉, DB, Table, Schema, View, Index 등을 정의, 변경, 삭제할 때 사용하는 언어입니다.
CREATE | Database, Table 등을 생성. |
ALTER | Database, Table 등을 수정. |
DROP | Database, Table 등을 삭제. |
TRUNCATE | Database, Table 등을 초기화. |
2. DML(Data Manipulation Language, 데이터 조작어)
- 데이터를 조작(제어)하는 언어.
- 데이터를 조회하거나 수정, 삭제 등의 역할.
즉, DML를 활용하여 저장된 데이터를 처리하는데 사용되는 언어입니다.
SELECT | Data 조회 |
INSERT | Data 삽입 |
UPDATE | Data 수정 |
DELETE | Data 삭제 |
ADD COLUMN | Table에 Column 추가 |
DROP COLUMN | Table의 특정 Column 삭제 |
MODIFY COLUMN | Table의 특정 Column 수정 |
RENAME COLUMN | Table의 특정 Column 이름 변경 |
DROP CONSTRAIN | Table의 특정 Column을 제약조건 기반하여 삭제 |
3. DCL(Data Control Language, 데이터 제어어)
- 데이터베이스에 접근하거나, 권한 관리를 할 수 있는 언어.
즉, 계정 별로 Database에 권한을 관리하는데 사용되는 언어입니다.
GRANT | 특정 사용자에게 특정 작업에 대한 수행 권한 부여 |
REVOKE | 특정 사용자에게 특정 작업에 대한 수행 권한을 박탈/회수 |
4. TCL(Transaction Control Language, 트랜잭션 제어 언어)
- DCL과 비슷하지만 데이터 제어가 아닌, 트랜잭션을 제어하는데 사용되는 언어.
* 트랜잭션 *
-> DB 상태를 변화시키기 위해 수행되는 작업의 단위.
-> ex) 게시글 업로드 / 삭제
COMMIT | 모든 작업을 정상 처리하겠다고 확정짓는 명령어. - 변경사항을 DB 영구 저장 |
ROLLBACK | 작업 중 문제가 발생되어 취소하는 명령어 - 변경사항을 취소하여 DB에 반영되지 않음 |
SAVEPOINT | COMMIT 전에 특정 시점까지만 반영하거나 ROLLBACK을 수행한다는 명령어 |
병합
병합 : 두 개 이상의 테이블을 결합하여 하나의 새로운 테이블을 만드는 작업.
- 연결하고자 하는 테이블이 적어도 하나의 컬럼을 공유하고 있어야 한다.
- 즉 조인을 위해서는 기본키(PK)와 외래키(FK) 관계로 맺어져야 한다.
1. Inner Join
- 교집합
- 중복값을 보여준다.
- 두 테이블에 모두 기준 열의 데이터가 있어야 한다.

SELECT A.column1, B.column2
FROM A
INNER JOIN B
ON A.common_column = B.common_column;
2. Left Outer Join
- Join 기준 왼쪽에 있는 테이블 모두 SELECT

SELECT A.column1, B.column2
FROM A
LEFT OUTER JOIN B
ON A.common_column = B.common_column;
3. Right Outer Join
- Join 기준 오른쪽에 있는 테이블 모두 SELECT

SELECT A.column1, B.column2
FROM A
RIGHT OUTER JOIN B
ON A.common_column = B.common_column;
4. Full Outer Join
- 합집합
- 두 테이블의 데이터 모두 SELECT
- 두 테이블에서 일치하지 않는 값은 NULL로 채운다.

SELECT A.column1, B.column2
FROM A
FULL OUTER JOIN B
ON A.common_column = B.common_column;
5. Cross Join
- 모든 경우의 수를 전부 표현하는 방식.
- A 테이블의 Data가 3개, B 테이블의 데이터가 4개인 경우 총 12개의 데이터가 검색.

SELECT A.column1, B.column2
FROM A
CROSS JOIN B;
마무리
SQL을 처음 접하시는 분들은 다소 어려울 수 있다고 생각해요..
최대한 간단하게 풀어서 설명을 드렸는데
질문이 있으시다면 댓글 부탁드립니다!
다음시간에는 간단한 Power BI 구분이 어떤 SQL 구문 기반으로 작동되는지
설명하는 게시글로 돌아오겠습니다.
감사합니다 :)
'Power BI 글모음 > SQL-Power BI' 카테고리의 다른 글
Key used for modeling in Database & Power BI (0) | 2025.01.05 |
---|---|
SQL/PowerBI(동작관계) (2) | 2024.12.29 |
SQL-Power BI의 관계 (0) | 2024.12.23 |