๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ฆ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค (DB) ๐Ÿ“ฆ/๐Ÿ…พ ์˜ค๋ผํด DB & SQL

์ง‘ํ•ฉ (UNION, INTERSECT, MINUS)

by Meteora_ 2021. 2. 15.
728x90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
์ง‘ํ•ฉ
    ํ•ฉ์ง‘ํ•ฉ: UNION - FULLOUTER
    ๊ต์ง‘ํ•ฉ: INTERSECT - INNER
    ์ฐจ์ง‘ํ•ฉ: MINUS
*/
 
--UNION
SELECT job_id
FROM employees
WHERE job_id IN('AD_VP''FI_ACCOUNT')
UNION ALL
SELECT job_id
FROM jobs
WHERE job_id IN('AD_VP''FI_ACCOUNT');
 
--INTERSECT
--๋งค๋‹ˆ์ €์— ๋Œ€ํ•œ ์ •๋ณด๋งŒ ์ถ”๋ฆฐ๋‹ค(๊ต์ง‘ํ•ฉ์œผ๋กœ)
--sorting  ์ด ์ž๋™์ ์œผ๋กœ ๋œ๋‹ค
-- ์ค‘๋ณต์ด ์—†๋‹ค
SELECT employee_id
FROM employees
INTERSECT 
SELECT manager_id
FROM employees;
--inner join ์œผ๋กœ ํ•ด๋ณธ๊ฒƒ, ์œ„์™€๋™์ผ
SELECT DISTINCT b.employee_id
FROM employees a, employees b
WHERE a.manager_id = b.manager_id ;
 
--MINUS
 
SELECT employee_id
FROM employees
MINUS
SELECT manager_id
FROM employees;
 
-- join
SELECT *
FROM employees a, departments b
WHERE a.department_id = b.department_id(+
    and a.manager_id IS NOT NULL;
cs

๋Œ“๊ธ€