Database·SQL

Oracle WITH ๊ตฌ๋ฌธ์„ MySQL๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

Leica 2020. 12. 8. 16:59
๋ฐ˜์‘ํ˜•

Oracle WITH ๊ตฌ๋ฌธ์„ MySQL๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

MySQL 8.0 ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” WITH ๊ตฌ๋ฌธ์ด ์ง€์›๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— WITH ๊ตฌ๋ฌธ์„ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์„ ํƒ์ง€ ์ค‘ ํ•˜๋‚˜๋ฅผ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  • Temporary Table(์ž„์‹œ ํ…Œ์ด๋ธ”)
  • Derived Table
  • Inline View

๋ณธ ๊ธ€์—์„œ๋Š” inline view๋ฅผ ์ด์šฉํ•˜์—ฌ Oracle WITH ๊ตฌ๋ฌธ์„ ๋ณ€๊ฒฝํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค.

 

WITH ๊ตฌ๋ฌธ์„ Inline View๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์˜ˆ์ œ

ํŽธ์˜์ƒ ๊ฐ„๋‹จํ•œ ์ฟผ๋ฆฌ๋ฅผ ์˜ˆ์ œ๋กœ ๋“ค์—ˆ๋‹ค.

 

โ„น๏ธOracle WITH:

WITH SAMPLE_WITH AS (SELECT ID FROM SAMPLE_TBL)

SELECT A.ID
FROM ANOTHER_TBL A,
     SAMPLE_WITH B
WHERE A.ID = B.ID

 

โ„น๏ธMySQL Inline View:

SELECT A.ID 
FROM ANOTHER_TBL A,
     (SELECT ID FROM SAMPLE_TBL) B
WHERE A.ID = B.ID

 

MyBatis์˜ sql, include์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

MyBatis ์‚ฌ์šฉ ์‹œ WITH ๊ตฌ๋ฌธ๊ณผ inline view๋Š” MyBatis์˜ <sql>๊ณผ <include>๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ˜๋ณต ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ณ  ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ„น๏ธOracle WITH:

<sql id="info">
 SELECT AGT_ID FROM SAMPLE_TBL
</sql>

<select id="get..." parameterType="..." resultType="...">
  WITH SAMPLE_WITH AS (<include refid="info" />)

  SELECT A.ID
  FROM ANOTHER_TBL A,
       SAMPLE_WITH B
  WHERE A.ID = B.ID  
</select>

 

โ„น๏ธMySQL Inline View:

<sql id="info">
 SELECT AGT_ID FROM SAMPLE_TBL
</sql>

<select id="get..." parameterType="..." resultType="...">
  SELECT A.ID 
  FROM ANOTHER_TBL A,
       (<include refid="info" />) B
  WHERE A.ID = B.ID
</select>

 

[์ฐธ๊ณ ] Oracle WITH ๊ตฌ๋ฌธ

  • WITH ๊ตฌ๋ฌธ ๋‚ด์˜ ์ฟผ๋ฆฌ ๊ฒฐ๊ณผ(์„œ๋ธŒ์ฟผ๋ฆฌ)๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉ๋  ๋•Œ ์œ ์šฉํ•˜๋‹ค.
  • ์„œ๋ธŒ์ฟผ๋ฆฌ ๋ธ”๋Ÿญ์— ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์˜ค๋ผํด ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ธ๋ผ์ธ๋ทฐ๋‚˜ ์ž„์‹œ ํ…Œ์ด๋ธ”๋กœ ์—ฌ๊ธด๋‹ค.
  • Oracle 9 ์ด์ƒ ์ง€์›

 

[์ฐธ๊ณ ] MySQL Inline View

  • FROM ์ ˆ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์ธ๋ผ์ธ ๋ทฐ ๋ผ๊ณ ํ•œ๋‹ค.
  • ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋งˆ์น˜ ์‹คํ–‰ ์‹œ์— ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ธ๋ผ์ธ ๋ทฐ๋Š” SQL ๋ฌธ์ด ์‹คํ–‰๋  ๋•Œ๋งŒ ์ž„์‹œ๋กœ ์ƒ์„ฑ๋˜๋Š” ๋™์ ๋ทฐ์ด๋‹ค.
  • ์ธ๋ผ์ธ ๋ทฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์กฐ์ธ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

 

References

 

๋ฐ˜์‘ํ˜•