본문 바로가기
DATABASE/MySql 실습

[sql] 문법 count(), max(), min(), group by(), sub query() 사용법

by 코끼리똥11 2024. 5. 14.

COUNT 함수

COUNT 함수는 지정된 열이나 테이블의 레코드 개수를 반환한다.

 

select count(*)
from books;

books 테이블의 총 레코드 개수를 반환한다.

MAX 함수

MAX 함수는 지정된 열에서 가장 큰 값을 반환한다.

select max(pages)
from books;

books 테이블에서 가장 많은 페이지 수를 반환한다

MIN 함수

MIN 함수는 지정된 열에서 가장 작은 값을 반환한다.

select min(released_year)
from books;

books 테이블에서 작은 년도를 반환한다

GROUP BY

GROUP BY 절은 하나 이상의 열을 기준으로 데이터를 그룹화한다. 그룹화된 각 그룹에 대해 집계 함수(예: COUNT, MAX, MIN)를 사용할 수 있다.

select author_lname ,count(author_lname) as book_cnt
from books
group by author_lname;

 author_lname별로 책의 수를 그룹화하고, 각 작가별로 책의 개수를 반환한다.

서브쿼리 (Subquery)

서브쿼리는 쿼리 내에서 사용되는 또 다른 쿼리이다. 서브쿼리는 메인 쿼리의 일부로 사용되어, 복잡한 쿼리를 작성할 때 유용하다.

select max(pages)
from books;

select *
from books
where pages = (select max(pages) from books);

 

books 테이블에서 페이지 수가 가장 많은 책을 찾는 서브쿼리를 사용한 예이다

  1. 서브쿼리 실행: (SELECT MAX(pages) FROM books) 부분이 먼저 실행된다. 이 서브쿼리는 books 테이블에서 페이지 수가 가장 큰 값을 찾는다.
  2. 메인 쿼리 실행: 메인 쿼리는 pages 열의 값이 서브쿼리의 결과와 동일한 행을 선택한다. 즉, pages가 최대값인 책을 찾는다.