?????????

???????????????????????????????????????????????????????????????????????????????????????????????????????????????

Syntax

{
    ( Query ) |
    Query INTERSECT [ ALL | DISTINCT ] Query |
    Query EXCEPT [ ALL | DISTINCT ] Query |
    Query UNION [ ALL | DISTINCT ] Query |
    ????????? | VALUES???
}

??????????????????????????????????????????????????????????????????????????????INTERSECT???EXCEPT???UNION???????????????????????????????????????????????????????????????????????????INTERSECT?????????????????????????????????????????????????????????????????????????????????????????????INTERSECT???UNION????????????EXCEPT?????????????????????????????????

UNION???INTERSECT???EXCEPT ALL???????????????????????????

ALL???DISTINCT?????????????????????????????????????????????????????????????????????????????????????????????????????? DISTINCT??????????????????????????????????????????????????????????????????????????????ALL?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????DISTINCT????????????ALL???DISTINCT??????????????????????????????????????????????????????????????????UNION???????????????????????????????????????????????????????????????ResultSet??????????????????????????????????????????????????????????????????????????????????????????UNION ALL????????????????????????????????????????????????????????????

???????????????????????????????????????L??????????????????????????????????????????????????????????????????R??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????(ALL?????????????????????????????????)
  • UNION: ( L + R )???
  • EXCEPT: ( L ??? R )???0(???)????????????????????????
  • INTERSECT: L???R????????????????????????

???

-- ????????? 
SELECT *
FROM ORG

-- ???????????? 
SELECT *
FROM (SELECT CLASS_CODE FROM CL_SCHED) AS CS

-- ????????????
SELECT *
FROM (SELECT CLASS_CODE FROM CL_SCHED) AS CS (CLASS_CODE)

-- UNION?????????
-- ORG??????????????????????????????
-- DEPTNUMB???MANAGER????????????????????????
-- (1,2)???(3,4)????????????
-- ?????????DEPTNUMB???MANAGER???smallint?????????????????????
SELECT DEPTNUMB, MANAGER 
FROM ORG
UNION ALL
VALUES (1,2), (3,4)

-- ?????????
VALUES (1,2,3)

-- EMPLOYEE??????????????????????????????(WORKDEPT)???'E'??????????????????????????????
-- EMP_ACT??????????????????????????????????????????(PROJNO)???
-- 'MA2100'???'MA2110'????????????'MA2112'????????????????????????????????????????????????????????????
-- ????????????(EMPNO)??????????????????
SELECT EMPNO
     FROM EMPLOYEE
     WHERE WORKDEPT LIKE 'E%'
  UNION
  SELECT EMPNO
     FROM EMP_ACT
     WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
-- ????????????????????????????????????????????????EMPLOYEE?????????????????????????????????'emp'???
-- EMP_ACT?????????????????????????????????'emp_act'?????????"??????"???????????????
-- ?????????????????????????????????????????????"??????"??????????????????
-- ??????????????????????????????????????????????????????EMPNO?????????????????????????????????????????????
SELECT EMPNO, 'emp'
     FROM EMPLOYEE
     WHERE WORKDEPT LIKE 'E%'
  UNION
  SELECT EMPNO, 'emp_act' FROM EMP_ACT
     WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
-- ??????????????????????????????????????????????????????
-- UNION ALL???????????????????????????????????????????????????????????????
SELECT EMPNO
      FROM EMPLOYEE
      WHERE WORKDEPT LIKE 'E%'
  UNION ALL
  SELECT EMPNO
     FROM EMP_ACT
     WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
-- ??????????????????????????????????????????????????????
-- ????????????????????????????????????????????????????????????
-- ????????????"new"??????????????????????????????
 SELECT EMPNO, 'emp'
     FROM EMPLOYEE
     WHERE WORKDEPT LIKE 'E%'
  UNION
  SELECT EMPNO, 'emp_act'
     FROM EMP_ACT
     WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
  UNION
     VALUES ('NEWAAA', 'new'), ('NEWBBB', 'new')