SQL - SELECT, FROM, WHERE을 이용한 데이터 조회 및 필터링

Leehyun·2025년 2월 17일
0

내일배움캠프

목록 보기
2/14
post-thumbnail

데이터베이스

데이터가 저장되어 있는 큰 폴더

  • 데이터베이스 안에는 '테이블'이라는 파일이 있다고 생각하면 됨!
  • 테이블 like 엑셀파일
    -> 각 열을 '컬럼', '필드' 라고 부름

SQL 데이터 조회하기

SQL은 '코드'가 아니라 데이터베이스에 요청을 하기 위한 '언어'

  • 기본적인 명령어
SELECT : 데이터를 가져오는 기본 명렁어, 데이터를 조회하는 모든 Query에 사용
FROM : 데이터를 가져올 테이블을 특정해주는 문법
* : 모든 컬럼을 가져오겠다는 의미
  • 예시
// payments 테이블의 데이터 조회
select *
from payments

모든 컬럼 말고 특정 컬럼만 보고 싶다면?
-> * 대신 원하는 컬럼명 적어주기

  • 예시
    // 주문 테이블에서 주문번호와 식당 이름만 뽑기
    select order_id, restaurant_name
    from food_orders

컬럼 이름 변경하기

  1. 컬럼 as 별명
  2. 컬럼 별명

    영문 및 언더바는 큰 따옴표("")없이 별명 써도 되지만, 특수문자 및 한글은 큰 따옴표 필수!

  • 예시
// 주문 테이블에서 order_id, price, quantity를 ord_no, 가격, 수량으로 별명 지어주기

select order_id ord_no, price as "가격", quantity "수량"
from food_orders

데이터 필터링(WHERE 사용)

  • WHERE의 구조
select *
from 테이블
where 필터링 조건 
  • 예시
// 21세인 고객 필터링
select *
from customers
where age = 21

필터링은 숫자 뿐만 아니라, 문자도 가능
But, 문자 사용할 때는 작은 따옴표('') 사용 잊지 말기 !

  • 예시
// 여성인 고객 필터링
select *
from customers
where gender = 'female'

데이터 필터링을 위한 유용한 표현 (비교 연산, BETWEEN, IN, LIKE)

  • 비교 연산자
    = , < , > ,<=, >= 다 사용가능 !!

    SQL 에서는 '같지 않다'는 != 가 아니라 <> 이다!
    ex) where age <> 21

  • BETWEEN, IN, LIKE
  1. BETWEEN (A와 B 사이)
    기본형 : between a and b (뜻: a와 b 사이)
    ex) where age between 10 and 20
  2. IN ('포함'하는 조건 주기)
    기본형 : in (A,B,C)
    ex) where age in (15, 21, 31)
  3. LIKE (완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기)
    기본형 : like '시작문자%' , like '%끝문자' , like '%중간문자%'
    % -> 아무 문자가 와도 상관없다라는 의미로 쓰임
    ex)
    where name like '김%' // 김으로 시작하는 이름
    where restaurant_name like '%Next%' // Next를 포함한 식당 이름
    where name like '%임' // 임으로 끝나는 이름

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

  • 여러 개의 조건을 이어주는 연산자
  1. AND -> 그리고, ~이면서
  2. OR -> 또는, ~이거나
  3. NOT -> 아닌

종합 예시 및 코드

  • 예시 : 상품 준비 시간이 20~30분 사이인, 한국음식점의 식당명과 고객번호 조회하기
  • 코드
select restaurant_name, customer_id
from food_orders
where food_preparation_time between 20 and 30 and cuisine_type = 'Korean'

내일도 화이팅 :)

profile
짱구가 코딩을..?

0개의 댓글