Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

나의 기록

[데이터분석] 원하는 컬럼 선택, 별명주기, where, BETWEEN, IN, LIKE 본문

개발일지

[데이터분석] 원하는 컬럼 선택, 별명주기, where, BETWEEN, IN, LIKE

리베린 2023. 12. 18. 20:34

#데이터분석 #sql

  • SELECT: 데이터를 가져오는 기본 명령어, 데이터를 조회하는 모든 Query에 사용됨
  • FROM: 데이터를 가져올 테이블을 특정해주는 문법
  • * : 모든 컬럼을 가져와준다는 의미

1) 원하는 컬럼 선택

  • 필요한 컬럼만 선택하여 조회 가능
  • 모든 것을 조회하는 * 대신 필요한 컬럼 작성
select 컬럼1, 컬럼2
from 테이블
  • 주문 테이블에서 주문번호와 식당 이름만 필요할 때
select order_id, restaurant_name
from food_orders

2) 컬럼에 별명(alias) 을 주기

방법1 : 컬럼1 as 별명1
방법2 : 컬럼2 별명2
  • 별명 지을 때 유의사항
  • 예시

1) order_id 를 ord_no 로,

2) restaurant_name 을 식당 이름 으로,

select order_id as ord_no,
restaurant_name "식당 이름"
from food_orders

3) Where

select *
from 테이블
where 필터링 조건 (eg. 20살 이상)
select *
from food_orders
where cuisine_type='Korean'

4) 필터링을 할 때 유용한 표현 (비교연산)

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

5) BETWEEN, IN, LIKE

- BETWEEM : A 와 B 사이

  • 기본 문법 : 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)

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

  • 특정한 문자로 시작하는 경우
  • 기본 문법 : like ‘시작문자%
  • 예시 : ‘김’ 으로 시작하는 이름
name like '김%'
  • 특정한 문자를 포함하는 경우
  • 기본 문법 : like%포함문자%
  • 예시 : 식당 이름에 ‘Next’ 를 포함하는 경우
restaurant_name like '%Next%'
  • 특정한 문자로 끝나는 경우
  • 기본 문법 : like%시작문자’
  • 예시 : ‘임’ 으로 끝나는 이름
name like '%임'

ex 1) 주문 (food_orders) 테이블에서 한국음식이면서, 가격이 30,000원 이상인 경우 조회

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

ex 2)결제 (payments) 테이블에서 카드로 결제했거나, vat 율이 0.2 이하인 경우 조회

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

6) 자주 만날 수 있는 에러메세지

1) 테이블 명을 다르게 적었을 때 → 테이블이 존재하지 않는다는 메시지

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

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

실수분석

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

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

select에 저 두 개 집어넣어야 하는데, * 입력했었음.

Korean인데 Korea라고 함.

그 외 Perfect!