목록오라클 (21)
K 개발자
GROUP BY 문 SQL문에서 GROUP BY 절을 사용하면 같은 속성값끼리 그룹을 만들 수 있다. HAVING 절은 GROUP BY 절의 결과가 나타나는 그룹을 제한하는 역할을 한다. 연습문제 -- 고객별로 주문한 도서의 총수량과 총판매액을 구하시오. SELECT custid, COUNT(*) AS 도서수량, SUM(saleprice) AS 총액 FROM Orders GROUP BY custid; -- 가격이 8,000원 이상인 도서를 구매한 고객에 대하여 고객별 주문 도서의 총수량을 구하시오. 단, 2권 이상 구매한 고객만 구하시오. SELECT custid, COUNT(*) AS 도서수량 FROM Orders WHERE saleprice >= 8000 GROUP BY custid HAVING co..
집계 함수 집계 함수aggregate function는 테이블의 각 열에 대해 계산을 하는 함수로 SUM, AVG, MIN, MAX, COUNT의 다섯 가지가 있다. 연습문제 -- 고객이 주문한 도서의 총판매액을 구하시오. SELECT SUM(saleprice) FROM Orders; -- 2번 김연아 고객이 주문한 도서의 총판매액을 구하시오. SELECT SUM(saleprice) AS 총매출 FROM Orders WHERE custid = 2; -- 고객이 주문한 도서의 총판매액, 평균값, 최저가, 최고가를 구하시오. SELECT SUM(saleprice) AS Total, AVG(saleprice) AS Average, MIN(saleprice) AS Minimum, MAX(saleprice) AS..
ORDER BY 절 SQL 문의 실행 결과를 특정 순서대로 출력하고 싶으면 ORDER BY 절을 사용한다. 정렬의 기본은 오름차순이다. 만약 내림차순으로 정렬하려면 열 이름 다음에 DESC 키워드를 사용하면 된다. 연습문제 -- 도서를 이름순으로 검색하시오. SELECT * FROM Book ORDER BY bookname; -- 도서를 가격순으로 검색하고, 가격이 같으면 이름순으로 검색하시오. SELECT * FROM Book ORDER BY price, bookname; -- 도서를 가격의 내림차순으로 검색하시오. 만약 가격이 같다면 출판사의 오름차순으로 출력하시오. SELECT * FROM Book ORDER BY price DESC, publisher ASC; /* ASC는 오름차순 */
WHERE 절 조건에 맞는 검색을 할 때는 WHERE 절을 사용한다. 조건으로 사용할 수 있는 술어predicate는 비교, 범위, 집합, 패턴, NULL로 구분할 수 있다. 술어 연산자 비교 =, , = 범위 BETWEEN 집합 IN, NOT IN 패턴 LIKE NULL IS NULL, IS NOT NULL 복합조건 AND, OR, NOT 문자열 검색 시 LIKE와 같이 사용하는 와일드 문자를 정리하면 다음과 같다. 와일드 문자 의미 + 문자열을 연결 % 0개 이상의 문자열과 일치 [ ] 한 개의 문자와 일치 [^] 한 개의 문자와 불일치 _ 특정 위치의 한 개의 문자와 일치 연습문제 -- 가격이 20,000원 미만인 도서를 검색하시오. SELECT * FROM Book WHERE price < 200..
SELECT 문 SQL의 SELECT 문은 데이터를 검색하는 기본 문장으로, 특별히 질의어query라고 부른다. SQL 문을 이해하기 위해 SELECT 문의 문장 구조를 살펴보면 다음과 같다. SELECT : 질의 결과 추출되는 속성 리스트를 열거한다. FROM : 질의에 어느 테이블이 사용되는지 열거한다. WHERE : 질의의 조건을 작성한다. 연습문제 -- 모든 도서의 이름과 가격을 검색하시오. SELECT bookname, price FROM Book; -- 모든 도서의 도서번호, 도서이름, 출판사, 가격을 검색하시오. SELECT bookid, bookname, publisher, price FROM Book; -- 도서 테이블에 있는 모든 출판사를 검색하시오. SELECT publisher FR..