SELECT ROUND(4.875, 1)
FROM Dual;
-- ROUND는 위의 코드로보면 4.875를 소수점1자리만큼 나타내기
SELECT ABS(-78), ABS(+78)
FROM Dual;
-- ABS는 절대값을 나타내는 함수
SELECT TO_DATE('2014-07-01', 'yyyy-mm-dd')+5 BEFORE,
TO_DATE('2014-07-01', 'yyyy-mm-dd')-5 AFTER
FROM dual;
-- TO_DATE char형을 Date형으로 바꾸어준다
SELECT orderid "주문번호", TO_CHAR(orderdate, 'yyyy-mm-dd dy') "주문일",
custid "고객번호", bookid "도서번호"
FROM Orders
WHERE orderdate=TO_DATE('20140707', 'yyyymmdd');
SELECT sysdate, to_char(sysdate, 'yyyy/mm/dd dy hh24:mi:ss') "sysdate_1"
FROM dual;
-- sysdate는 현제 날짜를 가져오고, to_char로 문자로 yyyy/mm/dd dy hh24:mi:ss형식으로
-- 만들어준다
SELECT * FROM Mybook WHERE price is NULL;
-- NULL값이 있는지 없는지 확인할때 is NULL
SELECT ROWNUM "순번", custid, name ,phone
FROM Customer
WHERE ROWNUM <= 2;
-- ROWNUM를 나타내고 싶을때
SELECT ROWNUM "순번", custid, name, phone
FROM Customer
WHERE ROWNUM <= 2
ORDER BY name;
SELECT ROWNUM "순번", custid, name, phone
FROM ( SELECT custid, name, phone
FROM Customer
ORDER BY name)
WHERE ROWNUM <= 2;
-- WHERE절이 ORDER BY 보다 먼저 실행되기 때문에, 2번째 Source code 처럼한다면
-- 내가 원하는 값이 나타나지 않는다. 3번째 Source code 처럼 먼저 내가 원하는것처럼
-- 정렬을 해준다음 ROWNUM을 하여야 에러가 나지 않을것,
SELECT ROW_NUMBER() OVER(ORDER BY name) as test, custid, name, phone
FROM Customer;
SELECT ( SELECT name
FROM Customer cs
WHERE cs.custid=od.custid) "name", SUM(saleprice) "total"
FROM Orders od
GROUP BY od.custid;
UPDATE Orders
SET bookname = (SELECT bookname
FROM Book
WHERE Book.bookid=Orders.bookid);
SELECT cs.name, SUM(od.saleprice) "total"
FROM ( SELECT custid, name
FROM Customer
WHERE custid <= 2) cs, Orders od
WHERE cs.custid = od.custid
GROUP BY cs.name;
SELECT orderid, saleprice
FROM Orders
WHERE saleprice <= ( SELECT AVG(saleprice)
FROM Orders);
SELECT orderid, custid, saleprice
FROM Orders od
WHERE saleprice > (SELECT AVG(saleprice)
FROM Orders so
WHERE od.custid = so.custid);
SELECT SUM(saleprice) "total"
FROM Orders
WHERE custid IN ( SELECT custid
FROM Customer
WHERE address LIKE '%대한민국%');
자기가 원하는 데이터를 모아서 테이블로 만들수잇고, 사용자들이 원하고 필요한만큼 데이터를 입력하게 해주어서 그것을 볼수있게 할수있다. View를 만들고나서 그 데이터가 들어있는 테이블의 값을 변경하게되면 View 안에 있는 값도 변경되게된다.
CREATE VIEW vw_book AS
SELECT
*
FROM
book
WHERE
bookname LIKE '%축구%';
참고문헌(오라클로 배우는 데이터베이스 개론과 실습)