SELECT 컬럼1, 컬럼2
from 테이블명
SELECT restaurant_name as "음식점", addr address
from food_orders
컬럼에 별명 주는 방법
한글, 특수문자인 경우 큰따옴표 ("") 필수
(영문은 안붙여도 됨)
where
SELECT *
FROM customers
WHERE age=21
where
절에 사용할 수 있는 필터링 조건들
비교 연산자
- WHERE 테이블명>=
21 등 비교 연산자
사용 가능
- '같지 않다' : <>
SELECT *
from customers
WHERE gender <> 'male'
between
: 값1 ~ 값2 사이에 있는 값 추출하기 (값1, 값2도 포함됨)
SELECT *
from customers // 테이블명
WHERE age BETWEEN 21 and 23 // 컬럼명, 값1 ~ 값2 사이
in
: 컬럼 값 중 특정 값을 지정하여 추출하기
- '포함'하는 조건 추가하기
// ex) customers 테이블의 age 컬럼 값이 21, 25, 27인 행만 가져오기
SELECT *
from customers
WHERE age in (21, 25, 27)
like
: 비슷한 값 불러오기
// ex) name 컬럼에서 김씨 성인 이름들만 가져오기
SELECT *
from customers
WHERE name like '김%'
// 가운데 글자를 지정하려면 : %정%
where절에 여러가지 조건을 한번에 필터링하는 방법
and, or, not
// ex) customers 테이블에서 age가 21이상이고, gender가 male인 행 추출하기
// 'and' 사용하기
SELECT *
from customers
WHERE age >= 21
and gender = 'male'
// not은 <>사용과 같음
select food_preparation_time,
delivery_time,
food_preparation_time + delivery_time as total_time
from food_orders
select sum(food_preparation_time) total_food_preparation_time,
avg(delivery_time) avg_delivery_time
from food_orders
(ex 1)
select count(1) count_of_orders,
count(distinct customer_id) count_of_customers
from food_orders
// count(1) : 테이블의 모든 행의 개수 구해줘! ( * 또는 1 )
// 그 개수를 count_of_orders 라는 이름의 컬럼으로 보여줘
// distict : 테이블의 모든 행의 개수가 아니라, customer_id 컬럼에 몇개의 행이 있는지 구해줘
// ex) 주문 개수는 10개인데, 주문자는 5명이라면 -> 주문자의 수가 궁금한 것
(ex 2)
SELECT count(DISTINCT pay_type) as total_pay_type
from payments
// pay_type이 cash, card 2종류이기 때문에 테이블에 많은 행이 있어도 pay_type의 값은 2개라고 나옴
select min(price) min_price,
max(price) max_price
from food_orders
// price컬럼 중 최소값을 min_price이라는 이름의 컬럼으로 보여줘
ex) 한국음식점의 음식값 평균 구하기 -> 중국집, 타이집 등도 음식값 평균 구하고싶을때?
Group by
select cuisine_type,
sum(price) sum_of_price
from food_orders
group by cuisine_type
// select에 범주 별로 나누고 싶은 컬럼 적어주기
// group by에도 select에 적었던 컬럼 그대로 적어주기
desc
select cuisine_type,
sum(price) sum_of_price
from food_orders
group by cuisine_type
order by sum(price)
// 가져온 결과값을 sum(price) 기준으로 오름차순 정렬해줘
// 내림차순 정렬 하고싶으면 order by sum(price) 뒤에 desc 붙이면 됨
SELECT *
from customers
order by gender, name
// 고객테이블에서 성별 기준 오름차순 정렬 후 -> 성별 안에서 이름 기준 오름차순으로 정렬