subQuery

Sub Query

์„œ๋ธŒ ์ฟผ๋ฆฌ (Sub Query)

=> ์ฟผ๋ฆฌ๋ฌธ ์•ˆ์— ์ฟผ๋ฆฌ๋ฌธ์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ• (SELECT์ ˆ/ WHERE์ ˆ/FROM ์ ˆ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ์ฟผ๋ฆฌ๋ฅผ ํ†ต์นญํ•˜์—ฌ ์„œ๋ธŒ์ฟผ๋ฆฌ) => ์„ฑ๋Šฅ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

join์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•œ ๋ฐฉ๋ฒ•

select la.lano, l.titl, m.name, s.work, la.rdt, r.name, m2.name, mr.posi
from lect_appl la 
        inner join memb m on la.mno=m.mno
        inner join stnt s on la.mno=s.mno 
        inner join lect l on la.lno=l.lno
        left outer join room r on l.rno=r.rno 
        left outer join memb m2 on l.mno=m2.mno 
        left outer join mgr mr on l.mno=mr.mno;

select ์ ˆ์— ์„œ๋ธŒ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

  1. 1๋‹จ๊ณ„: ์ˆ˜๊ฐ•์‹ ์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅ

select 
  la.lano, 
  la.lno, 
  la.mno, 
  date_format(la.rdt, '%Y-%m-%d') reg_dt
from lect_appl la;
  1. 2๋‹จ๊ณ„ : ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ•์˜๋ช…์„ ๊ฐ€์ ธ์˜ค๊ธฐ

  1. 3๋‹จ๊ณ„ : ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•™์ƒ๋ช…์„ ๊ฐ€์ ธ์˜ค๊ธฐ

from ์ ˆ์— ์„œ๋ธŒ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

  1. 0๋‹จ๊ณ„ : ๊ฐ•์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

  2. 1๋‹จ๊ณ„ : ๊ฐ•์˜ ์ƒ์„ธ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” select๋ฅผ ์ค€๋น„ํ•œ๋‹ค. => ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ•์˜์‹ค ์ด๋ฆ„๊ณผ ๋งค๋‹ˆ์ € ์ด๋ฆ„, ์ง์œ„ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ

  1. 2๋‹จ๊ณ„: ์œ„์—์„œ ์ค€๋น„ํ•œ select ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ƒ ํ…Œ์ด๋ธ”๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด์˜ lect_appl ํ…Œ์ด๋ธ”๊ณผ ์กฐ์ธํ•œ๋‹ค

  • from ์ ˆ์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธŒ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์ธ view๋กœ ์ •์˜ํ•ด๋†“๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธํ•˜๋‹ค.

  • ์œ„์˜ ์งˆ์˜๋ฌธ์„ view๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์ž‘์„ฑํ•ด๋ณด์ž!

where ์ ˆ์— ์„œ๋ธŒ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

  • ๊ณผ์žฅ ๋˜๋Š” ๋Œ€๋ฆฌ ๋งค๋‹ˆ์ €๊ฐ€ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋Š” ์ˆ˜๊ฐ• ์‹ ์ฒญ๋งŒ ์ถ”์ถœํ•˜๊ธฐ

Last updated