[3] DBeaver - DBeaver 활용한 sql 2주차 강의
2024. 9. 16. 21:07ㆍDBeaver
728x90
※ 8월에 들었던 SQL강의 관련 포스팅
ㄴ 2주차 일부 쿼리
ㄴ 전체는 너무 길어서 일부만 캡쳐
1. 계산 / 합계,평균 / 데이터갯수 / 최대,최소값
ㄴ 1-1) 더하기, 나누기, 곱하기 사용
ㄴ 1-2) sum, avg 함수 사용
ㄴ 1-3) count 함수 사용
ㄴ 1-4) max, min 함수 사용
# 1-1) 계산
SELECT
컬럼명A + 컬럼명B as 별명
FROM 테이블명;
# 더하기, 곱하기, 나누기 (+) (*) (/) - 더하기에서 변경하여 사용 가능
# 컬럼A,B가 아닌 컬럼 + 10 이런형태로 숫자를 넣어서 계산도 가능
# 1-2) 합계, 평균값
SELECT
SUM(컬럼명A) 별명A,
AVG(컬럼명B) 별명B
FROM food_orders; # 합계, 평균값 구하기
# 합계는 SUM / 평균은 AVG이다.
# 1-3) 데이터 갯수 가져오기.
SELECT
COUNT(1) 별명A,
COUNT(DISTINCT 컬럼명) 별명B
FROM food_orders; # 카운트 갯수 가져오기
# COUNT() 함수는 갯수를 가져오는 함수다.
# COUNT(1), COUNT(*)은 전체 데이터 개수 / COUNT(컬럼명) 컬럼의 데이터 갯수이다.
# 1-4) 최소값, 최대값
SELECT
MIN(컬럼명A) 별명A,
MAX(컬럼명B) 별명B
FROM food_orders; # 최소,최대값
# 최소값은 MIN / 최대값은 MAX이다.
2. 1관련 실습 2문제
ㄴ 2-1) 주문금액 30000원 이상 주문건 갯수 구하기
ㄴ 2-2) 한국 음식의 주문 당 평균 음식 가격 구하기
# 주문금액 30000원 이상 주문건 갯수 구하기
SELECT COUNT(1) as order_count FROM 주문정보테이블 WHERE 주문금액컬럼 >= 30000;
# 한국 음식의 주문 당 평균 음식 가격 구하기
SELECT AVG(주문금액컬럼) as avg_price FROM 주문정보테이블 WHERE 음식점나라명컬럼 = 'Korean';
3. GROUP BY 구문 - 범주별 계산
ㄴ 3-1) 식당타입별로 주문금액 합계 구하기
ㄴ 3-2) 음식점이름별로 주문금액 최대값 구하기
ㄴ 3-3) 결제타입별로 가장 최근 결제일 조회하기
# 식당타입별로 주문금액 합계 구하기
SELECT
식당타입컬럼,
sum(주문금액컬럼) sum_of_price
FROM 주문정보테이블 GROUP BY 식당타입컬럼;
# 음식점이름별로 주문 금액 최대값 구하기
SELECT
음식점이름컬럼,
MAX(주문금액컬럼) max_of_price
FROM 주문정보테이블 GROUP BY 음식점이름컬럼;
# 결제타입별로 가장 최근 결제일 조회하기
SELECT
결제타입컬럼,
MAX(결제일컬럼) recent_date # 가장 최근이기 때문에 가장 큰 날짜추출을 위한 MAX(최대값 사용)
FROM 결제정보테이블 GROUP BY 결제타입컬럼;
4. 정렬 - order by ( 기본값 오름차순 )
ㄴ 4-1) 식당 나라별로 주문금액 합계를 구하고 합계 금액이 적은순으로 정렬
ㄴ 4-2) 음식점별 주문 금액 최대값 조회하기 - 최대값 기준으로 내림차순 정렬
ㄴ 4-3) 고객의 이름순으로 오름차순 정렬하기
# 식당 나라별로 주문금액 합계를 구하고 합계 금액이 적은순으로 정렬
SELECT
음식점나라이름컬럼,
sum(주문금액컬럼) sum_of_price
FROM 주문정보테이블
GROUP BY 음식점나라이름컬럼
ORDER BY sum(주문금액컬럼);
# 음식점별 주문 금액 최대값 조회하기 - 최대값 기준으로 내림차순 정렬
SELECT
식당이름컬럼,
MAX(주문금액) max_of_price
FROM 주문정보테이블
GROUP BY 식당이름컬럼
ORDER BY MAX(주문금액) DESC;
# 고객의 이름순으로 오름차순 정렬하기
SELECT 고객이름컬럼 FROM 고객정보테이블 ORDER BY 고객이름컬럼 ASC; # 오름차순은 자동으로 정렬되어 ASC를 입력하지 않아도됨.
5. 최종 실습
ㄴ음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기
# 음식 종류별 가장 높은 주문 금액과 가장 낮은 주문금액을 조회하고, 가장 낮은 주문금액 순으로 (내림차순) 정렬하기
SELECT
음식나라이름컬럼(음식종류컬럼),
MIN(주문금액) AS min_price,
MAX(주문금액) AS max_price
FROM 주문정보테이블
GROUP BY 음식나라이름컬럼(음식종류컬럼)
ORDER BY MIN(주문금액) DESC;
ㄴ 음식종류별 - GROUP BY로 음식종류컬럼을 묶어라
ㄴ 가장 높은 주문금액 - MAX()로 금액 추출
ㄴ 가장 낮은 주문금액 - MIN()으로 금액 추출
ㄴ 가장 낮은 주문금액 순으로 내림차순 정렬 - ORDER BY로 MIN(주문금액)으로 묶고, DESC로 정렬하라.
※ 종합하면 위와 같은 쿼리문이 형성됩니다.
728x90
'DBeaver' 카테고리의 다른 글
[5] DBeaver - DBeaver 활용한 SQL 4주차 강의 (4) | 2024.10.11 |
---|---|
[4] DBeaver - DBeaver 활용한 SQL 3주차 강의 (8) | 2024.09.17 |
[2] DBeaver - DBeaver 활용한 SQL 1주차 강의 (2) | 2024.09.13 |
[1] DBeaver - window10에서 설치 (0) | 2024.08.15 |