본문 바로가기

My Work/Data Literacy

필수 SQL 개념 - (1/3편)

SQL 역량은 개발자뿐만 아니라 PM들에게도 요구되는 필수 역량 중 하나이다. 실제로, 많은 PM 현직자들분들로 SQL을 자유롭게 다루시는 분들이 많다. SQL은 쉽게 말해서 데이터 관리를 위해 만들어진 언어이다.

 

 

Chat GPT4 "SQL"

 

 

 

따라서, 이번 글은 PM이라면 필수적으로 알아야 할 SQL의 기초에 대해서 다룬다.

RDB (Relational Database) : 관계형 데이터베이스

RDB는 SQL을 다루기 전의 필수 개념이다. SQL로 RDB를 다룬다고 생각하면 된다.

아래 Table은 Key와 Value을 Table로 정리한 DB이다.  

 

Table Name : friends

Number Name Age Job
1 James 24 Student
2 Kevin 25 Taxi Driver
3 Andrew 23 Student
4 Nick 21 Data Analyst

 

 RDB의 데이터 타이틀의 Schema(스키마)도 필수 개념이다.

Column Datatype
Number INT
Name TEXT
Age TEXT
Job INT

 

그리고 이러한 RDB를 관리하는 시스템은 MySQL, SQLite, PostgreSQL등이 있다.

 

CRUD (Create, Read, Update, Delete)

SQL의 언어는 CRUD로 나뉘어진다고 볼 수 있다. (몰론, 때에 따라서 다르게 나눠질 수 있다.) CRUD를 댓글 로직으로 설명하자면 아래와 같다. 사실 기능 개발에서 필수적은 개념이기 때문에 자세한 설명은 자제하겠다. 

 

Create : 댓글을 작성하고,

Reade : 댓글을 조회하고,

Update : 작성한 댓글을 수정하고,

Delete : 작성한 댓글을 삭제하고.

 

SQL에서 Create는 INSERT가 있다.

INSERT : 테이블에 하나의 행을 삽입

INSERT INTO 테이블명 (열1, 열2, ...) VALUES (값1, 값2, ...)

 

위 테이블 'friends'에 'Sarah / 35 / Teacher' 이라는 데이터를 넣어보자면, 아래와 같이 SQL문을 작성할 수 있다. 여기서 모든 열에 올바르게 데이터를 넣은 경우에는 꼭 열(col)을 나열하지 않아도 된다. Number 같은 경우도 나머지 열을 올바르게 작성하면 굳이 작성하지 않아도 된다.

INSERT INTO friends (name, age, job) VALUES ('Sarah', 35, 'Teacher'), ('Simon', 25, 'CEO'), ('Dennis', 35, 'Football Player');

 

한꺼번에 작성하면 위와 같이 작성할 수 있다. 

 

다음은 데이터를 조회하는 READ이다.

READ에는 SELECT가 있으며, INSERT보다 다양한 절과 함께 사용된다.

SELECT : 테이블의 데이터를 조회

 

특정 테이블에서 특정 열의 값들만 조회할 때는 아래와 같이 작성한다. 

SELECT 열1, 열2, ... FROM 테이블 명
SELECT name, age FROM friends

 

예상되는 출력값은 아래와 같다. 

James 24

Kevin 25

...

 

SELECT에서는 다양한 절의 붙여서 사용할 수 있는데

SELECT name, age FROM friends LIMIT 1;

SELECT name, age FROM friends WHERE name='Andrew'

 

LIMIT (숫자) 절을 사용하면 숫자만큼 조회하겠다는 뜻이다. 

예시로는 1을 썼으니 하나만 조회하겠다는 뜻이고 예상되는 출력 값은 'James 24'이다.

 

WHERE (조건) 절을 사용한다는 것은 IF문과 같다. 예시로는 name이 'James'인 경우를 조회하라는 뜻이다. 고로, 예상되는 출력 값은 'Andrew 23'이다. 

 

SELECT DISTINCT job FROM 테이블 명;

 

위와 같이 'SELECT DISTINCT (열) ~'을 작성하면 해당 열에서 중복없이 조회하라는 뜻이다. 예상되는 출력 값은 'Student, Taxi Driver, Data Analyst, Teacher, CEO, Football Player' 이다. 

 

 

나머지 UPDATE와 DELETE는 SQL 필수 개념 2탄에서 다루기로 하고, SQL을 다룬 이후로부터는 프로그래머스에서 SQL 연습문제를 풀이하겠다. 

'My Work > Data Literacy' 카테고리의 다른 글

필수 SQL 개념 - (3/3편)  (0) 2023.11.30
필수 SQL 개념 - (2/3편)  (0) 2023.11.29
AARRR 퍼널별 참고사항  (1) 2023.11.14
AB Test (핵심 요소, 규칙)  (0) 2023.11.13
데이터 로그 설계(Tracking Plan)_활용편  (1) 2023.11.12