본문 바로가기

데이터분석캠프 TIL

241126 TIL - 데이터 분석 과정(SQL 강의 1주차, 직무 세션)

오늘은 SQL은 강의를 처음으로 진행한 날이다. 더불어 직무 세션 4회를 연달아 진행한 날이었다. 

 

오늘의 일과

  • 코드카타 1일차
  • 아티클 1개 읽기
  • SQL 라이브 세션 2회
  • SQL 제공되는 강의 수강 
  • 발표 자료 준비

 

오늘 배운 내용의 대부분은 SQL의 기본적인 정의에 대한 내용이었다. 

 

가장 먼저 SQL이 필요한 이유부터 정리해 보자면, 

  • SQL 은 데이터베이스와 대화를 하기 위한 언어이다. 
  • 옆의 사람에게 필요한 것을 요청할 때 ‘A 를 주시겠어요?’ 와 하는 것과 같이 데이터베이스에게도 ‘A를 주겠니?’ 라고 이야기할 때 사용하는 언어로 - 내가 찾고자 하는 내용을 코드를 넣어 찾아내는 것이다. 

데이터베이스를 찾기 위해 Query를 입력하는데,  

데이터베이스(DB)에 있는 정보를 요청하고 필요한 결과를 얻기 위해 질문을 던지는 언어를 의미한다. 

 

또한, 이 언어에서도 SQL (Structured Query Language)는 관계형 데이터베이스 관리 시스템(RDBMS)에서 데이터를 관리하고 처리하기 위해 사용되는 표준 언어라고 할 수 있다. 

 

DBMS라고 하는 용어가 등장했다. 이는 데이터베이스를 효율적으로 관리하고 접근할 수 있게하는 소프트웨어이다. 데이터의 저장, 검색, 업데이트, 삭제를 효율적으로 수행할 수 있도록 지원한다. 

 

 

DBMS 제작사 운영 체제 특징

MySQL Oracle Unix, Linux, Windows, Mac 오픈 소스, 중소규모 프로젝트에 적합
PostgreSQL PostgreSQL Global Development Group Unix, Linux, Windows 고급 기능 지원, 대규모 데이터 처리 강점
Oracle Oracle Unix, Linux, Windows 상용 DBMS 중 시장 점유율 1위
SQL Server Microsoft Windows 주로 Windows 환경에 최적화
SQLite SQLite Consortium Unix, Linux, Windows 경량 DBMS로 모바일 앱 개발에 사용

 

가장 대표적으로 많이 쓰이는 DBMS는 My SQL, Oracle이 있다. DBMS가 데이터를 저장하는 방식은 크게 관계형, 계층형, 망형으로 나뉘며, 가장 널리 사용되는 방식이 “관계형”이다. 

 


 

1. SQL 코딩순서와 실행순서

SELECT → FROM → JOIN → ON → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT

 

 

2. 기본 명령어 

SELECT : 데이터를 가져오는 기본 명령어로, 데이터를 조회하는 모든 Query 에 사용됨
FROM : 데이터를 가져올 테이블을 특정해주는 문법
*: 모든 컬럼을 가져와준다는 의미 

 

3. 컬럼에 별명 주기

구분 영문, 언더바 특수문자, 한글
방법 별명만 적음 “별명” 으로, 큰 따옴표 안에 적어줌
예시 ord_no "ord no"
"주문번호"

 

4. WHERE: 조건에 맞는 데이터만 필터링 하기 

 

예제) 주문 (food_orders) 테이블에서 한국음식을 주문한 경우만 조회하기

select *
from food_orders
where cuisine_type='Korean'

 

5. 여러 개의 조건으로 필터링하기

여러 개의 조건을 걸어 필터링을 할 때는 아래와 같은 논리연산자를 넣어주면 한 번에 찾을 수 있다. 

논리연산자 의미 예시
AND 그리고 age>20 and gender=’female’
→ 나이가 20세 이상이고, 여성
OR 또는 age>20 or gender=’female’
→ 나이가 20세 이상이거나, 여성
NOt 아닌 not gender=’female’
→ 여성이 아닌

 

예제) 주문 (food_orders) 테이블에서 한국음식이면서, 가격이 30,000원 이상인 경우 조회

select *
from food_orders
where cuisine_type='Korean' and price>=30000

 

 

6. 비교연산자 종류 (비교연산, BETWEEN, IN, LIKE)

비교연산자 의미 예시
= 같다 age=21
gender=’female’
<> 같지 않다 (다르다) age<>21
gender<>’female’
> 크다 age>21
>= 크거나 같다 age>=21
< 작다 age<21
<= 작거나 같다 age<=21

 

  • BETWEEN : A 와 B 사이
    • 기본 문법 : between a and b
    • 예시 : 나이가 10 과 20 사이 
  • IN : ‘포함’ 하는 조건 주기
  • LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
    • 특정한 문자로 시작하는 경우
      • 기본 문법 : like ‘시작문자**%**’
      • 예시 : ‘김’ 으로 시작하는 이름
      • name like '김%'
    • 특정한 문자를 포함하는 경우
      • 기본 문법 : like%포함문자%
      • 예시 : 식당 이름에 ‘Next’ 를 포함하는 경우
      • restaurant_name like '%Next%'
    • 특정한 문자로 끝나는 경우
      • 기본 문법 : like ‘**%**끝나는문자’
      • 예시 : ‘임’ 으로 끝나는 이름
      • name like '%임'

오늘은 직무세션을 4개를 연달아 들었더니, 생각보다 매우 피곤했다. 

다들 데이터 분석가 비슷한 직군에 계시다 보니 더 피곤하다는 생각이 들었다. 

 

SQL코드카타도 처음 해보았는데, 강의를 보면서 풀 때와는 달리 머리가 새하얘지는 기분이 들었다... 😰 그래도 조바심 내지말고 나의 페이스로 해내야겠다. 화이팅!! 😊