수업 완료/데이터 베이스(학교수업)

oracle SQL developer명령어 공부.2

후엥_ 2023. 5. 22. 10:15
728x90
반응형

1. AS 문

AS문은 열의 이름을 부여한다. 예시를 한번 보자

 

SELECT SUM(saleprice) AS 총매출

FROM Orders;

 

이렇게 할 경우 원래 SUM(saleprice)라고 적힌 열의 제목이 

총매출로 변경되어 올라오게 된다.

 

2. HAVING 

 

HAVING문은 GROUP BY의 답변을 나타나는 그룹을 제한하는 역할을 한다.

WHERE 문과 비슷하지만 HAVING 문은 BROUP BY의 답변의 조건만 설정할 수 있다.

 

SELECT custid, COUNT(*) AS 도서 수량

FROM Ordes

WHERE saleprice >= 8000

GROUP BY custid

HAVING count(*)>= 2;

 

라고 한다면 

열을 custid와 도서 수량의 열을 제작 한뒤 

saleprice 가 8000원 이상이며 

custid의 갯수를 세고

그게 2개 이상인것만 출력하라는 해석이 되게 된다.

 


3. 조인

조인은 조금 복잡하다. 한 테이블에 다른 테이블의 행에 연결하여 두 개 이상의 테이블을 결합하는 연산이다.

 

 

1) 카티션 프로덕트 연산

SELECT *

FROM Customer, Orders;

 

한마디로 Customer * Orders 와 같다고 보면 된다.

 

 

2) 동등조인

 

SELECT *

FROM Customer, Orders

WHERE Customer.custid = Orders.custid;

 

 

이거는 조인은 하되 custid의 기본키가 존재하니 custid를 기준으로 두 개의 릴레이션을 합치라는 내용이다.

여기서 WHERE Customer.custid 는 길어서 보기 힘들니까 줄여 보겠다.     

SELECT *

FROM Customer c, Orders o

WHERE c.custid = o.custid;

 

이렇게 하면 Customer은 c로 치환 할 수 있다고 한다. 

그래서 WHERE문을 c.custid로 사용 가능하다.

 

 

728x90
반응형