ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Oracle中创建临时表

Oracle中创建临时表

with USER_MST as (
select 1 as USER_ID, 'USER1' AS USER_NAME FROM dual
union all
select 2 as USER_ID, 'USER2' AS USER_NAME FROM dual
union all
select 3 as USER_ID, 'USER3' AS USER_NAME FROM dual
union all
select 4 as USER_ID, 'USER4' AS USER_NAME FROM dual
union all
select 5 as USER_ID, 'USER5' AS USER_NAME FROM dual
),

USER_EXTEND AS (
SELECT 1 AS USER_ID , 100 AS DEPT_ID FROM dual
UNION ALL
SELECT 2 AS USER_ID , 100 AS DEPT_ID FROM dual
UNION ALL
SELECT 3 AS USER_ID , 200 AS DEPT_ID FROM dual
UNION ALL
SELECT 4 AS USER_ID, 200 AS DEPT_ID FROM dual
UNION ALL
SELECT 6 AS USER_ID, 500 AS DEPT_ID FROM dual
)

SELECT A.USER_ID, A.USER_NAME,B.DEPT_ID
FROM USER_MST A
--JOIN USER_EXTEND B ON A.USER_ID=B.USER_ID

--LEFT JOIN USER_EXTEND B ON A.USER_ID=B.USER_ID

--RIGHT JOIN USER_EXTEND B ON A.USER_ID=B.USER_ID

--INNER JOIN USER_EXTEND B ON A.USER_ID=B.USER_ID

--LEFT JOIN USER_EXTEND B ON A.USER_ID=B.USER_ID WHERE B.DEPT_ID=100

RIGHT JOIN USER_EXTEND B ON A.USER_ID=B.USER_ID WHERE B.DEPT_ID<>100

※需要注意 right join B 表 时select from A 当A.USER_ID 不存在时 不出力 为null

返回列表