[SQL] SQLPlus 명령어 DML - 2탄
안녕하세요~ 과외선생 J 입니다.
이번 포스팅은 DML 명령어 2탄입니다!!
지난 포스팅에 이어서 계속 해보겠습니다.
* 본 포스팅은 중부기술교육원 수업과 한빛미디어 데이터베이스 개론과 실습 책을 기본바탕으로 공부한 뒤 작성되었음을 알립니다.
* 교재의 예제 위주로 이해를 돕기 위해 각 문법에 대한 해설을 달았습니다.
* SQLdeveloper를 사용하도 되나 SQLPlus로 수업을 하였기에 예제결과는 cmd창으로 보여드립니다.
1. SELECT 문
4) 정렬
select * from book order by bookname;
-> book 테이블에서 책을 검색, 출력 및 출력 시 책 이름순으로 정렬
-> 기본은 오름차순입니다.

select * from book order by price, bookname;
-> book 테이블에서 책을 검색, 출력 및 출력 시 가격과 책 이름순으로 정렬
-> 앞에 쓴 price가 기준, price가 같을 경우는 bookname으로 정렬

select * from book order by price DESC, publisher ASC;
-> 가격은 내림차순, 출판사는 오름차순으로 정렬
-> 가격이 우선, 가격이 동일할 경우 출판사를 오름차순으로 정렬
-> DESC : 내림차순 ASC : 오름차순

5) 집계함수
select sum(saleprice) from orders;
-> orders 테이블에 있는 saleprice의 총합을 계산 및 출력

select sum(saleprice) as 총매출 from orders;
-> orders 테이블에 있는 saleprice의 총합을 계산 및 출력, 출력하는 열의 이름을 총매출로 한다.
-> as 키워드를 사용하면 열이름을 지정할 수 있다.

select sum(saleprice) as 총매출 from orders where custid=2;
-> -> orders 테이블에 있는 saleprice 중 custid가 2인 경우의 총합을 계산 및 출력

select sum(saleprice) as total,
avg(saleprice) as average,
min(saleprice) as minimum,
max(saleprice) as maximum
from orders;
-> saleprice의 총합은 total, 평균(avg)은 average, 최소값(min)은 mininum, 최대값(max)는 maximum으로 검색 및 출력

select count(*) from orders;
-> orders 테이블에서 모든 행의 수를 검색, 출력
-> count : 괄호 안의 속성의 투플 개수를 세어서 출력

6) group by 를 통한 검색
select custid, count(*) as 도서수량, sum(saleprice) as 총액 from orders group by custid;
-> custid, 도서수량, 총액을 계산하여 출력하는데 custid별로 계산하여 출력

select custid, count(*) as 도서수량 from orders where saleprice>=8000 group by custid having count(*) >=2;
-> having : group by와 같이 쓰이며 그룹 제한 역할
-> saleprice가 8000원 이상인 행의 개수와 custid를 검색 출력하는데 custid 별로 묶을 때 count(*)값이 2이상인것만 출력
-> having - group by : 한세트
-> where - group by - having 순서로 사용

2탄도 끝입니다!! 다음시간에 3탄으로 찾아뵙겠습니다.
오늘도 공부하신다고 고생하셨습니다~!