오늘은 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
▲최대주문금액을 기준으로 내림차순 정렬 되었음
오늘 하루도 끝~!