카테고리 없음

엑셀보다 쉽고 빠른 SQL - 1주차, 2주차

gamzaa914 2025. 4. 23. 17:30

 

오늘은 SQL강의를 수강했다.

컴활 엑세스에서 봤던 코드들이라 좀 익숙한 느낌이었다.

 

 

SQL: 데이터베이스와 대화를 하기 위한 언어


 

1주차

 

1. SQL데이터 조회하기 (Select, From)

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

 

 

2. 데이터 필터링(Where)

Select *
From 테이블
Where 필터링 조건 (eg. 20살 이상)

 

 

  ex) 고객(customer)테이블에서 21살 이상인 사람

select *
from customers
where age=21

▲ age가 21인 사람들만 조회됨

 

  • 필터링은 숫자가 아닌 문자에도 사용이 가능한데, 문자를 사용할 때는 작은 따옴표를 사용한다.

 

 

3. 필터링을 할 때 유용한 표현(비교연산, Between, In, Like)

  • 비교연산자[=, <>(같지 않다), >, <, <=, >=]
  • Between A and B: A와 B사이
  • In: '포함'하는 조건
  • Like: 완전히 똑같지는 않지만 비슷한 갑을 조건으로 주기

 

  ex) 고객(customer)테이블에서 이름이 '이'로 시작하는 사람

select *
from customers
where name like '이%'

▲이름이 '이'로 시작하는 사람들만 조회됨

 

 

 



2주차

 

 

1. 계산하기(Sum, Average, Count, Min, Max)

 

ex) 주문가격의 최솟값, 최댓값 구하기

select min(price) as '최소주문값',
	   max(price) as '최대주문값'     #as는 별명 붙이기
from food_orders

 

 

 

ex) 한국 음식의 주문 당 평균 음식 가격 구하기

select avg(price) as '평균가격'
from food_orders
where cuisine_type = 'Korean'

 

 

 

 

2. Group By로 범주별 연산 한 번에 끝내기

select
from
where
group by
#기본구조

 

 

 

  ex) 음식점별 주문 금액 최댓값 조회하기

select restaurant_name, max(price) "최대주문금액"
from food_orders
group by restaurant_name

 

 

 

3. Order by 조회한 결과를 원하는 순서대로 정렬

 

  • 오름차순: 숫자가 점점 커지는 순서로 정렬 - asc
  • 내림차순: 숫자가 점점 작아지는 순서로 정렬 - desc
select
from
where
group by
order by
#기본구조

 

  ex) 음식점별 주문 금액 최댓값 조회하기 - 최댓값 기준으로 내림차순 정렬

select restaurant_name, max(price) "최대주문금액"
from food_orders
group by restaurant_name 
order by max(price) desc

▲최대주문금액을 기준으로 내림차순 정렬 되었음

 

오늘 하루도 끝~!