SQL (4)

๊ธฐํ˜ยท2023๋…„ 2์›” 13์ผ
1

DBMS ํ•™์Šต

๋ชฉ๋ก ๋ณด๊ธฐ
5/13

day04

๐Ÿ“Œ ์ค‘๋ณต์ œ๊ฑฐ

๐Ÿ“ข distinct

  • DEPARTMENT_ID์˜ ์ค‘๋ณต ์ œ๊ฑฐ
SELECT DISTINCT DEPARTMENT_ID 
FROM EMPLOYEES e 
;
  • ์‚ฌ์šฉ ๋ถˆ๊ฐ€
SELECT DISTINCT DEPARTMENT_ID , SUM(SALARY) 
FROM EMPLOYEES e 
;

๐Ÿ“ข group by

SELECT DEPARTMENT_ID 
FROM EMPLOYEES e 
GROUP BY DEPARTMENT_ID 
ORDER BY DEPARTMENT_ID 
;

๐Ÿ’ก ์˜ˆ์ œ1)

๋ถ€์„œ๋ณ„ ๊ธ‰์—ฌํ•ฉ๊ณ„

SELECT DEPARTMENT_ID , SUM(SALARY) 
FROM EMPLOYEES e 
GROUP BY DEPARTMENT_ID 
ORDER BY DEPARTMENT_ID 
;

๐Ÿ’ก ์˜ˆ์ œ2)

๋ถ€์„œ๋ณ„, ์ง๊ธ‰๋ณ„(job_id) ์‚ฌ์›์ˆ˜์™€ ํ‰๊ท  ๊ธ‰์—ฌ๋ฅผ ๊ตฌํ•˜๊ธฐ 20 ๋ถ€์„œ 2๊ฐœ๋กœ ์ชผ๊ฐœ์ง€๊ณ  30 2๊ฐœ๋กœ ์ชผ๊ฐœ์ง„ ์ƒํ™ฉ

SELECT 	DEPARTMENT_ID 	, JOB_ID 
	,	SUM(SALARY)		,  COUNT(SALARY)
	,	AVG(SALARY) 
FROM 	EMPLOYEES e 
WHERE DEPARTMENT_ID = 80
GROUP BY DEPARTMENT_ID , JOB_ID 
ORDER BY DEPARTMENT_ID , JOB_ID 
;

๐Ÿ”‘ Keypoint
PU_CLERK ์™€ PU_MAN๋Š” ๋‘˜๋‹ค 30๋ฒˆ ๋ถ€์„œ
SUM(์ƒ๋Ÿฌ๋ฆฌ)ํ†ตํ•ด ํ•ฉ๊ณ„ ๋ณผ์ˆ˜์žˆ๊ณ 
COUNT(์ƒ๋Ÿฌ๋ฆฌ) ์ธ์›์ˆ˜ ๋ณผ์ˆ˜ ์žˆ์Œ

SUM(SALARY) = ์ด ๋ถ€์„œ์˜ ๊ธ‰์—ฌ ์ดํ•ฉ
COUNT(SALARY) = ์ด ๋ถ€์„œ์˜ ์ธ์› ์ˆ˜
AVG(SALARY) = SUM(SALARY) / COUNT(SALARY) ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๐Ÿ“ข having

-> where์ ˆ์—์„œ๋Š” ์ง‘๊ณ„ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ ํ•  ์ˆ˜ ์—†๋‹ค.
-> having์ ˆ์€ ์ง‘๊ณ„ํ•จ์ˆ˜๋ฅผ ๊ฐ€์ง€๊ณ  ์กฐ๊ฑด๋น„๊ต๋ฅผ
ํ• ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
-> having์ ˆ์€ groupby์ ˆ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๐Ÿ’ก ์˜ˆ์ œ1)

์‚ฌ์›์ˆ˜๊ฐ€ 10๋ช… ์ด์ƒ์ธ ๋ถ€์„œ๋ฅผ ์กฐํšŒ
๋‹จ, ๋ถ€์„œ๊ฐ€ NULL์ธ์‚ฌ๋žŒ์€ ์ œ์™ธ

SELECT 		DEPARTMENT_ID, COUNT(*) 
FROM 		EMPLOYEES e 
WHERE		DEPARTMENT_ID IS NOT NULL 
GROUP BY	DEPARTMENT_ID  
HAVING 		COUNT(*) >= 10
;

๐Ÿ”‘ Keypoint
DEPARTMENT_ID : ๋ถ€์„œ ์•„์ด๋””
COUNT() : ๋ถ€์„œ์˜ ์ธ์›
HAVING COUNT(
) = 10๋ช… ์ด์ƒ๋งŒ ์กฐํšŒ
๋ถ€์„œ ์กฐํšŒ ํ•ด์•ผํ•˜๋‹ˆ DEPARTMENT_ID ์กฐํšŒ

์ธ์› ์•Œ์•„์•ผ ํ•˜๋‹ˆ COUNT() ์˜ฌ๋ฆฐ๋‹ค.
๋‹จ, NULL ์ œ์™ธํ•˜๋‹ˆ๊นŒ
์กฐ๊ฑด๋ฌธ DEPARTMENT_ID IS NOT NULL ๋‹ฌ์•„์ค€๋‹ค.
NULL ์ธ์› ์‚ฌ๋ผ์กŒ์œผ๋‹ˆ ์ด์ œ 10๋ช… ์ด์ƒ์˜ ๋ถ€์„œ๋ฅผ ์ฐพ๋Š”๋‹ค.
HAVING COUNT(
) >=10์„ ํ†ตํ•ด 10๋ช… ์ด์ƒ์„ ์ฐพ๋Š”๋‹ค.

profile
โญ๏ธ๋‚ด๊ฐ€๋งŒ๋“ ์ฟ ํ‚คโญ๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€