본문 바로가기
Power BI 글모음/SQL-Power BI

SQL(Structured Query Language)?

by ISTJ의 궁서체 Data 2024. 12. 24.

안녕하세요 :)

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

This image is made by ChatGPT

 

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