MySQL - AND/OR, 갯수 확인, 그룹화, 최소값/최대값, 평균 구하기

반응형

  • 예시에 사용 할 'books' 테이블
  • select * from books;


AND : 조건을 모두 충족하는 것

  • 페이지(pages)가 100이상이고 200이하인 데이터 출력
    • 100이상이고 200이하의 조건을 모두 충족해야하므로 and 사용
    • select * from books where pages >= 100 and pages <= 200;


between and : 범위 지정

  • between과 and를 사용하여 범위 지정을 편히 할 수 있음
  • between A and B : A와 B가 포함된 범위 표시
  • 페이지(pages)가 100이상이고 200이하인 데이터 출력
    • select * from books where pages between 100 and 200;


OR : 조건 중 하나라도 만족하는 것

  • 작가의 성(author_lname)이 Chabon이거나 Eggers인 데이터 출력
    • Chabon과 Eggers 중 둘 중 하나라도 만족하면되므로 or 사용
    • select * from books where author_lname like 'Chabon' or author_lname like 'Eggers';


in(data1, data2, data3, ...) : 데이터들이 포함되는 것들 표시, OR과 비슷하게 사용

  • 작가의 성(author_lname)이 Chabon이거나 Eggers인 데이터 출력
    • select * from books where author_lname in ('Chabon', 'Eggers');


데이터의 갯수 확인하기 (count)

  • count(데이터) : 데이터 행의 갯수를 확인
  • books 테이블의 총 몇 명의 작가(author_fname) 데이터가 있는지 확인
  • select count(author_fname) from books;
    • 주의 : 출력되는 19는 현재 입력된 데이터의 총 갯수이므로 중복 제거 진행

  • select count(distinct author_fname) from books;
    • 같은 작가의 다른 작품도 다 포함되어 있으므로 작가의 이름을 중복제거 하여 총 인원을 확인


데이터를 그룹화하기 (group by)

  • group by : 데이터의 중복을 제거하고 각각의 데이터들을 출력
  • 그룹화는 컬럼의 갯수 상관 없이 순서대로 기입 가능 group by (c1, c2, c3...)
  • 주의 : 중복된 데이터에 해당하는 다른 컬럼 출력시 가장 위의 데이터로 출력

 

  • books 테이블의 모든 작가의 이름(author_lname) 확인
  • select author_lname from books group by author_lname;


having : 그룹별로 특정 수식이 필요 할 경우 사용 (= where)

  • select * from 테이블 group by 컬럼 having 수식
    = select * from 테이블 where 수식 group by 컬럼

응용) 작가별로 책을 몇권을 썼는지 확인해보기

  • select author_lname, count(*) from books group by author_lname;


최소값/최대값 구하기 (min/max)

  • min : 데이터에서 최소값을 출력
  • 페이지(pages)수가 가장 적은 값 출력
    • select min(pages) from books;

 

  • max : 데이터에서 최대값을 출력
  • 페이지(pages)수가 가장 많은 값 출력
    • select max(pages) from books;


합 구하기 (sum)

  • sum : 데이터에서 모든 값의 합을 출력
  • 책의 모든 페이지(pages) 수 구하기
    • select sum(pages) from books;


평균 구하기 (avg)

  • avg : 데이터에서 평균 값을 출력
  • 모든 책 페이지(pages)의 평균 확인하기
    • select avg(pages) from books;

 

반응형