Amenable
Amenable's Blog
Amenable
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (189)
    • ๐Ÿ“‚ JAVA (87)
      • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” (65)
      • ์ฃผ์š” ๊ฐœ๋… (22)
    • ๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  (22)
      • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ (1)
      • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (2)
      • ํด๋ฆฐ ์ฝ”๋“œ (8)
      • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (1)
      • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic (10)
    • ๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (8)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€์ด (0)
    • ๐Ÿ“‚ ๋„คํŠธ์›Œํฌ (14)
      • ๊ฐœ๋… (6)
      • ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ (8)
    • ๐Ÿ“‚ ์Šคํ”„๋ง (13)
      • ๊ธฐ๋ณธ ๊ฐœ๋… (13)
    • ๐Ÿ“‚ WEB (5)
    • ๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ (12)
      • ๊ฐœ๋… (2)
      • ์ •๋ ฌ (8)
      • ํŠธ๋ฆฌ (2)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
      • ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ (2)
      • ์ตœ๋‹จ ๊ฒฝ๋กœ (2)
      • ๋ฌธ์ž์—ด (2)
      • ETC (4)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜_๋ฌธ์ œํ’€์ด (4)
      • BOJ_๋ฐฑ์ค€ (4)
    • ๐Ÿ“‚ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)
    • ๐Ÿ“‚ DevOps (2)
      • ๋ฐฐํฌ (2)
    • ๐Ÿ“‚ ํ›„๊ธฐ (8)
      • ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • 2023๋…„ (3)
      • 2024๋…„ (1)
    • ๐Ÿ“‚ ํšŒ๊ณ  (1)
      • 2023๋…„ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿš€ GitHub

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Amenable
๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/๊ฐœ๋…

๋ทฐ(VIEW)

๋ทฐ(VIEW)
๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/๊ฐœ๋…

๋ทฐ(VIEW)

2023. 4. 17. 22:41

1. ๊ฐœ๋… ๐Ÿฃ

  ๋ทฐ(View)๋Š” ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ '์‹ค์ฒด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค'๋ผ๋Š” ์˜๋ฏธ๋กœ '๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”'์ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.

  ์‹ค์ œ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ํ–‰๊ณผ ์—ด์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ, ์‹ค์ œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ์ง€๋Š” ์•Š๋Š”๋‹ค. ์ถ”๊ฐ€์ ์ธ ์„ค๋ช…์„ ์œ„ํ•ด ๋ทฐ์˜ ์ƒ์„ฑ ๋ฐฉ๋ฒ•์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋จผ์ € ์‚ดํŽด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

CREATE VIEW ๋ทฐ์ด๋ฆ„
AS
SELECT ~~~

  ๋ณธ๋ž˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด๋กœ ๋“ฑ๋กํ•  ์ˆ˜ ์—†๋Š” SELECT ๋ช…๋ น์„ ๊ฐ์ฒด๋กœ์„œ ์ด๋ฆ„์„ ๋ถ™์—ฌ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ ๊ฒƒ์ด ๋ทฐ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ทฐ๋ฅผ ์ฐธ์กฐํ•˜๋ฉด(ํ˜ธ์ถœํ•˜๋ฉด) ๋ทฐ์— ์ •์˜๋œ SELECT ๋ช…๋ น์ด ์‹คํ–‰๋˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ…Œ์ด๋ธ”์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  ๊ทธ๋ž˜์„œ View์™€ Table์˜ ์ฐจ์ด์ ์ด๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, View๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๊ณ  SQL๋งŒ ์žˆ๋Š” ๊ฒƒ์ด๊ณ , Table์€ ์‹ค์งˆ์ ์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

 

2. ์ข…๋ฅ˜ ๐Ÿค

1. ๋‹จ์ˆœ ๋ทฐ(Simple View)

CREATE VIEW ๋ทฐ์ด๋ฆ„
AS
SELECT ํ•„๋“œ์ด๋ฆ„1, ํ•„๋“œ์ด๋ฆ„2, ...
FROM ํ…Œ์ด๋ธ”์ด๋ฆ„
  • ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์—์„œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๋ฝ‘์•„์˜จ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
  • ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋กœ ์ƒ์„ฑ๋œ๋‹ค.

2. ๋ณตํ•ฉ ๋ทฐ(Complex View)

CREATE VIEW ๋ทฐ์ด๋ฆ„
AS
SELECT a.a1, b.b1
FROM a_table a INNER JOIN b_table b
ON a.a3 = b.b3
  • ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์ด Join ๋˜์–ด ๋งŒ๋“  ๋ทฐ
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”๋กœ ์ƒ์„ฑ๋œ๋‹ค.

