[TIL #5]

이상현·2024년 7월 30일

[ TIL ]

목록 보기
5/38

SQL

1. sql에 대해 다시 공부해 보자.

  • SQL을 사용할때 컬럼에 별명(alias) 을 부여 할 수있다.
    두가지 방법이 두가지 존재한다.
    • 방법1 : 컬럼1 as 별명1
    • 방법2 : 컬럼2 별명2
ex)
SELECT restaurant_name as "음식점", 
		addr address
FROM food_orders

2. 필터링 할 때 유용한 표현 알아보기

1) 비교연산자는 모두 사용가능

  • 같음,큼,작음 등 모두 사용 가능
  • 같지않다는 <>로 표현

2) 다양한 조건의 종류 (BETWEEN, IN, LIKE)

  • BETWEEN : A 와 B 사이
select *
from food_orders
where price between 20000 and 30000
  • IN : '포함"하는 조건 주기
SELECT  *
FROM customers c
WHERE age in (21,25,27) 
  • LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
select *
from food_orders
where restaurant_name like 'B%'
//테이블에서 B로 시작하는 상점의 주문을 조회하기 때문에 B뒤에 % 붙혀준다.

3. 여러 개의 조건으로 필터링 하기

논리연산자의미예시
AND그리고age>20 and gender=’female’
→ 나이가 20세 이상이고, 여성
OR또는age>20 or gender=’female’
→ 나이가 20세 이상이거나, 여성
NOT아닌not gender=’female’
→ 여성이 아닌

사용방법만 간단히 알자

4. SQL로 계산하기

  1. SUM, AVG
select sum(food_preparation_time) total_food_preparation_time,
       avg(delivery_time) avg_delivery_time
from food_orders


sum과 avg를 계산한 결과.

  1. COUNT
  • 데이터 갯수 : COUNT(컬럼) 컬럼명 대신 1 혹은 사용 가능
  • 몇개의 값을 가지고 있는지 구할 때 : DISTINCT
select count(1) as total_count
from payments 

payments에 있는 데이터 개수를 구한다는 의미.

select count(distinct pay_type) as count_of_pay_type
from payments 

payments에 있는 pay_type의 종류의 개수를 구하기

  1. MIN, MAX
  • 최솟값 : MIN(컬럼)
  • 최댓값 : MAX(컬럼)
select min(price) min_price,
       max(price) max_price
from food_orders

5. GROUP BY

  • 레스토랑별 주문 금액 최댓값 조회하기
select restaurant_name,
		max(price) max_price
from food_orders
group by restaurant_name 

레스토랑별 최대 주문 금액을 알아야 하므로 resturant_name, max(price)를
적어 준 후 group by restaurant_name 을 통해 묶어준다.

6. ORDER BY

select cuisine_type,
       sum(price) sum_of_price
from food_orders
group by cuisine_type
order by sum(price) // 내림차순으로 정렬하고싶다면 desc를 뒤에 붙혀 준다.
  • 기본적으로는 order by는 오름차순으로 정렬을 해준다.
    • 내림차순 정렬을 원할때는 desc를 붙혀 준다.

내일중이면 강의 듣는것은 끝이 날 것같다.
캠이 도착하면 캠을 설치하여 운용해 보고 코드카타를 들어가면 될 것 같다.

profile
Node.js_6기

0개의 댓글