본문 바로가기
TIL

[TIL] SQL과 기본 쿼리

by 쾌횽 2023. 12. 22.
반응형

 

🥳 SQL이란 무엇인가?

관계형 데이터베아스에 정보를 저장하고 처리하기 위한 프로그래밍 언어이다.

관계형 데이터베이스는 엑셀과 같이 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한  관계를 나타낸다.

🥳 원하는 칼럼 선택하기

원하는 칼럼을 선택하기 위해서는 select로 선택할 수 있고 from은 테이블을 나타낸다.

select *
from customers

customers테이블의 정보를 모두 가져온다.

🥳 조건으로 필터링하기 (where)

select *
from customers
where gender='male'

where로 gender가 'male'인것만 가져올 수 있다.

🥳 between, In, like

select *
from customers
where age between 20 and 30

나이가 20과 30 사이 값

 

select *
from customers
where age in (29, 30, 31)

29, 30, 31을 포함하는것

 

select *
from customers
where name like '박%'

완전 똑같지는 않지만 비슷한 값을 조건으로 주기

시작문자%

'박'으로 시작하는 이름

🥳 함수 적용 (SUM, AVG, COUNT,MIN,MAX)

SUM = 합계

AVG = 평균값

COUNT = 데이터의 갯수

MIN = 최솟값

MAX = 최댓값

🥳 범주별 연산 (GROUP BY)

카테고리별로 계산할 수 있다.

select gender
from customers
group by gender

customers의 gender별로 선택했다.

🥳  정렬하기 (ORDER BY)

order by를 통해 오름 차순, 내림차순 정렬할 수 있다.

select restaurant_name,
	max(price) max_price
from food_orders
group by restaurant_name 
order by max(price) desc

food_orders의 테이블에서 식당이름으로 그룹선택한 후, 가격의 최대값을 기준으로 내림차순으로 정렬하였다.


 

🧐 오늘의 문제

1주차 숙제에서 상품준비시간이 20~30분 사이인 한국음식점의 식당명과 고객 번호를 조회하는 문제에서 많은 고민을 하였다..;;

 

🧐 문제를 위한 시도

select *
from food_orders
where cuisine_type = 'Korean'
and food_preparation_time between 20 and 30

 

🧐 결과

select restaurant_name, customer_id
from food_orders
where food_preparation_time between 20 and 30
  and cuisine_type='Korean'

너무 조건에만 신경쓰다 보니 select의 값을 넣어 주지 않았다.

 

🧐 배운점

항상 select와 from을 통해 기본적인 테이블을 지정하고 조건을 수행해야겠다. 

 

새롭게 배운 쿼리문이라 처음에는 조금 어렵게 느껴졌었지만 강의를 듣는 시간동안 계속해서 반복적으로 학습하다보니 저금은 적응해가고 있는것같다.

 

반응형

'TIL' 카테고리의 다른 글

[TIL] 스코프 (Scope)  (1) 2024.01.02
[TIL] 자바스크립트 기본 문법 숙제  (1) 2023.12.29
[TIL] SQL과 기본쿼리 3  (1) 2023.12.27
[TIL] SQL과 기본 쿼리 2  (0) 2023.12.26
[TIL] 자바스크립트와 제이쿼리  (2) 2023.12.21

댓글