· 오늘 공부한 것

SQL문을 복습

새로운 데이터베이스 관리 프로그램 DBeaver 사용

· 공부한 내용, 궁금한 내용, 부족한 내용

전에 사용했던 데이터베이스 관리 프로그램은 Sequel Pro, MySQLWorkbench, MongoDB Compass, Robo 3T 들이 있었다. 관계형과 비관계형 DB에 따라 사용해 본 경험이 있다. 그리고 프론트엔드를 집중적으로 하다 보니 잘 안 쓰게 되면서 사용법들을 까먹었는데 좋은 복습 기회가 되었다. 그리고 이번에 사용한 DBeaver의 경우 사용해 보니 UI도 직관적이어서 좋았고 자동완성 기능이 있어 쉽게 사용할 수 있었다. 관계형 DB를 사용할 때 자주 이용할 거 같다. 하지만 아직 DB연결이나 다양한 활용법은 더 익혀야겠다.

SQL문을 공부하면서 기본적인 select, from, where, join, group by, order by 등은 쉽게 사용할 수 있었는데 서브쿼리개념과 with, case 등 충분히 생각해야 하는 것들이 있었다. 특히 여러 테이블을 거쳐서 나오는 결괏값을 얻기 위해서는 다양한 조합으로 쿼리문을 작성해야 했다. 하지만 길을 많고 내가 원하는 결괏값을 얻으면 되는 것이다.

아래는 학습하면서 다양한 문법을 사용한 예시이다.

수강등록정보(enrolled_id)별 전체 강의 수와 들은 강의의 수, 그리고 진도율 출력해보기

with table1 as (
    select enrolled_id, count(*) as done_cnt from enrolleds_detail
    where done = 1
    group by enrolled_id
), table2 as (
    select enrolled_id, count(*) as total_cnt from enrolleds_detail
    group by enrolled_id
)

select a.enrolled_id,
       a.done_cnt,
       b.total_cnt,
       round(a.done_cnt/b.total_cnt,2) as ratio
  from table1 a
 inner join table2 b on a.enrolled_id = b.enrolled_id

· 오늘 서칭 한 자료

스파르타코딩클럽 강의로 대체

· 느낀 점

백엔드로 취업방향성을 정했으므로 DB와 친해져야 한다. 물론 그것을 관리하는 프로그램도 잘 다룰 줄 알아야 한다고 느꼈다.

SQL 문을 사용하여 원하는 데이터를 얻는 능력이 굉장하다고 생각한다. 필수!!

반응형

'Today I Learned' 카테고리의 다른 글

2023-10-16 TIL  (0) 2023.10.17
2023-10-12 TIL  (0) 2023.10.13
2023-10-10 TIL  (0) 2023.10.10
2023-10-06 TIL  (0) 2023.10.07
2023-10-05 TIL  (0) 2023.10.06

+ Recent posts