oracle SQL developer명령어 공부.2
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로 사용 가능하다.