๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Develop/SQL

[SQL] ์ค‘๋ณต์ œ๊ฑฐ insert ์ฟผ๋ฆฌ (insert where not exists)

by _mingle 2022. 7. 26.
728x90

 

 

 

์ค‘๋ณต์—†์ด INSERT ํ•˜๋Š” ๊ตฌ๋ฌธ ์ž‘์„ฑ

 

์ค‘๋ณต์—†์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ตณ์ด SELECT๋ฌธ์„ ํ†ตํ•ด ์ค‘๋ณต ํ™•์ธ ์ดํ›„ INSERT๊ตฌ๋ฌธ์„ ์‹คํ–‰ ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

INSERT๋ฌธ์„ ์ž‘์„ฑํ•˜๋ฉฐ ์กฐ๊ฑด ์„ค์ •์œผ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ค‘๋ณต์—†์ด INSERT ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ.

 

 

๊ธฐ์กด ์ž‘์„ฑํ–ˆ๋˜ ๊ธฐ๋ณธ INSERT ๊ตฌ๋ฌธ

INSERT INTO ํ…Œ์ด๋ธ”๋ช…
(
	์ปฌ๋Ÿผ1,
	์ปฌ๋Ÿผ2
)
VALUES
(
	์ปฌ๋Ÿผ1,
	์ปฌ๋Ÿผ2
)

 

๋จผ์ € ๊ธฐ๋ณธ INSERT ๊ตฌ๋ฌธ์„ ๋ณด๋ฉด ๊ฐ™์€ ๊ฐ’์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด๋„ ๋ฌดํ•œ์œผ๋กœ ๊ฐ™์€ ์ปฌ๋Ÿผ์ด INSERT ๋œ๋‹ค.

๊ตฌ๋ฌธ์„ ์—ฌ๋Ÿฌ๋ฒˆ ์‹คํ–‰ํ•˜๋ฉด ํ•  ์ˆ˜๋ก ๊ฐ™์€ ๊ฐ’์ด ์Œ“์ด๊ฒŒ ๋˜๋Š” ํ˜„์ƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ.

 

 

 

์•„๋ž˜๋Š” ์ผ์ • ๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘์„ ํ•ด์•ผํ•  ๋•Œ ๊ฐ’์ด ์ค‘๋ณต์ด ๋˜๋ฉด ์•ˆ๋˜์—ˆ๊ธฐ์— ์ž‘์„ฑํ•œ ์ฟผ๋ฆฌ์ด๋‹ค.

 

 

์ˆ˜์ •ํ•œ ์ฟผ๋ฆฌ (๊ธฐ์กด ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ํ•ญ๋ชฉ ์ œ์™ธํ•˜๊ณ  insert)

INSERT INTO ํ…Œ์ด๋ธ”๋ช… 1
(
	์ปฌ๋Ÿผ1,
	์ปฌ๋Ÿผ2     
)
SELET
	"1234",    //value๊ฐ’
	"COLLECT"  //value๊ฐ’
WHERE NOT EXISTS
(
SELECT
	์ปฌ๋Ÿผ1,
	์ปฌ๋Ÿผ2
FROM
	ํ…Œ์ด๋ธ”๋ช… 1
WHERE
	์ปฌ๋Ÿผ1 = "1234"
	AND ์ปฌ๋Ÿผ2 = "COLLECT"
)

 

 

INSERT๋ฌธ์ด์ง€๋งŒ INSERTํ•˜๊ธฐ ์ด์ „์— ์กฐ๊ฑด์ ˆ์— SELECT๋ถ€๋ถ„์ด ์žˆ์–ด์„œ TABLE์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์กฐ๊ฑด์— ๋งž๋Š”, ์ฆ‰ ์ค‘๋ณต์ด ๋˜์ง€์•Š์€ ๋ฐ์ดํ„ฐ๋“ค๋งŒ ๊ณจ๋ผ์„œ INSERT๋˜๊ฒŒ ๋œ๋‹ค.

์ค‘๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ ํ›„ ์‚ฝ์ž…์ด๋ผ๊ณ  ๋ดค์„ ๋•Œ ๊ฐ€์žฅ ์ ํ•ฉํ•˜์ง€์•Š๋‚˜ ์‹ถ๋‹ค.

 

INSERT๋ฌธ ์ž‘์„ฑ ํ›„ ๋ฐ์ดํ„ฐ ์†์‹ค ์—†๊ฒŒ ํ…Œ์ŠคํŠธ ํ•  ๋•Œ ์จ๋„ ๊ดœ์ฐฎ์„ ์ฟผ๋ฆฌ์ด๋‹ค.

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€