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

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

JOIN๋ฌธ - ๋ฌธ์ œ2

by Meteora_ 2021. 2. 10.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
--๋ฌธ์ œ1) ์‚ฌ์›๋“ค์˜ ์ด๋ฆ„, ๋ถ€์„œ๋ฒˆํ˜ธ, ๋ถ€์„œ๋ช…์„ ์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, b.department_id, b.department_name
FROM employees a, departments b
WHERE a.department_id = b.department_id;
 
--๋ฌธ์ œ2) 30๋ฒˆ ๋ถ€์„œ์˜ ์‚ฌ์›๋“ค์˜ ์ด๋ฆ„,์ง์—…,๋ถ€์„œ๋ช…์„ ์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, a.job_id, b.department_id, b.department_name
FROM employees a, departments b
WHERE a.department_id = b.department_id
    and b.department_id = 30;
 
--๋ฌธ์ œ3) ์ปค๋ฏธ์…˜์„ ๋ฐ›๋Š” ์‚ฌ์›์˜ ์ด๋ฆ„, ์ง์—…, ๋ถ€์„œ๋ฒˆํ˜ธ,๋ถ€์„œ๋ช…์„ ์ถœ๋ ฅํ•˜๋ผ    
SELECT a.first_name, a.job_id, b.department_id, b.department_name
FROM employees a, departments b
WHERE a.department_id = b.department_id
    and a.commission_pct is not null;
 
--๋ฌธ์ œ4) ์ง€์—ญ๋ฒˆํ˜ธ2500 ์—์„œ ๊ทผ๋ฌดํ•˜๋Š” ์‚ฌ์›์˜ ์ด๋ฆ„, ์ง์—…,๋ถ€์„œ๋ฒˆํ˜ธ,๋ถ€์„œ๋ช…์„ ์ถœ
--๋ ฅํ•˜๋ผ
SELECT a.first_name, a.job_id, b.department_id, b.department_name, b.location_id
FROM employees a, departments b
WHERE a.department_id = b.department_id
    and b.location_id = 2500;
 
--๋ฌธ์ œ5) ์ด๋ฆ„์— A๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์‚ฌ์›๋“ค์˜ ์ด๋ฆ„๊ณผ ๋ถ€์„œ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, b.department_name
FROM employees a, departments b
WHERE a.department_id = b.department_id
        and a.first_name LIKE '%A%';
 
--๋ฌธ์ œ6) ์‚ฌ์›์ด๋ฆ„๊ณผ ๊ทธ ์‚ฌ์›์˜ ๊ด€๋ฆฌ์ž ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, b.first_name
FROM employees a, employees b
WHERE a.manager_id = b.employee_id;
 
--๋ฌธ์ œ7) ์‚ฌ์›์ด๋ฆ„๊ณผ ๋ถ€์„œ๋ช…๊ณผ ์›”๊ธ‰์„ ์ถœ๋ ฅํ•˜๋Š”๋ฐ ์›”๊ธ‰์ด 3000 ์ด์ƒ์ธ ์‚ฌ์›์„
--์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, b.department_name,  a.salary 
FROM employees a, departments b
WHERE a.department_id = b.department_id 
    and a.salary >=3000;
 
--๋ฌธ์ œ8) TJ ์ด๋ž€ ์‚ฌ์›๋ณด๋‹ค ๋Šฆ๊ฒŒ ์ž…์‚ฌํ•œ ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ์ž…์‚ฌ์ผ์„ ์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, a.hire_date, b.first_name, b.hire_date
FROM employees a, employees b 
WHERE a.hire_date < b.hire_date
    and a.first_name = 'TJ';
 
--๋ฌธ์ œ9) ๊ธ‰์—ฌ๊ฐ€ 3000์—์„œ 5000์‚ฌ์ด์ธ ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ์†Œ์†๋ถ€์„œ๋ช… ์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, b.department_name, a.salary
FROM employees a, departments b 
WHERE a.department_id = b.department_id
    and a.salary BETWEEN 3000 and 5000
    ORDER BY a.salary ASC;  
--๋ฌธ์ œ10) ACCOUNTING ๋ถ€์„œ ์†Œ์† ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ์ž…์‚ฌ์ผ ์ถœ๋ ฅํ•˜๋ผ
SELECT a.first_name, a.hire_date, b.department_name
FROM employees a, departments b 
WHERE a.department_id = b.department_id
    and UPPER(b.department_name) = 'ACCOUNTING';
 
--๋ฌธ์ œ11) ๊ธ‰์—ฌ๊ฐ€ 3000์ดํ•˜์ธ ์‚ฌ์›์˜ ์ด๋ฆ„๊ณผ ๊ธ‰์—ฌ, ๊ทผ๋ฌด์ง€
SELECT a.first_name, a.salary, b.location_id
FROM employees a, departments b 
WHERE a.department_id = b.department_id
    and a.salary <= 3000;
cs

๋Œ“๊ธ€