본문 바로가기

DataBase(SQL)/DAY 25 _ 23.09.21

집계 함수 Basic

** review

-- 이중배열 : 매트릭스 / 배열 : 벡터 / 단 하나의 값 : 스칼라

-- table 옆에 별칭을 지정할 수 있고, .으로 그 안에 컬럼도 불러올 수 있당!
-- 컬럼 옆에 qq처럼 붙이면 bookname이 qq로 변경돼서 나옴!

SELECT aaa.BOOKNAME as qq, aaa.PRICE FROM book aaa WHERE aaa.PRICE < 20000;

** 집계 함수

SELECT SUM(SALEPRICE) FROM orders;
--> 함수 안에 벡터(= 하나의 열)를 넣으면 --> 스칼라값이 나옴


SELECT sum(SALEPRICE) AS sum FROM orders;
--> 이렇게 별칭을 지정해주면 벡터이름이 변경되는거겠지


-- SELECT sum(SALEPRICE), SALEPRICE, SALEPRICE  FROM ORDERS;
--> 이런식으로는 출력이안된다. sum은 스칼라 값만을 나타내는데, 행 개수가 달라지지?

-- 합계 / 평균 / 최고값
SELECT SUM(Saleprice), AVG(saleprice), MAX(SALEPRICE)  FROM ORDERS;.

-- 행의 개수 : count --> 벡터를 넣어도 같은 값이 나오겠지만은... (*)을 보통 자주 쓰지?
SELECT COUNT(*) AS numperson FROM ORDERS;

-- Q. 2번 김연아 고객이 주문한 도서의 총 판매액은?
SELECT sum(SALEPRICE) AS unaprice FROM ORDERS WHERE CUSTID = 2;

-- Q. 고객이 주문한 도서의 총 판매액, 평균값, 최저가, 최고가를 구하시오
SELECT SUM(SALEPRICE), AVG(SALE PRICE), MIN(SALEPRICE), MAX(SALEPRICE)  FROM ORDERS;

-- Q 마당서점의 도서 판매 건수를 구하시오
SELECT COUNT(*) FROM ORDERS o ; 

-- Q. 장미란이 구매한 도서 정가의 합을 구하세요 : 32000 
SELECT * FROM CUSTOMER;
SELECT * FROM ORDERS;
SELECT * FROM BOOK; 


SELECT CUSTID FROM CUSTOMER c WHERE NAME = '장미란';
SELECT BOOKID FROM ORDERS o WHERE CUSTID = 3;
SELECT SUM(PRICE) FROM BOOK b WHERE BOOKID = 6 OR BOOKID = 8 OR BOOKID = 10;
--> =으로하면 반복문 돌려야하고
--> in으로하면 한번에 가능
SELECT SUM(PRICE) FROM BOOK b WHERE BOOKID IN (6, 8, 10);

'DataBase(SQL) > DAY 25 _ 23.09.21' 카테고리의 다른 글

Where~in / inner join  (0) 2023.09.21
Sub Query  (0) 2023.09.21
Outer join  (0) 2023.09.21
Inner Join  (0) 2023.09.21
집계 함수 Quiz  (0) 2023.09.21