집계 쿼리란 그 이름처럼 산술로써 집계하는 쿼리다.
SELECT COUNT(*) FROM 테이블명 [WHERE 열명=조건];
//테이블에 존재하는 [조건을 만족하는] 모든 행의 갯수
SELECT COUNT AS 노트북 FROM 코드캠프
//코드캠프 안에 노트북이 몇개 있는지 출력
SELECT COUNT(열명1), COUNT(열명2) FROM 테이블명;
//열명1과 열명2의 갯수를 별도로 센다.
//NULL은 집계함수가 세지 않는다.
SELECT COUNT AS 노트북 FROM 코드캠프 WHERE 지역 = 구로구
//구로구 안에 코드캠프 노트북이 몇개 있는지 출력
SELECT SUM(열명) FROM 테이블명;
//열의 합계를 구하여 출력한다.
//NULL 값은 무시한다.
SELECT SUM AS PRICE FROM TABLE
// PRICE 값의 합을 계산해준다.
SELECT AVG(열명) FROM 테이블명;
//열의 평균을 구하여 출력한다.
//NULL 값은 무시한다.
SELECT AVG AS PRICE FROM TABLE
// PRICE 값의 평균을 출력한다.
SELECT MIN(열명) FROM 테이블명;
SELECT MAX(열명) FROM 테이블명;
SELECT MIN(MONEY) FROM 마트
//마트 테이블 안에 있는 MONEY 의 최솟값을 구해준다.
SELECT MAX(MONEY) FROM 마트
//마트 테이블 안에 있는 MONEY 의 최댓값을 구해준다.
SELECT * FROM 테이블명 GROUP BY 열명;
//명시한 열명에 대해서 같은 열명을 쓰는 경우 하나의 그룹으로 취급한다.
//마치 DISTINCT를 지정했을 때처럼
SELECT COUNT(열명1), SUM(열명2) FROM 테이블명 GROUP BY 열명3;
//GROUP BY는 다른 집계함수와 쓰여야 그 힘을 발휘한다.
//열명3이 같은 경우로 묶어서 COUNT(열명1), SUM을(열명2)를 계산한다.
ORDER BY
: 어떤 테이블에서 조회하였을때 그 결과를 내림차순 or 오름차순으로 정렬하고 싶을 때 사용
SELCET * FROM (테이블명) ORDER BY (열명)
// asc 오름차순 (안붙여도 오름차순으로 나옴)
SELCET * FROM 마트 ORDER BY MONEY (asc)
// 마트 테이블 안에 있는 MONEY 를 오름차순으로 정렬해줘
// 1번이 가장 최솟값부터 차례대로 올라가는것!
// desc 내림차순
SELCET * FROM 마트 ORDER BY MONEY (desc)
// 마트 테이블 안에 있는 MONEY 를 내림차순으로 정렬해줘
// 1번이 가장 최댓값부터 차례대로 내려가는것!
// 여러개를 하고 싶은 경우 * 대신 그 값을 콤마 찍어서 넣어주면 된다.
SELCET 시금치가격, 배추가격 FROM 마트
ORDER BY 시금치가격 DESC 배추가격
// 시금치 가격은 내림차순으로
// 배추 가격은 오름차순으로 정렬
주의사항
ORDER BY
사용 불가한다.select name, price, isSoldout,
(select max(price) from product) as maxPrice
from product;
// (select max(price) from product)을 사용하여
// 상품 테이블에서 가격이 최대값인 상품을 조회하여
// 그 가격이름을 as를 통해 maxPrice로 바꿔서 상품 데이터를 조회한다는 의미입니다.