max 함수 (최대값을 구한다.)
min 함수 (최소값을 구한다.)
먼저 아래의 sql를 작성해보자.

페이지수가 가장 많은 책은 몇페이지인가 ?
select max(pages)
from books;

페이지수가 가장 적은 책은 몇페이지인가 ?
select min(pages)
from books;

페이지 컬럼의 최대값, 최소값, 토탈값, 평균값을 모두 보여주세요.
select max(pages), min(pages), sum(pages), avg(pages)
from books;
// 이렇게 쓰면 컬럼 이름이 길어져서 정리가 안된 느낌이기 때문에 as를 사용해 이름을 바꿔서 조회한다.
select max( pages ) as max,
min( pages ) as min,
sum( pages ) as sum,
avg( pages ) as avg
from books;

아래의 sql를 작성해보자.

페이지수가 가장 긴 책의 제목, 작가이름, 페이지수를 보여주세요.
@해결책 1 : 정렬해서 해결 (order by)
select title, author_fname, author_lname, pages
from books
order by pages desc
limit 1;

@해결책 2 : pages의 max값을 구해서,
sub Query해서 해결한다.
select max(pages)
from books;

select title, author_fname, author_lname, pages
from books
where pages = 634;

이렇게 하려면 두번의 과정을 거쳐야하기 때문에 하나로 묶어서 실행해준다.
// 이것을 Sub Query 라고 한다.
select title, author_fname, author_lname, pages
from books
where pages = (select max(pages) from books);

위에 했던 과정들을 다시 정리해서 해보자

select title, released_year
from books
where stock_quantity = (select min(stock_quantity) from books);

재고가 가장 적은 책의 책 이름과 발행년도를 조회할 수 있다.

'Database > MySQL (DBeaver)' 카테고리의 다른 글
| [DBeaver-MySQL] : 문자열 변경하는 replace() 함수 (0) | 2025.01.12 |
|---|---|
| [DBeaver-MySQL] : 데이터 CRUD 키워드(insert, select, update, delete) (0) | 2025.01.12 |
| [DBeaver-MySQL] 테이블에 하나의 데이터 넣기 : insert into (1) | 2025.01.12 |
| [DBeaver-MySQL] 데이터 타입 - timestamp (0) | 2025.01.12 |
| [DBeaver-MySQL] 테이블 생성하기 (컬럼과 데이터타입) (0) | 2025.01.12 |