1. 숫자 연산
SELECT
sum(food_preparation_time)
-- 음식 준비 시간 합산
total_food_preparation_time
-- 배달 평균 시간
, avg(delivery_time) avg_delivery_time
FROM food_orders
select
-- 테이블 전체의 데이터(행) 개수 조회
count(1) count_of_orders,
-- 고객 수 조회
count(distinct customer_id) count_of_customers
from food_orders
SELECT
-- 가격 최솟값
min(price) min_price
-- 가격 최댓값
, max(price) max_price
FROM
food_orders
2. 범주별 연산(Group by)
-- 기본 구조 : GROUP BY 카테고리컬럼
GROUP BY pay_type
3. 결과 정렬 (Order by)
-- Order by 뒤에 한 개 이상의 칼럼 나열
SELECT
*
FROM
customers c
ORDER BY
gender
, name -- 먼저 gender 기준으로 정렬한 뒤, name 기준으로 재정렬
5. SQL 기본 구조 복습
-- 익숙해져야 한다!!
SELECT
FROM
WHERE
GROUP BY
ORDER BY
[ 딴생각 ] SQL 구문은 왜 이런 형태로 작성할까?
FROM이 먼저 오는 게 편할 것 같은데, SELECT를 먼저 작성해야 해서 불편했다.
(그리고 외우는 것도 귀찮음)
왜 이렇게 설계했을까?
그리고 왜 나는 이 구조가 왜 불편할까?
고민하다가 결국 GPT 찬스 사용.
▶ GPT의 답변은 이러했다.
"SQL의 설계 원리는 사람이 읽고 쓰기 쉬운 자연스러운 문법을 따르면서도, 내부적으로 최적화된 실행 순서를 제공하는 데 초점이 맞춰져 있습니다."
근데 왜 나는 불편하냐.. 나는 사람이 아닌 것인가..
존재론적 고민까지 이어지던 찰나에 든 생각.
...맞다. 이거 개발한 사람은 영어쓰지?
바보 같은 고민을 하고 있었다. 영미권 화자가 개발했으니 당연히 영어의 어순을 참고했겠지...
▶ 영어 문장 예시
→ "I want to SELECT these columns FROM this table WHERE this condition applies."
▶ 한국어 문장 예시
→"(From)이 테이블에서 (Where)이 조건을 만족하는 (Select)열들을 선택하고 싶다."
! 결론 = 그냥 내가 영어에 익숙하지 않아서 불편했던 거였다.
▶ [ SQL ] 라이브 세션 정리 내용
▶ [ 직무 ] 라이브 세션 정리 내용