✍🏻배운내용📚
1.데이터 필터링[ where ]이란?
2. 필터링 조건을 다양하게 지정하는 방법 : 비교연산자, BETWEEN, IN, LIKE
3. 여러개의 필터링 조건을 한 번에 적용하는 방법
4. 에러메세지에 대처하는 방법
1. 데이터 필터링이란?
→ 필터링의 기초 문법은 WHERE 절입니다.
[ WHERE 절의 개념 ]
→ 데이터 중에 특정 조건을 필터링 해야할 때 씁니다.
SQL 의 ‘WHERE’ 문법을 이용하면 전체 데이터 중 원하는 데이터만 필터링을 할 수 있습니다.
반드시 from문 다음에 있어야 합니다.
[ WHERE 의 구조 ]
select 컬럼
from 테이블
where 필터링 조건
[실습]
1) 기본 조건은 ‘=’ 을 통하여 필터링
고객 (customers) 테이블에서 21살인 사람을 필터링
select *
from customers
where age=21

2) 필터링은 숫자가 아닌 문자에도 사용 가능. 문자를 사용할 때는 '작은 따옴표'를 사용. (밑줄이 조건)
① 고객 (customers) 테이블에서 여성을 필터링
select *
from customers
where gender='female'

② 주문 (food_orders) 테이블에서 한국음식을 주문한 경우만 조회하기
[ 주의 ] SQL에서는 대분자와 소문자를 구분합니다.
select *
from food_orders
where cuisine_type = 'Korean'

③ 결제 (payments) 테이블에서 카드로 결제한 경우만 조회하기
select *
from payments
where pay_type='card'

2. 필터링 조건을 다양하게 지정하는 방법 (비교연산자, BETWEEN, IN, LIKE)
1) 비교연산자
[ 비교연산자의 종류 ]

[실습] 비교연산자
① 나이가 21세 미만인 고객을 조회
select *
from customers
where age <= 21

② 남성이 아닌 고객을 조회
select *
from customers
where gender <> 'male'

2) BETWEEM : A 와 B 사이 → between a and b
예시 : 나이가 10 과 20 사이 ⇒ where age between 10 and 20
3) IN : ‘포함’ 하는 조건 주기 → in (A, B, C)
예시1 : 나이가 15, 21, 31세인 경우 ⇒ where age in (15, 21, 31)
예시2 : 음식 종류가 한식, 일식인 경우 ⇒ where cuisine_type in ('Korean', 'Japanese')
예시3 : 이름이 윤주아와 정현준인 경우 ⇒ where name in (' 윤주아 ', ' 정현준 ')
4) LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
① 특정한 문자로 시작하는 경우 : like ‘시작문자%’
예시 : ‘김’ 으로 시작하는 이름 ⇒ name like '김%'
② 특정한 문자를 포함하는 경우 : like ‘%포함문자%’
예시 : 식당 이름에 ‘Next’ 를 포함하는 경우 ⇒ like ‘%포함문자%’
③ 특정한 문자로 끝나는 경우 : like ‘% 끝문자’
예시 : ‘임’ 으로 끝나는 이름 ⇒ name like '%임'
[실습] WHERE 절에 하나의 조건 적용하기
1. 고객 (customers) 테이블에서 나이가 40세 이상인 고객 조회하기
select *
from customers
where age >= 40

2. 주문 (food_orders) 테이블에서 주문 금액이 15,000원 미만인 고객 조회
select *
from food_orders
where price < 15000

3. 주문 (food_orders) 테이블에서 주문 금액이 20,000~30,000원 사이인 고객 조회(숫자 중간에 ,콤마 넣으면 에러)
select *
from food_orders
where price BETWEEN 20000 and 30000

4. 주문 (food_orders) 테이블에서 B 로 시작하는 상점의 주문 조회('따옴표' 안에 띄어쓰기하면 띄어쓰기까지 인식함)
select *
from food_orders
where restaurant_name like 'B%'

3. 여러개의 필터링 조건을 한 번에 적용하는 방법
1) WHERE 절에 여러 조건을 적용하기
여러개의 조건을 적용할 때 사용되는 연산이 ‘논리연산’ 입니다.
[ 논리연산의 종류 ]

예) ‘나이가 20세 이상인’, ‘여성 고객’ 두가지 조건 조회
select *
from customers
where age > 20 and gender = 'female'

[실습] 여러 조건을 적용하여 데이터 필터링하기
1.주문 (food_orders) 테이블에서 한국음식이면서, 가격이 30,000원 이상인 경우 조회
select *
from food_orders
where cuisine_type = 'Korean' and price >= 30000

2.결제 (payments) 테이블에서 카드로 결제했거나, vat 율이 0.2 이하인 경우 조회
select *
from payments
where pay_type = 'card' or vat <= 0.2

4. ⚠️에러메세지에 대처하는 방법 ( 당황하지 않고 스스로 문제 해결하기 )
에러메세지에서 확인 할 부분은 ‘에러코드’ 가 아닌 ‘왜 에러가 났는가’ 부분입니다.( ‘에러가 난 이유’ 를 확인 )

[ 자주 만날 수 있는 에러메세지 ]
⚠️테이블 명을 다르게 적었을 때 → 테이블이 존재하지 않는다는 메시지

⚠️컬럼 명을 다르게 적었을 때 → 필드명이 잘못 되었다는 메시지

⚠️필터링 조건을 줄 때 문자에 ‘ ‘ 작은 따옴표를 안했을 때 → Korea 에 문제가 있다는 메시지

👁🗨이 외에도 여러 경우가 있지만, 중요한 것은 ‘에러 메시지를 읽어보는 것’ 입니다. 📖
💡 [ Tip ] SQL 생각 흐름 🧠
1. 기본구조를 적기 : select from where
2. 데이터를 가져올 테이블을 적기 : from 테이블
→ 만약 조건이 잘 파악이 안 되면 (전체) 테이블만 우선 실행하여 결과를 보고 조건 찾기
3. 조건을 지정해서 적기 : where 조건
4. 원하는 컬럼만을 선택 : select 컬럼
다음 시간에는 'SQL을 이용하여 숫자 계산'에 대해 공부합니다📣
이전 내용이 궁금하다면 여기를 클릭 💨
SQL은 SQLD자격증 시험과 ADsP자격증 시험에서 나오는 내용이여서 공부해 놓으면 매우 유용합니다!!
ADsP 시험 정보가 궁금하신 분들은 여기를 클릭 💨
🏆 오늘 하루도 알차게 보낸 모두 좋은 하루 되세요🌆
'IT > SQL' 카테고리의 다른 글
[TIL] SQL_6일차(카테고리 만들기,수수료 구하기,cast( as )) (0) | 2024.03.29 |
---|---|
[TIL] SQL_5일차(replace,substr,concat,if/case) (0) | 2024.03.28 |
[TIL] SQL_4일차(Group by,Order by) (0) | 2024.03.27 |
[TIL] SQL_3일차(sum,avg,count,distinct,min,max) (0) | 2024.03.26 |
[Today I Learned] 엑셀보다 쉽고 빠른 SQL_1일차(SQL 설치 방법,select,from) (0) | 2024.03.22 |