--집계(통계)함수
--종류: sum()(합을 구할때), avg()(평균을 구할 때)
--max()(최댓값을 구할 때),min()(최소값을 구할 때), count()(표, 속성의 개수를 셀때)
--괄호 안에는 속성이 들어간다
--예를 들어 sum(price) : 가격의 총합, avg(가격의 평균), max, min도 이런 느낌
--집계함수는 select절에 적으면 된다.
--null값은 count에서 제외
select * from customer;
select * from book;
select * from orders;
--Q1. 모든 고객들이 주문한 도서의 총 판매액을 구하시오
select sum(saleprice) 총매출
from orders;
--Q2. 핸드폰 번호를 가지고 있는 고객 명수를 구하시오
select count(phone)
from customer;
--where phone = null (x)
--where phone is null(o)
--null의 경우에만 is사용
--Q3. 폰번호를 가지고 있지 않은 사람의 이름을 출력하시오
--Q3,4는 where 사용함
select name
from customer
where phone is null;
--Q3. 폰번호를 가지고 있는 사람의 이름을 출력하시오
select name 이름
from customer
where phone is not null;
--Q4.고객이 주문한 도서의 총판매액, 평균값, 최저가, 최고가를 구하시오. (주문된 가격에 의함)
--select * from orders; 한번 해보고 요소가 뭔지 찾기
select sum(saleprice) 총판매액, avg(saleprice) 평균값, min(saleprice)최저가, max(saleprice) 최고가
from orders;
--지우는 순서
--1. orders 2. customer or book
--만드는 순서
--1.customer or book 2. orders
--orders 테이블은 포린키가 있는데 오더스 테이블에서 커스트아이디가 커스토머테이블을
--레퍼런스(참조)하여서,오더스테이블의 북아이디가 북테이블을 레퍼런스하여서 오더스 먼저 삭제해야 함
--Q6. 출판사 종류의 개수는 총 몇개인가
select count(DISTINCT publisher)"출판사 종류의 개수"
from book;
--중복 제외(distinct)사용
--문자에 띄어쓰기 있으면 " " 쌍따옴표 써주면 됨
--★order by 정의 : 정렬할때 사용
--오름차운 asc(ascending), 내림차순 desc(descending)
--asc는 생략가능, 기본 값(defalut)이라서
select *
from book
order by price ; --오름차순 asc생략
select *
from book
order by price desc;--내림차순
select *
from book
order by bookname desc;--문자내림차순
--order by뒤에 속성을 여러 개 적을 수도 있다. 만약 첫번째 속성으로 정렬을 한뒤 가격이 동일한 책이 두개가 나오면
--그 안에서는 어떤 기준을 정렬할 것인가를 고민할 때 두번째 속성을 기준으로 정렬한다.
--Q7. 도서를 가격의 내림차순으로 검색하시오, 가격이 같다면 출판사의 오름차순으로 출력하시오
select *
from book
order by price desc,publisher asc;
요약
1) 집계(통계)함수
--종류: sum()(합을 구할때), avg()(평균을 구할 때)
--max()(최댓값을 구할 때),min()(최소값을 구할 때), count()(표, 속성의 개수를 셀때)
--집계함수는 select절에 적으면 된다.
2)★order by
-- 정의 : 정렬할때 사용
--오름차운 asc(ascending), 내림차순 desc(descending)
--asc는 생략가능
'데이터베이스 > 오라클' 카테고리의 다른 글
오라클 실습내용 7(조인) (0) | 2023.04.06 |
---|---|
오라클 실습 내용 6(group by/having) (0) | 2023.04.05 |
오라클 실습내용4(중복제거, 비교, in문법,%%문법,between) (0) | 2023.04.04 |
오라클 수업 한 파일 (0) | 2023.04.04 |
오라클 ZERO(쌍따옴표) (0) | 2023.04.04 |