Professional Documents
Culture Documents
1 SORT ORDER BY
SELECT *
FROM (
SELECT ROWNUM RN, A.*
FROM (
SELECT A.ORDER_ID, A.ORDER_DATE
, A.CUSTOMER_ID, C.CUST_LAST_NAME CUSTNAME
, A.EMPLOYEE_ID, B.LAST_NAME EMPNAME
, A.ORDER_TOTAL
FROM ORDERS A
, EMPLOYEES B
, CUSTOMERS C
WHERE A.EMPLOYEE_ID = B.EMPLOYEE_ID
AND A.CUSTOMER_ID = C.CUSTOMER_ID
AND A.ORDER_DATE >= TO_DATE('20120805', 'YYYYMMDD')
AND A.ORDER_DATE < TO_DATE('20120807', 'YYYYMMDD')
ORDER BY ORDER_DATE, ORDER_ID) A)
WHERE RN >= 1
AND RN <= 20;
SELECT *
FROM (
SELECT ROWNUM RN, A.*
FROM (
SELECT A.ORDER_ID, A.ORDER_DATE
, A.CUSTOMER_ID, C.CUST_LAST_NAME CUSTNAME
, A.EMPLOYEE_ID, B.LAST_NAME EMPNAME
, A.ORDER_TOTAL
FROM ORDERS A
, EMPLOYEES B
, CUSTOMERS C
WHERE A.EMPLOYEE_ID = B.EMPLOYEE_ID
AND A.CUSTOMER_ID = C.CUSTOMER_ID
AND A.ORDER_DATE >= TO_DATE('20120805', 'YYYYMMDD')
AND A.ORDER_DATE < TO_DATE('20120807', 'YYYYMMDD')
ORDER BY ORDER_DATE, ORDER_ID) A
WHERE ROWNUM <= 20)
WHERE RN >= 1;
SELECT PRODUCT_ID
, SUM(ORDER_QTY) ORDER_QTY
, SUM(ORDER_AMT) ORDER_AMT
FROM SALES
WHERE ORDER_DATE = '20120805'
GROUP BY PRODUCT_ID;
SELECT PRODUCT_ID
, SUM(ORDER_QTY) ORDER_QTY
, SUM(ORDER_AMT) ORDER_AMT
FROM SALES
WHERE ORDER_DATE = '20120805'
GROUP BY PRODUCT_ID
ORDER BY PRODUCT_ID;
<PRODUCTS ����
̺ ���>
�� �Ǽ� : 288��
INDEX : IX_PRODUCTS_PK(PRODUCT_ID)
SELECT DISTINCT
B.PRODUCT_NAME, B.CATEGORY_ID, B.LIST_PRICE
FROM (SELECT DISTINCT PRODUCT_ID
FROM SALES
WHERE ORDER_DATE >= '20110805'
AND ORDER_DATE <= '20120805'
AND ORDER_MODE = 'online' ) A
, PRODUCTS B
WHERE A.PRODUCT_ID = B.PRODUCT_ID;
SELECT *
FROM ORDER_ITEMS
WHERE (ORDER_ID, PRODUCT_ID) IN (
SELECT ORDER_ID, PRODUCT_ID
FROM ORDER_ITEMS
WHERE ORDER_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND ORDER_DATE < TO_DATE('20130101', 'YYYYMMDD')
MINUS
SELECT ORDER_ID, PRODUCT_ID
FROM ORDER_ITEMS_RETURN
WHERE RETURN_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND RETURN_DATE < TO_DATE('20130101', 'YYYYMMDD'));
SELECT *
FROM ORDER_ITEMS A
WHERE ORDER_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND ORDER_DATE < TO_DATE('20130101', 'YYYYMMDD')
AND NOT EXISTS (SELECT /*+ UNNEST HASH_AJ */ 1 FROM ORDER_ITEMS_RETURN B
WHERE A.ORDER_ID = B.ORDER_ID
AND A.PRODUCT_ID = B.PRODUCT_ID
AND B.RETURN_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND B.RETURN_DATE < TO_DATE('20130101', 'YYYYMMDD'));
SELECT *
FROM ORDER_ITEMS
WHERE (ORDER_ID, PRODUCT_ID) IN (
SELECT ORDER_ID, PRODUCT_ID
FROM ORDER_ITEMS
WHERE ORDER_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND ORDER_DATE < TO_DATE('20130101', 'YYYYMMDD')
INTERSECT
SELECT ORDER_ID, PRODUCT_ID
FROM ORDER_ITEMS_RETURN
WHERE RETURN_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND RETURN_DATE < TO_DATE('20130101', 'YYYYMMDD'));
SELECT *
FROM ORDER_ITEMS A
WHERE ORDER_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND ORDER_DATE < TO_DATE('20130101', 'YYYYMMDD')
AND EXISTS (SELECT 1 FROM ORDER_ITEMS_RETURN B
WHERE A.ORDER_ID = B.ORDER_ID
AND A.PRODUCT_ID = B.PRODUCT_ID
AND B.RETURN_DATE >= TO_DATE('20120101', 'YYYYMMDD')
AND B.RETURN_DATE < TO_DATE('20130101', 'YYYYMMDD'));