Skip to content

Latest commit

ย 

History

History
129 lines (81 loc) ยท 2.89 KB

[Database SQL] JOIN.md

File metadata and controls

129 lines (81 loc) ยท 2.89 KB

[Database SQL] JOIN

์กฐ์ธ์ด๋ž€?

๋‘ ๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•

ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด, ์ ์–ด๋„ ํ•˜๋‚˜์˜ ์นผ๋Ÿผ์„ ์„œ๋กœ ๊ณต์œ ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰์— ํ™œ์šฉํ•œ๋‹ค.


JOIN ์ข…๋ฅ˜


  • INNER JOIN
  • LEFT OUTER JOIN
  • RIGHT OUTER JOIN
  • FULL OUTER JOIN
  • CROSS JOIN
  • SELF JOIN


  • INNER JOIN

    ๊ต์ง‘ํ•ฉ์œผ๋กœ, ๊ธฐ์ค€ ํ…Œ์ด๋ธ”๊ณผ join ํ…Œ์ด๋ธ”์˜ ์ค‘๋ณต๋œ ๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค.

    SELECT
    A.NAME, B.AGE
    FROM EX_TABLE A
    INNER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

  • LEFT OUTER JOIN

    ๊ธฐ์ค€ํ…Œ์ด๋ธ”๊ฐ’๊ณผ ์กฐ์ธํ…Œ์ด๋ธ”๊ณผ ์ค‘๋ณต๋œ ๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค.

    ์™ผ์ชฝํ…Œ์ด๋ธ” ๊ธฐ์ค€์œผ๋กœ JOIN์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค.

    SELECT
    A.NAME, B.AGE
    FROM EX_TABLE A
    LEFT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

  • RIGHT OUTER JOIN

    LEFT OUTER JOIN๊ณผ๋Š” ๋ฐ˜๋Œ€๋กœ ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ” ๊ธฐ์ค€์œผ๋กœ JOINํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

    SELECT
    A.NAME, B.AGE
    FROM EX_TABLE A
    RIGHT OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

  • FULL OUTER JOIN

    ํ•ฉ์ง‘ํ•ฉ์„ ๋งํ•œ๋‹ค. A์™€ B ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒ€์ƒ‰๋œ๋‹ค.

    SELECT
    A.NAME, B.AGE
    FROM EX_TABLE A
    FULL OUTER JOIN JOIN_TABLE B ON A.NO_EMP = B.NO_EMP

  • CROSS JOIN

    ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ „๋ถ€ ํ‘œํ˜„ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ด๋‹ค.

    A๊ฐ€ 3๊ฐœ, B๊ฐ€ 4๊ฐœ๋ฉด ์ด 3*4 = 12๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒ€์ƒ‰๋œ๋‹ค.

    SELECT
    A.NAME, B.AGE
    FROM EX_TABLE A
    CROSS JOIN JOIN_TABLE B

  • SELF JOIN

    ์ž๊ธฐ์ž์‹ ๊ณผ ์ž๊ธฐ์ž์‹ ์„ ์กฐ์ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

    ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์„ ์—ฌ๋Ÿฌ๋ฒˆ ๋ณต์‚ฌํ•ด์„œ ์กฐ์ธํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค.

    ์ž์‹ ์ด ๊ฐ–๊ณ  ์žˆ๋Š” ์นผ๋Ÿผ์„ ๋‹ค์–‘ํ•˜๊ฒŒ ๋ณ€ํ˜•์‹œ์ผœ ํ™œ์šฉํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉํ•œ๋‹ค.

    SELECT
    A.NAME, B.AGE
    FROM EX_TABLE A, EX_TABLE B


[์ฐธ๊ณ ]

๋งํฌ