3. ์ธ๋ผ์ธ ๋ทฐ(Inline View)

SELECT a.a1, b.b2
FROM a_table a, (SELECT b1, b2
	FROM b_table) b
WHERE a.a1 = b.b1
  • FROM ์ ˆ ์•ˆ์— SQL ๋ฌธ์žฅ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ
  • ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ธ๋‹ค.

 

3. ์‚ฌ์šฉ๋ฒ• ๐Ÿฅ

1. ์ƒ์„ฑ

CREATE VIEW ๋ทฐ์ด๋ฆ„
AS
SELECT ํ•„๋“œ์ด๋ฆ„1, ํ•„๋“œ์ด๋ฆ„2, ...
FROM ํ…Œ์ด๋ธ”์ด๋ฆ„
WHERE ์กฐ๊ฑด

  ๋ทฐ๋Š” ์›๋ณธ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„๊ณผ ๊ฐ™์€ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

2. ๋Œ€์ฒด

CREATE OR REPLACE VIEW ๋ทฐ์ด๋ฆ„
AS
SELECT ํ•„๋“œ์ด๋ฆ„1, ํ•„๋“œ์ด๋ฆ„2, ...
FROM ํ…Œ์ด๋ธ”์ด๋ฆ„
WHERE ์กฐ๊ฑด

  ๋ทฐ ์ด๋ฆ„์— ํ•ด๋‹นํ•˜๋Š” View๊ฐ€ ์กด์žฌํ•˜๋ฉด ๋Œ€์ฒดํ•˜๊ณ , ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ƒ์„ฑํ•œ๋‹ค.

3. ์ˆ˜์ •

ALTER VIEW ๋ทฐ์ด๋ฆ„
AS
SELECT ํ•„๋“œ์ด๋ฆ„1, ํ•„๋“œ์ด๋ฆ„2, ...
FROM ํ…Œ์ด๋ธ”์ด๋ฆ„

4. ์‚ญ์ œ

DROP VIEW ๋ทฐ์ด๋ฆ„

 

4. ์žฅ์  & ๋‹จ์  ๐Ÿ“

1. ์žฅ์ 

  • ํŠน์ • ์‚ฌ์šฉ์ž์—๊ฒŒ ํ…Œ์ด๋ธ” ์ „์ฒด๊ฐ€ ์•„๋‹Œ ํ•„์š”ํ•œ ํ•„๋“œ๋งŒ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฟผ๋ฆฌ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

2. ๋‹จ์ 

  • ํ•œ ๋ฒˆ ์ •์˜๋œ ๋ทฐ๋Š” ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
  • ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹  ์ž‘์—…์— ๋งŽ์€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ๋‹ค.
  • ์ž์‹ ๋งŒ์˜ ์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.

 

ํ•ด๋‹น ๊ธ€์€
Inpa ๋‹˜์˜ '[MYSQL] ๋ทฐ(view) ์‚ฌ์šฉ๋ฒ• ์ •๋ฆฌ',
cailisin ๋‹˜์˜ '๋ทฐ(View)๋ž€ ๋ฌด์—‡์ธ๊ฐ€~??',
์•„์‚ฌ์ด ์•„์ธ ์‹œ ๋‹˜์˜ 'SQL ์ฒซ๊ฑธ์Œ'
์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

'๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค > ๊ฐœ๋…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€ (Transaction Isolation Level)  (1) 2023.06.18
ํŠธ๋žœ์žญ์…˜(Transaction)  (0) 2023.06.17
[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ‚ค(Key) ๊ฐœ๋… & ํ‚ค(Key) ์ข…๋ฅ˜  (0) 2023.06.13
์„œ๋ธŒ์ฟผ๋ฆฌ(Subquery)  (0) 2023.04.18
์กฐ์ธ(JOIN)  (0) 2023.04.18
  • 1. ๊ฐœ๋… ๐Ÿฃ
  • 2. ์ข…๋ฅ˜ ๐Ÿค
  • 3. ์‚ฌ์šฉ๋ฒ• ๐Ÿฅ
  • 4. ์žฅ์  & ๋‹จ์  ๐Ÿ“
'๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค/๊ฐœ๋…' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํŠธ๋žœ์žญ์…˜(Transaction)
  • [DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ‚ค(Key) ๊ฐœ๋… & ํ‚ค(Key) ์ข…๋ฅ˜
  • ์„œ๋ธŒ์ฟผ๋ฆฌ(Subquery)
  • ์กฐ์ธ(JOIN)
Amenable
Amenable
CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.