사전캠프/TIL

[TIL] 250205 11일차: sql 5,6,7강

yssummer 2025. 2. 7. 14:32

일 할 때 완전 유용할 것 같고 완전 기본적으로 필요할 것 같은 지식이다. 일하는 미래의 나에게 감정이입돼서 머리에 잘 들어오는 듯.

 

05. 조건에 맞는 데이터로 필터링하기 (WHERE 이란)

: 데이터 중에 특정 조건을 필터링 해야할 때 사용. ex) ’나이가 21살인 사람’ 만 따로 뽑고 싶을 때.

 

  WHERE 의 구조

select *
from customers
where age=21

 

select *
from customers
where gender='female'

   (mysql 쓸 때 대소문자 구분 안해도 됨.)

 

select *
from food_orders
where cuisine_type='Korean'
select *
from payments
where pay_type='card'

 

 

06. 필터링을 할 때 유용한 표현 알아보기 (비교연산, BETWEEN, IN, LIKE)

 1) 같음, 큼, 작음 등의 조건을 지정해보기

 다른 건 다 무난하고

 <> 같지 않다

 이게 새로웠음.

 

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

 - between a and b

  예시 : 나이가 10 과 20 사이'

where age between 10 and 20

 

 - IN : ‘포함’ 하는 조건 주기

  기본 문법 : in (A, B, C)

  예시1 : 나이가 15, 21, 31 세인 경우

age in (15, 21, 31)

 

  예시2 : 음식 종류가 한식, 일식인 경우

cuisine_type in ('Korean', 'Japanese')

 

 - LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기

  like ‘시작문자%

  예시 : ‘김’ 으로 시작하는 이름

name like '김%'

 

  like %포함문자%

  예시 : 식당 이름에 ‘Next’ 를 포함하는 경우

restaurant_name like '%Next%'

  like%끝나는문자’

  예시 : ‘임’ 으로 끝나는 이름

name like '%임'

 

 

07. 여러 개의 조건으로 필터링하기 (논리연산)

 예) ‘나이가 20세 이상인’, ‘여성 고객’ 두가지 조건 적용

  and, or, not 사용하기.

 

  -한국음식이면서, 가격이 30,000원 이상인 조건 지정

 

select *
from food_orders
where cuisine_type='Korean' and price>=30000

 

  -카드로 결제했거나, vat 율이 0.2 이하인 경우 조건 지정

select *
from payments
where pay_type='card' or vat<=0.2

 

끝.