TIL

2024-10-10

ideas3624 2024. 10. 10. 18:08

1. 오늘 한일

오늘은 스파르타코딩클럽 사이트에 있는 ' 엑셀보다 쉽고 빠른 SQL 1주차' 시청하고 공부했습니다.

 

2. 배운내용

■ SQL 복습하기
  1) SQL문 이란 : DB에서 데이터를 조회하기 위한 언어로, SQL 문법을 이용하여 DB에 명령을 내리는 것을 Query 한다고 합니다.
  2) SQL문의 기본 구조
    - select : '데이터 조회'의 명령어로 필수 구문
    - from : '어디에서 데이터를 조회할까' 의 명령어로 필수 구문
    - shere : 조건을 지정해주는 구분.
  3) 조건을 지정하는 방법 
    - 비교연산자 : <,>,=,<>
    - 다양한 구문 : IN, BETWEEN, LIKE
    - 여러가지 조건의 적용 : AND, OR, NOT

■ 데이터 조회와 엑셀 함수 적용을 한번에 끝내기 (SUM, AVERAGE, COUNT, MIN, MAX)
  1) 숫자 연산 기호를 SQL에서 사용가능하다.
    - 숫자 연산의 종류 : + , - , * , /
    - 예시) (SELECT 컬럼01 , 컬럼02 , 컬럼01 + 컬럼02 as 별명) 
    - 해석) 컬럼 01, 02 를 가져오고 컬럼01,02의 합을 별명으로 가져와라


  2) 기본 연산, 합계와 평균 구하기
    - SQL에서는 계산의 편의를 위해 함수를 제공한다.
    - 사용방법은 엑셀과 유사하고, 유일하게 다른 점은 데이터의 범위가 아닌 계산 할 '컬럼'을 적어준다는 것이다.
    - 함수 종류 : 합계(SUM), 평균(AVG)
    - 예시) (SELECT 함수(컬럼) as 별명) ※ 별명을 안쓰면 '함수(컬럼)'으로 나오게된다.
    - 해석) 컬럼의 평균 or 합계를 구해주고 별명으로 가져와줘


  3) 전체 데이터의 갯수 구하기
    - 현재 테이블이 몇 개의 데이터를 가지고 있는지, 몇개의 값을 가지고 있는지도 구할 수 있다.
    - 함수의 종류
      (1) 데이터의 갯수 : COUNT(컬럼) ※ 컬럼명 대신 1 혹은 * 사용 가능
      (2) 몇개의 값을 가지고 있는지 구할 때 : DISTINCT
    - 예시_01) (SELECT COUNT(1) as 별명) 
    - 해석_01) 모든 데이터의 개수를 세 주고 별명으로 가져와줘.

 


    - 예시_02) (SELECT COUTN(DISTINCT 컬럼) as 별명)
    - 해석_02) 컬럼의 갯수를 세 주고 별명으로 가져와줘.


   4) 데이터의 범위, 최솟값과 최댓값 구하기
     - 조회하는 데이터의 최솟값, 최댓값으로 범위도 구할 수 있습니다.
     - 함수 종류 : 최솟값(MIN), 최댓값(MAX)
     - 예시) (SELECT MIN(컬럼) as 별명), (SELECT MAX(컬럼) as 별명)
     - 해석) 컬럼의 최솟값, 최댓값을 구해주고 별명으로 가져워줘


■ [실습] WHERE 절로 원하는 데이터를 뽑고, 계산해보기 
  1) [실습] 주문 금액이 30,000원 이상인 주먼건의 갯수 구하기 (완료)


  2) [실습] 한국 음식의 주문 당 평균 음식가격 구하기 (완료)



■ GROUP BY로 범주별 연산 한 번에 끝내기
  1) 카테고리별로 숫자 연산을 간단하게 하기
    - 여러번의 Query없이, 카테고리를 지정하여 수식 함수로 연산을 할 수 있습니다.
    - 이 떄 사용되는 구문이 Group by 입니다. (반복문이랑 비슷한거 같습니다.)
  2) Group by 기본구조
    - 예시) (GROUP BY '카테고리 컬럼')
    - 해석) 카테고리 컬럼 지정.


  3) [실습] Group by 를 이용하여 카테고리별 연산해보기
    (1) 음식점별 주문 금액 최댓값 조회하기 (완료)


    (2) 결제 타입별 가장 최근 결제일 조회하기. (완료)



■ Query 결과를 정렬하여 업무에 바로 사용하기 (ORDER BY)
  1) Query 결과는 항상 동일한 순서로 출력될까
    - 동일한 순서로 출력되지 않았다. ORDER BY을 사용하여 원하는 값 기준으로 오름,내림차순으로 정렬이 가능하다.
  2) 정렬문 Order by 의 기본구조
    - 예시) (order by ('정렬을 원하는 컬럼'), sum('계산 컬럼') 둘다 가능) ※ desc : 내림차순, 생략하면 오름차순
    - 해석) 컬럼을 정렬하라, 원하는 계산으로 정렬 하라 


  3) [실습] Order by를 이용하여 데이터를 정렬해보기
    (1) 음식별로 주문 금액 최댓값 조회하기 - 최댓값 기준으로 내림차순 정렬 (완료)


    (2) 고객을 이름 순으로 오름차순으로 정렬하기 (완료)



■ SQL 구조 마스터 - WHERE, GROUP BY, ORDER BY 로 완성되는 SQL 구조
  1) 완성된 SQL 문의 기본 구조
    (1) select, from, where, group by, order by (순서 기억.)
      - select (데이터를 가져올 테이블을 특정해주는 문법)
      - from  (데이터를 가져올 테이블을 특정해주는 문법)
      - where (데이터를 필터링 하는 문법)
      - group by (그룹별로 연산하는 문법)
      - order by (오름차순, 내림차순으로 정렬해주는 문법)
  2) [퀴즈] 조회 할 데이터를 SQL 구조에 맞춰서 바꿔보기
    (1) 구조 맞춰보기 (완료)


    (2) 구조 맞춰보기 (완료)



■ 2주차 과제
  1) 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기 (완료)

 

3. 결론

오늘도 새로운 내용을 배울 수 있어서 재미있었습니다. 내일도 열심히 하겠습니다.

'TIL' 카테고리의 다른 글

2024-10-15  (0) 2024.10.15
2024-10-14  (0) 2024.10.14
2024-10-11  (1) 2024.10.11
2024-10-08  (3) 2024.10.08
2024-10-07  (0) 2024.10.07