본문 바로가기
데이터 관련/데분당태 챌린지

02. [데분당태 챌린지 3주차] SQL

by 준쓰_ 2023. 1. 28.

선요약

  • SQL을 배워야 하는 이유
  • SQL 기초 맛보기
  • SQL 쿼리 해독해보기

3주차 진행 내용 중

내용

[SQL을 배워야 하는 이유]

SQL을 배워야 하는 이유로 RDBMS에 대한 설명과 함께 데이터를 다루기 위한 도구로 설명했습니다. 특히 SQL을 데이터를 다루기 위한 필수 능력으로 보았는데요. 왜 필수 능력인지에 대한 설명으로는 다음과 같은 2가지 이유를 들었습니다.

  • SQL을 통해 여러사람들이 동시에 데이터를 조회하고 불러올수 있습니다.
  • SQL을 통해 데이터 저장소를 확장하고 데이터를 안전하게 저장할수 있습니다.

 

[SQL 기초 맛보기]

관련 내용에서는 SELECT, FROM, WHERE 절 등 SQL에서 쓰이는 대략적인 내용을 진행했습니다. 

 

[SQL 쿼리 해독하기]

-- 예시 문제 1
SELECT
employee.id,
,employee.first_name
,employee.last_name
,SUM(DATEDIFF("SECOND", call.start_time, call.end_time)) AS call_duration_sum
FROM call
INNER JOIN employee 
ON call.employee_id = employee.id
GROUP BY
employee.id,
employee.first_name,
employee.last_name
ORDER BY employee.id ASC;

해석 :

  • call 테이블과 employee 테이블을 결합한다. (call테이블의 `employee_id`와 employee 테이블의 `id`가 같은 것을 엮는다.)
    • 그중 employee 테이블에서 `id`, `first_name`, `last_name` 이 갖는 것끼리 묶는다.
  • 전체 데이터 중에서 `id`, `first_name`, `last_name` 와 해당 그룹핑의 시간의 총합을 조회한다.
    • 이때 시간 단위는 `second`로 하며 `DATEDIFF` 함수로 변환한다.
    • `start_time``end_time`의 차를 `call_duration`으로 본다.
    • 이에 대한 총합을 `call_duration_sum`으로 명명한다.
  • 해당 데이터를 id의 오름차순으로 조회한다.