728x90
반응형
1. 1주차 복습
- SQL문의 기본 구조
SELECT # '데이터 조회'의 명령어로 필수 구문
FROM # '어디에서 데이터를 조회할까'의 명령어로 필수 구문
WHERE # 조건을 지정해주는 구문
- 조건을 지정하는 방법
- 비교연산자 : <, >, =, <>
- 다양한 구문 : IN,BETWEEN,LIKE
- 여러가지 조건의 적용 : AND, OR, NOT
2. 숫자 연산
- 숫자연산 종류 : +, -, *, /
- 숫자 연산의 사용 예시 : 상품 준비시간과 배달시간의 합계 구하기
SELECT food_preparation_time,
delivery_time,
food_preparation_time + delivery_time as total_time
FROM food_orders
결과 이미지처럼 total_time에 두 컬럼의 합계가 나온다(곱하기 빼기도 동일)
3. 기본 연산 합계와 평균
- 함수 종류
- 합계 : SUM(컬럼)
- 평균 : AVG(컬럼)
- 예시 : 상품 준비시간의 합계와 평균 구하기
SELECT SUM(food_preparation_time) total_food_preparation_time,
AVG(delivery_time) avg_food_preparation_time
FROM food_orders
sum()까지는 이해가되었고 그 뒤의 total food랑 avg food같은 부분은 합하거나 평균을 냈을 때 컬럼명/별명이라 생각하면될것같다
4. 갯수 구하기
- 함수 종류
- 데이터 갯수 : COUNT(컬럼) / 컬럼명 대신 1 혹은 * 사용가능
- 몇개의 값을 가지고 있는지 구할 때 : DISTINCT(중복 값 제외)
- 예시
- 데이터 갯수 : 주문 테이블의 전체 주문은 몇건인가?
- 몇개의 값을 가지고 있는지 구할 때 : 주문을 한 고객은 몇명인가?
- 예시 : 주문건수와, 주문 한 고객 수 구하기
SELECT COUNT(1) count_of_orders,
COUNT(DISTINCT customer_id) count_of_customers
FROM food_orders
distinct는 중복된 값은 갯수로 치지 않는 것같다, 일반 그냥 count는 중복상관없이 모든 값의 갯수를 알려주는듯!!
5. 최솟값과 최댓값
- 함수 종류
- 최솟값 : MIN(컬럼)
- 최댓값 : MAX(컬럼)
- 예시
SELECT MIN(price) min_price,
MAX(price) max_price
FROM food_orders
min(price) -> price컬럼의 가장 작은 값을 min_price컬럼명으로 알려줘 이런 느낌인 것같다.
max도 똑같이 !!
6. [실습] WHERE절로 원하는 데이터를 뽑고, 계산해보기
6-1. 주문 금액이 30,000원 이상인 주문건의 갯수 구하기
1. Query 를 적기 전에 흐름을 정리해보기
- 어떤 테이블에서 데이터를 뽑을 것 인가 - 주문 테이블
- 어떤 컬럼을 이용할 것인가 - 주문 금액, 주문 번호
- 어떤 조건을 지정해야 하는가 - 30,000원 이상
- 어떤 함수 수식을 이용해야하는가 - 갯수 구하기
2. 구문으로 만들기
- 어떤 테이블에서 데이터를 뽑을 것 인가 - food_orders
- 어떤 컬럼을 이용할 것인가 - price, order_id
- 어떤 조건을 지정해야 하는가 - price >= 30000
- 어떤 함수 수식을 이용해야하는가 - count(1)
3. 전체 구조로 합치기
SELECT count(1) count_of_orders
FROM food_orders
WHERE price >= 30000
count(order_id) count_of_orders도 가능하다! count_of_orders는 컬럼명||별명
6-2. 한국 음식의 주문 당 평균 음식가격 구하기
1. Query 를 적기 전에 흐름을 정리해보기
- 어떤 테이블에서 데이터를 뽑을 것 인가 - 주문 테이블
- 어떤 컬럼을 이용할 것인가 - 주문 금액, 음식 종류, 주문 수량
- 어떤 조건을 지정해야 하는가 - 한국 음식인것만
- 어떤 함수 수식을 이용해야하는가 - 평균값구하기
2. 구문으로 만들기
- 어떤 테이블에서 데이터를 뽑을 것 인가 - food_orders
- 어떤 컬럼을 이용할 것인가 - price,quantity,cuisine_type
- 어떤 조건을 지정해야 하는가 - cuisine_type = 'Korean'
- 어떤 함수 수식을 이용해야하는가 - AVG(price)
3. 전체 구조로 합치기
SELECT AVG(price) average_price
FROM food_orders
WHERE cuisine_type = 'Korean'
AS를 빼는 방법으로 사용을 해보고있다 :ㅁ
차근차근 풀어나가니까 생각보다 할만하다! 문제에 필요한 컬럼 찾는 연습도 해주면 좋을 것 같다.
728x90
반응형
'❄️ 내일배움캠프 7기' 카테고리의 다른 글
[사전캠프/SQL] SQL 구조 마스터, 2주차 숙제 (0) | 2024.09.06 |
---|---|
[사전캠프/SQL] GROUP BY,ORDER BY (0) | 2024.09.06 |
[사전캠프/JAVA] JAVA 톺아보기 (1) | 2024.09.05 |
[사전캠프/SQL] 이제 좀 벌었으니 flex 한 번 해볼까요 (0) | 2024.09.05 |
[사전캠프/SQL] 돈을 벌기 위해 일을 합시다! (0) | 2024.09.05 |