#29 [ORACLE] ์„œ๋ธŒ์ฟผ๋ฆฌ

    ๐Ÿ“Œ ์„œ๋ธŒ ์ฟผ๋ฆฌ

    ๐Ÿ’ก ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ ๋ฌธ์žฅ ๋‚ด์— ํฌํ•จ๋œ ๋˜ ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ ๋ฌธ์žฅ

    ๐Ÿ’ก ๋น„๊ต ์—ฐ์‚ฐ์ž์˜ ์˜ค๋ฅธ์ชฝ์— ๊ธฐ์ˆ ํ•ด์•ผ ํ•˜๊ณ  ๋ฐ˜๋“œ์‹œ ๊ด„ํ˜ธ ์•ˆ์— ๋„ฃ์–ด์•ผ ํ•จ

    ๐Ÿ’ก ๋ฉ”์ธ ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ด์ „์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋จ


    ๐Ÿ“Œ SELECT์ ˆ ์„œ๋ธŒ ์ฟผ๋ฆฌ

    SELECT์ ˆ ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ์„œ๋ธŒ ์ฟผ๋ฆฌ

    : ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜๋“œ์‹œ ๋‹จ์ผ ํ–‰์ด๋‚˜, SUM, COUNT ๋“ฑ์˜ ์ง‘๊ณ„ ํ•จ์ˆ˜๋ฅผ ๊ฑฐ์นœ ๋‹จ์ผ ๊ฐ’์œผ๋กœ ๋ฆฌํ„ด๋˜์–ด์•ผ ํ•จ

    ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ๋๋งˆ์นœ ๊ฐ’ ํ•˜๋‚˜๋ฅผ ๋ฉ”์ธ์ฟผ๋ฆฌ์—์„œ SELECT ํ•˜๊ธฐ ๋•Œ๋ฌธ

    SELECT ํ•™์ƒ์ด๋ฆ„,
           (  SELECT ํ•™๊ณผ.ํ•™๊ณผ์ด๋ฆ„
                FROM ํ•™๊ณผ
               WHERE ํ•™๊ณผ.ํ•™๊ณผID = ํ•™์ƒ.ํ•™์ƒID ) AS ํ•™๊ณผ์ด๋ฆ„
      FROM ํ•™์ƒ
     WHERE ํ•™์ƒ์ด๋ฆ„ = 'ํ™๊ธธ๋™' ;

     

    ๐Ÿ“˜ NOTE
    ๐Ÿ’ก ๋‹จ์ผํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ
    : ์„œ๋ธŒ์ฟผ๋ฆฌ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ์˜ค์ง ํ•˜๋‚˜์˜ ROW(ํ–‰)๋งŒ์„ ๋ฐ˜ํ™˜
    ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฉ”์ธ ์ฟผ๋ฆฌ๋Š” ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰
    ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ๋‹จ์ผํ–‰ ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉ ( >, >=, <, <=, = ,...)

    ๐Ÿ“Œ FROM์ ˆ ์„œ๋ธŒ ์ฟผ๋ฆฌ

    FROM ์ ˆ ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ์„œ๋ธŒ ์ฟผ๋ฆฌ (์ธ๋ผ์ธ ๋ทฐ)

    : ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋กœ ๋ฆฌํ„ด๋˜์–ด์•ผ ํ•จ

    ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ๋๋งˆ์นœ ํ…Œ์ด๋ธ” ํ•˜๋‚˜๋ฅผ ๋ฉ”์ธ ์ฟผ๋ฆฌ์˜ FROM์—์„œ ํ…Œ์ด๋ธ”๋กœ ์žก๊ธฐ ๋•Œ๋ฌธ

    SELECT ํ•™์ƒ์ด๋ฆ„, ์ˆ˜ํ•™์ ์ˆ˜
      FROM ( SELECT ํ•™์ƒ.ํ•™์ƒ์ด๋ฆ„ AS ํ•™์ƒ์ด๋ฆ„,
                    ๊ณผ๋ชฉ.๊ณผ๋ชฉ์ ์ˆ˜ AS ์ˆ˜ํ•™์ ์ˆ˜
               FROM ํ•™์ƒ, ๊ณผ๋ชฉ
              WHERE ํ•™์ƒ.ํ•™์ƒ์ด๋ฆ„ = ๊ณผ๋ชฉ.ํ•™์ƒ์ด๋ฆ„
                AND  ๊ณผ๋ชฉ.๊ณผ๋ชฉ์ด๋ฆ„ = '์ˆ˜ํ•™' ) ;

    ๐Ÿ“Œ WHERE์ ˆ ์„œ๋ธŒ ์ฟผ๋ฆฌ

    ์ค‘์ฒฉ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ WHERE์ ˆ์•ˆ์— ๋“ค์–ด์žˆ๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ

    ๊ฐ€์žฅ ์ž์ฃผ ์“ฐ์ด๋Š” ๋Œ€์ค‘์ ์ธ ์„œ๋ธŒ ์ฟผ๋ฆฌ, ๋‹จ์ผํ–‰๊ณผ ๋ณต์ˆ˜ํ–‰ ๋‘˜ ๋‹ค ๋ฆฌํ„ด ๊ฐ€๋Šฅ

    ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ๋๋งˆ์นœ ๊ฐ’๋“ค์„ ๋ฉ”์ธ์ฟผ๋ฆฌ์˜ ์กฐ๊ฑด์ ˆ์„ ํ†ตํ•ด ๋น„๊ต ๋“ฑ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ

    SELECT *
      FROM ํ•™์ƒ
     WHERE ํ•™์ƒ.ํ•™์ƒ์ด๋ฆ„ IN ( SELECT ๊ณผ๋ชฉ.ํ•™์ƒ์ด๋ฆ„ FROM ๊ณผ๋ชฉ WHERE ๊ณผ๋ชฉ.๊ณผ๋ชฉ์ด๋ฆ„ = '์ˆ˜ํ•™' ) ;

     

    ๐Ÿ“˜ NOTE
    ๐Ÿ’ก  ๋ณต์ˆ˜ํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ
    : ์„œ๋ธŒ ์ฟผ๋ฆฌ์˜ ์ˆ˜ํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ๋‘ ๊ฑด ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜
    ๋น„๊ต ์—ฐ์‚ฐ์ž๋Š” ๋‹ค์ค‘ํ–‰ ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉ (IN, ANY, SOME, ALL, EXITS,... )

    - IN : ๋ฉ”์ธ ์ฟผ๋ฆฌ์˜ ๋น„๊ต์กฐ๊ฑด์ด ์„œ๋ธŒ ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ์ค‘์— ํ•˜๋‚˜๋ผ๋„ ์ผ์น˜ํ•˜๋ฉด ์ฐธ
    - ALL : ๋ฉ”์ธ์ฟผ๋ฆฌ์˜ ๋น„๊ต์กฐ๊ฑด์ด ์„œ๋ธŒ ์ฟผ๋ฆฌ์˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์™€ ๋ชจ๋“  ๊ฐ’์ด ์ผ์น˜ํ•˜๋ฉด ์ฐธ 
    - ANY : ๋ฉ”์ธ ์ฟผ๋ฆฌ์˜ ๋น„๊ต์กฐ๊ฑด์ด ์„œ๋ธŒ ์ฟผ๋ฆฌ์˜ ๊ฒ€์ƒ‰๊ฒฐ๊ณผ์™€ ํ•˜๋‚˜ ์ด์ƒ์ด ์ผ์น˜ํ•˜๋ฉด ์ฐธ
    - EXITS : ๋ฉ”์ธ ์ฟผ๋ฆฌ์˜ ๋น„๊ต์กฐ๊ฑด์ด ์„œ๋ธŒ ์ฟผ๋ฆฌ์˜ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ์ค‘์— ํ•˜๋‚˜๋ผ๋„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ’์ด ์กด์žฌํ•˜๋ฉด ์ฐธ

     

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€