1주차(2)

Suhyeon Lee·2024년 8월 30일
0

필터링을 할 때 유용한 표현(비교연산, BETWEEN, IN, LIKE)

1. 같음, 큼, 작음 등의 조건 지정: 비교연산자

비교연산자의미예시
=같다age=21
gender=’female’
<>같지 않다(다르다)age<>21
gender<>’male’
>크다age>21
>=크거나 같다age>=21
<작다age<21
<=작거나 같다age<=21

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

  • BETWEEN: A와 B 사이
    BETWEEN a AND b
  • IN: ‘포함’하는 조건 주기
    IN (a,b,c)
  • LIKE: 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
    • 특정 문자로 시작하는 경우
      LIKE '특정문자%'
  • 특정 문자를 포함하는 경우
    LIKE '%특정문자%'
  • 특정 문자로 끝나는 경우
    LIKE '%특정문자'

3. [실습] WHERE 절에 비교 연산자 적용하기

  • 고객 테이블에서 나이가 40세 이상인 고객
SELECT	*
FROM 	customers
WHERE 	age >= 40
  • 주문 테이블에서 주문 금액이 15,000원 미만인 고객
SELECT	*
FROM 	food_orders
WHERE 	price < 15000

4. [실습] WHERE 절에 다양한 조건 적용하기

  • 주문 테이블에서 주문 금액이 20,000~30,000원 사이인 고객
SELECT	*
FROM 	food_orders
WHERE 	price BETWEEN 20000 AND 30000
  • 주문 테이블에서 B로 시작하는 상점의 주문
SELECT	*
FROM 	food_orders
WHERE 	restaurant_name LIKE 'B%'
  • 고객 테이블에서 이름이 ‘윤주아’, ‘정현준’인 고객
SELECT	*
FROM 	customers
WHERE 	name IN ('윤주아', '정현준')

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

1. WHERE 절에 여러 조건 적용하기

  • 논리연산을 이용해 여러 개의 필터링 조건을 하나의 Query문에서 적용할 수 있음
  • 논리연산의 종류
논리연산자의미예시
AND그리고age>20 AND gender=’female’
→ 나이가 20세 이상이고, 여성
OR또는age>20 OR gender=’female’
→ 나이가 20세 이상이거나, 여성
NOT아닌NOT gender=’female’
→ 여성이 아닌

2. [실습] 여러 조건을 적용하여 데이터 필터링하기

  • 주문 테이블에서 한국음식이면서, 가격이 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

에러메시지에 당황하지 않고 스스로 문제 해결하기

1. 에러메시지에 대처하는 자세

  • 에러메시지에서 가장 먼저 확인해야 할 부분: 왜 에러가 났는가
    • 에러코드 다음에 나오는 문장을 보면 에러가 난 이유를 설명해 줌

2. 자주 만날 수 있는 에러메시지

a. 테이블 명을 다르게 적었을 때 → 테이블이 존재하지 않는다는 메시지
b. 컬럼 명을 다르게 적었을 때 → 필드명이 잘못되었다는 메시지
c. 필터링 조건을 줄 때 문자에 작은 따옴표(’’)를 안 했을 때
d. 필터링 조건을 줄 때 문자에 작은 따옴표(’’)를 안 했을 때

  • 중요한 것은 ‘에러 메시지를 읽어보는 것’

1주차 숙제

💡 상품 준비 시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기

profile
2 B R 0 2 B

0개의 댓글