본문 바로가기
Database/SQL

[SQL] SQLPlus 명령어 DML - 2탄

by 과외선생J 2020. 11. 17.
반응형

안녕하세요~ 과외선생 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탄으로 찾아뵙겠습니다.

오늘도 공부하신다고 고생하셨습니다~! 

 

반응형

댓글