김데이의 개발공부

[ TIL ] Day 55, 56 - SQL 실습 : 초급 / 중급 문제 풀이 본문

코드잇 Node.js(BE) 부트 캠프/TIL (Today I Learn) 📑

[ TIL ] Day 55, 56 - SQL 실습 : 초급 / 중급 문제 풀이

theday365 2025. 12. 12. 18:55
반응형

🗓️ 수업 일자 : 2025.12.12 (11일 아파서 결석)

✨ 오늘의 수업 평가 :  [ PROJECT ]  실습 러버 👩‍💻🛠️ 실습 꿀잼 🍯😝

 

중간 중간 어려운 점이 조금은 있지만, 그래도 너무 재미있는 SQL 

일단 에러가 생겨도 너무너무 친절하게 어느 부분이 문제가 생겼다 알려주니

( 문구가 짧아서 그런지 몰라도 개인적으로 느끼기엔 일반 코드 에러보다 더 친절한 느낌)

금방 처리가 가능해서 훨씬 다루는 것이 재미있다

 

그리고 마치 레고 같아서, 이렇게 조립 해 보고 저렇게 조립 해 보며 

새로운 데이터들이 나오는 것도 참 신기할 따름이다

 

이렇게 배운 SQL이 우리 실무에 어떻게 적용 될지 궁금증이 마구 샘솟는다 🤓

 

 

👩‍💻 [개인 / 팀 프로젝트] 오늘 작업 내용 💻

- 미션 5 : 최종 제출용 md 파일 작업

- 미션 6 : SQL 문제 풀이 - 초급 / 중급

 

 

📝  오늘 배운 내용  

- Git & Github 브랜치 삭제 / 생성

- SQL ORDER BY 정렬 기준

- SQL JOIN 종류 

 


1. Git & Github 브랜치 삭제 / 생성

  • 상황 : 작업에 할당 된 메인 브랜치가 3개 있는데, 기존에는 메인1을 썻다면 이제는 메인2로 넘어가야 하는 상황
             그런데 실수로 메인2 작업을 바탕으로 신규 브랜치를 만들어야 했으나 메인 1로 브랜치를 생성

  • 해결 방안 : 작업을 아무것도 하지 않은 상태이기 때문에 로컬/원격 브랜치 모두 삭제하고, 새로운 브랜치 개설
  • 사용 명령어 (순서대로) 
    1. git branch : 현재 브랜치 셋팅 상태를 확인 
    2. git switch 메인1 : 삭제하려는 브랜치에서 벗어나기 위해 삭제에 아무런 영향이 없는 안전한 브랜치로 이동 
    3. git git branch -D 삭제할_신규_브랜치 : 로컬 작업 환경의 잘못 만든 브랜치를 삭제  
      git push origin --delete 삭제할_신규_브랜치 : 원격 레포지토리의 잘못 만든 브랜치를 삭제
    4. git switch 메인2 : 새 브랜치의 기반이 될 베이스 브랜치(신규 작업의 베이스)로 이동
      git pull upstream 메인2 : 팀 저장소(upstream)의 최신 코드를 베이스 브랜치에 반영
    5. git switch -c 신규_브랜치명 : 새로운 브랜치를 로컬에서 우선 생성
    6. 로컬에서 파일 작업 진행 
    7. git add . 또는 파일명 
      git commit -m "커밋 메세지"
      git push -u origin 신규_브랜치명 : 새로운 브랜치를 원격 레포지토리에 연결

 

왼쪽 : 기존 브랜치오른쪽 : 신규 브랜치
왼쪽 : 기존 브랜치 / 오른쪽 : 신규 브랜치 ⇒ 브랜치를 이동(switch)하면서 여러 작업을 동시에 가능

 

 

2. SQL ORDER BY 정렬 기준

📃보편적인 기준 

ASC = 오름차순(↑) DESC = 내림차순(↓)
  • 숫자: 작은 → 큰
  • 문자: A → Z / ㄱ → ㅎ
  • 날짜/시간: 오래된 → 최신
  • 정렬 느낌: “위로 쭉 올라가는 느낌”, 증가!
  • 숫자: 큰 → 작은
  • 문자: Z → A / ㅎ → ㄱ
  • 날짜/시간: 최신 → 오래된
  • 정렬 느낌: “아래로 내려오는 느낌”, 감소!

 

📌 날짜·시간 기준

표현 기준 정렬 방식 정렬 예시
최신순 더 최근이 위 DESC 25-12-31, 25-12-30 ... 24-01-01
오래된순 오래된 것이 위 ASC 24-01-01, 24-01-02 ... 25-12-31
빠른 시간순 더 이른 시간(앞선 시점) ASC 09:00, 10:00, 11:00 ...
늦은 시간순 더 뒤 시간(나중 시점) DESC 11:00, 10:00, 09:00 ...

 

 

3. SQL JOIN 종류 

SQL JOIN의 종류 (구글 검색 결과를 바탕으로 새로 제작)
SQL JOIN의 종류 (구글 검색 결과를 바탕으로 새로 제작)

 

1) JOIN ( = INNER JOIN ) 

  • 두 테이블 모두에 존재하는 데이터만 필요하고 나머지 누락 데이터는 필요 없을 때 사용
  • JOIN = INNER JOIN 이므로 둘은 같음.
  • 사용 예시
    • 카테고리 + 상품 → 카테고리에 속한 상품만 뽑고 싶을 때
    • 주문 + 사용자 → 주문을 한 사용자만 보고 싶을 때

 

2) LEFT JOIN

  • 기준 테이블 데이터를 전부 보고, 외래 테이블에서는 데이터가 있으면 매칭하여 불러옴
  • 실무에서 가장 많이 쓸 JOIN
  • 사용 예시 
    • 상품을 모두 표기하고, 해당 상품의 주문을 나열 ⇒ 주문이 없어도 상품 나열
    • 유저 목록은 모두 표기하고, 리뷰는 있는 것만 나열.

 

3) RIGHT JOIN

  • 오른쪽이 기준 테이블로 사용 해야 할 때 사용.
  • 사용 예시
    • 상품이 없어도 월별  매출 테이블은 모두 표기

 

4) FULL JOIN ( = OUTER JOIN )

 

  • 두 데이터셋을 “합집합” 형태로 비교해야 할 때
  • 양쪽 모두의 전체 데이터를 보여주고, 없는 건 NULL로 채움
  • 사실 LEFT / RIGHT / FULL JOIN 모두 OUTER JOIN 의 일종
  • 사용 예시
    • 전체 상품 목록 + 전체 주문 목록 일괄 비교

 

📃 내일은 뭘 배울까 🤔

- SQL 명령어 우선 순위 비교

반응형