๐Ÿ“—
JunegLee's TIL
  • TIL
  • python
    • class
    • String Basic
    • regularExpression
    • String function
    • Generator
    • String format
    • getset
    • module
    • while
    • numpy
    • print()
    • matplotlib
    • for
    • Boolean
    • tuple
    • package
    • input(variable)
    • list
    • if
    • file
    • type()
    • pandas
    • function
    • dictionary
    • ๊ตฌ๋ฌธ ์˜ค๋ฅ˜์™€ ์˜ˆ์™ธ
    • builtinFunction
    • Constructor
  • algorithm
    • sort
      • mergeSort
      • insertionSort
      • bubbleSort
      • heapSort
      • quickSort
      • selectionSort
    • recursion
    • Greedy
    • DepthFirstSearch
    • basic
      • DataStructure
    • hash
    • BreadthFirstSearch
  • tensorflow
    • keras
      • layers
        • Flatten
        • Flatten
        • Dense
        • Dense
        • Conv2D
        • Conv2D
    • tensorflow1x
    • tensorflow2x
  • DB
    • setting
    • join
    • subQuery
    • overview
  • deep-learning
    • neuralNetwork
    • perceptron
    • neuralNetworkLearning
    • convolution neural network
    • Gradient Descent
    • Linear Regression
    • backPropagation
    • logistic regression
    • overview
  • textPreprocessing
    • overview
  • java
    • basics
      • generic
      • Variable
      • String
    • theory
      • Object Oriented Programing
  • NLP
    • Embedding
    • Natural Language Processing
Powered by GitBook
On this page
  • Sub Query
  • ์„œ๋ธŒ ์ฟผ๋ฆฌ (Sub Query)
  • join์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•œ ๋ฐฉ๋ฒ•
  • select ์ ˆ์— ์„œ๋ธŒ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ
  • from ์ ˆ์— ์„œ๋ธŒ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ
  • where ์ ˆ์— ์„œ๋ธŒ์ฟผ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ

Was this helpful?

  1. DB

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๋‹จ๊ณ„ : ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ•์˜๋ช…์„ ๊ฐ€์ ธ์˜ค๊ธฐ

select 
    la.lano, 
    (select titl from lect where lno=la.lno) as lect_title, 
    la.mno, 
    la.rdt
from lect_appl la;
  1. 3๋‹จ๊ณ„ : ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•™์ƒ๋ช…์„ ๊ฐ€์ ธ์˜ค๊ธฐ

select 
    la.lano, 
    (select titl from lect where lno=la.lno) as lect_title, 
    (select name from memb where mno=la.mno) as stud_name,
    la.rdt
from lect_appl la;

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

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

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

select 
    l.lno, 
    l.titl, 
    (select name from room where rno=l.rno) as room_name, 
    (select name from memb where mno=l.mno) as manager_name,
    (select posi from mgr where mno=l.mno) as manager_posi
from lect l
  1. 2๋‹จ๊ณ„: ์œ„์—์„œ ์ค€๋น„ํ•œ select ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ƒ ํ…Œ์ด๋ธ”๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด์˜ lect_appl ํ…Œ์ด๋ธ”๊ณผ ์กฐ์ธํ•œ๋‹ค

select 
    la.lano, 
    /*(select titl from lect where lno=la.lno) as lect_title,*/ 
    (select name from memb where mno=la.mno) as stud_name,
    lec.titl,
    lec.room_name,
    lec.manager_name,
    lec.manager_posi
from lect_appl la 
    join (select 
                l.lno, 
                l.titl, 
                (select name from room where rno=l.rno) as room_name, 
                (select name from memb where mno=l.mno) as manager_name,
                (select posi from mgr where mno=l.mno) as manager_posi
            from lect l) as lec on la.lno=lec.lno;
  • from ์ ˆ์—์„œ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ธŒ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ๋‹ค๋ฉด, ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์ธ view๋กœ ์ •์˜ํ•ด๋†“๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธํ•˜๋‹ค.

create view lect2 as
select 
    l.lno, 
    l.titl, 
    (select name from room where rno=l.rno) as room_name, 
    l.mno as manager_no,
    (select name from memb where mno=l.mno) as manager_name,
    (select posi from mgr where mno=l.mno) as manager_posi
from lect l;
  • ์œ„์˜ ์งˆ์˜๋ฌธ์„ view๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ์ž‘์„ฑํ•ด๋ณด์ž!

select 
    la.lano, 
    (select titl from lect where lno=la.lno) as lect_title, 
    (select name from memb where mno=la.mno) as stud_name,
    lec.titl,
    lec.room_name,
    lec.manager_name,
    lec.manager_posi
from lect_appl la 
    join lect2 lec on la.lno=lec.lno;

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

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

select 
    la.lano, 
    /* (select titl from lect where lno=la.lno) as lect_title, */ 
    (select name from memb where mno=la.mno) as stud_name,
    lec.titl,
    lec.room_name,
    /* lec.manager_no, */
    lec.manager_name,
    lec.manager_posi
from lect_appl la 
    join lect2 as lec on la.lno=lec.lno 
where
    lec.manager_no in (select mno from mgr where posi in ('๊ณผ์žฅ', '์ฃผ์ž„'));
PreviousjoinNextoverview

Last updated 3 years ago

Was this helpful?