SQL 1일차

텁텁·2025년 3월 24일

SELECT / FROM 문

원하는 곳에서 데이터를 가져오는 기본 명령어

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

1. 해당 테이블의 모든 데이터 조회

select * from food_orders;
//food_orders 테이블의 모든 데이터를 조회함

  • payments 테이블의 데이터 조회하기
    select * from payments;
  • customers 테이블의 데이터 조회하기
    select * from customers;

2. 필요한 항목만 뽑아서 조회하기

  1. 원하는 컬럼을 선택하기

    • 모든 테이블을 조회하는 * 대신에 조회할 컬럼명을 사용한다.
    select 컬럼1, 컬럼2 
    from 테이블;
    • 주문테이블에서 주문번호와 식당 이름만 필요할 때
    select order_id, restaurant_name 
    from food_orders;

  2. 컬럼에 별명(alias)을 부여

    • 컬럼을 추출해서 사용 시 해당 컬럼에 별명을 부여할 수 있다.
    방법1 : 컬럼1 as 별명1
    방법2 : 컬럼2 별명2
    • 별명 부여 시 유의 사항
    구분영문, 언더바특수문자, 한글
    방법별명만 적음"별명"으로 큰 따옴표 안에 적어줌
    예시ord_no"ord no"
    "주문번호"
    • '주문번호'와 '식당이름'을 조회하고 별명을 지어보자
    select order_id as ord_no, restaurant_name "식당이름"
    from food_orders;

  3. 컬럼을 선택하고 별명 지정하기

    • food_orders 테이블에서 order_id, price, quantity 를 가져와
      ord_no, 가격, 수량으로 별명 지어주기
    select order_id as ord_no, price as "가격", quantity as "수량" 
    from food_orders;
    • customers 테이블에서 name, email을 가져와서 이름, e-mail으로
      별명 지어주기
    select name "이름", email "e-mail" 
    from customers;

3. 데이터를 조건에 맡게 필터링하기 (WHERE)

필터링의 기초문법, WHERE 절을 알아보자

  1. WHERE 절의 개념
    • 데이터 중에 특정 조건을 필터링하는 역할
    • WHERE의 구조
    select * 
    from 테이블
    where 필터링 조건 ex) 20살 이상
    • 기본조건은 '='을 통하여 줄 수 있다.
      customers 테이블에서 21살인 사람을 필터링하는 예시
    select *
    from customers
    where age=21;
    • 문자로 필터링 시 작은 따옴표를 통해 사용 가능하다.
    select *
    from customers
    where gender='female';
  2. WHERE 절을 이용한 필터링 실습
    1. food_orders 테이블에서 한국음식을 주문한 경우 조회
    select *
    from food_orders
    where cuisine_type='korean';
    1. payments 테이블에서 카드로 결제한 경우 조회
    select *
    from payments
    where pay_type='card';

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

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

    • 필터링은 같다(=) 조건을 포함하여, 크다(<), 작다(>) 등을 모두 사용가능
    • 비교 연산자의 종류
    비교연산자의미예시
    =같다age=21
    gender='female'
    <>같지 않다(다르다)age<>21
    gender<>'female'
    >크다age>21
    >=크거나 같다age>=21
    <작다age<21
    <=작거나 같다age<=21
  2. 다양한 종류의 조건

    • BETWEEN : A 와 B 사이
      • 기본문법 및 예시
        기본문법 : between a and b
        where age between 10 and b
        //나이가 10~20 사이의 데이터 조회

    • IN : '포함'하는 조건 주기
      • 기본문법 및 예시
        기본문법 : in(A,B,C)
        age in (15, 21, 31)
        //나이가 15, 21, 31인 데이터 조회

    • LIKE : 완전히 똑같지는 않지만, 비슷한 값을 조건으로 주기
      • 특정한 문자로 시작하는 경우
        기본문법 : like '시작문자%'
        name like '김%'
        //이름이 '김'으로 시작하는 데이터 조회
      • 특정한 문자를 포함하는 경우
        기본문법 : like '%포함문자%'
        restaurant_name like '%Next%'
        //식당이름에 'Next'를 포함하는 데이터 조회
      • 특정 문자로 끝나는 경우
        기본문법 : like '%끝나는문자'
        name like '%임'
        //이름이 '임'으로 끝나는 데이터 조회
  3. WHERE 절에 비교 연산자 적용 실습

    • customers 테이블에서 나이가 40세 이상인 고객 조회
    select *
    from customers
    where age >= 40;
    • food_orders 테이블에서 주문 금액이 15,000원 미만인 고객 조회
    select *
    from food_orders
    where price < 15000;

  4. WHERE 절에 다양한 조건을 적용하기기

    • food_orders 테이블에서 주문 금액이 20,000 ~ 30,000원 사이인 고객 조회
    select *
    from food_orders
    where price between 20000 and 30000;
    • food_orders 테이블에서 B 로 시작하는 상점의 주문 조회
    select *
    from food_orders
    where restaurant_name like 'B%';
profile
차근차근

0개의 댓글