...

구구단 출력 본문

MySql

구구단 출력

zepply 2017. 9. 20. 09:30

구구단 출력


Server

 CentOS

Server Info

 6.9

DB 환경

 mysql

DB Version

 5.7

Language

 SQL



출    처 

 http://database.sarang.net/?inc=read&aid=25451&criteria=oracle&subcrit=&id=&limit=20&keyword=to_time&page=1


포스팅 내용 보시고 좋은 방법이 있으면 

          댓글 부탁 드립니다.


SQL 구구단 출력을 찾다 보면 


대부분 php로 구현을 해서 넣는 내용과,

          Oracle 쿼리를 구현해서 넣는 내용들이 많이 있습니다.


          "실무에서는 Oracle을 많이 사용 하지만

                  현재 카카오 뱅크 & 쿠팡 & 위메프 등 주요한 곳에서 

                           MySQL을 이용해서 대용량으로 구축 해서 사용하고 있습니다."


일단 dual을 이용해서

       구구단을 출력 하는 내용입니다.


일단 구글링 하면 아래와 같은 내용이 나옵니다.


SELECT 

b.b, '*' , a.a , '=', a.a * b.b

from

(

select 1 as a from dual union all

select 2 as a from dual union all

select 3 as a from dual union all

select 4 as a from dual union all

select 5 as a from dual union all

select 6 as a from dual union all

select 7 as a from dual union all

select 8 as a from dual union all

select 9 as a from dual 

) a

cross join

(

select 1 as b from dual union all

select 2 as b from dual union all

select 3 as b from dual union all

select 4 as b from dual union all

select 5 as b from dual union all

select 6 as b from dual union all

select 7 as b from dual union all

select 8 as b from dual union all

select 9 as b from dual 

) b

order by a.a, b.b;


아래 와 같이 나오면

       1단 2단 모여 있지 않아서  보기 불편 할 수 있습니다.

   

출력 결과

 


위 쿼리를 응용해서 

    아래와 같이 작성 해보았습니다.


작성한 SQL문은

SELECT 

  b.b, '*' , a.a , '=', a.a * b.b

 ,c.c, '*' , a.a , '=', a.a * c.c

 ,d.d, '*' , a.a , '=', a.a * d.d

 ,e.e, '*' , a.a , '=', a.a * e.e

 ,f.f, '*' , a.a , '=', a.a * f.f

 

 ,g.g, '*' , a.a , '=', a.a * g.g

 ,h.h, '*' , a.a , '=', a.a * h.h

 ,i.i, '*' , a.a , '=', a.a * i.i


from

(

select 1 as a from dual union all

select 2 as a from dual union all

select 3 as a from dual union all

select 4 as a from dual union all

select 5 as a from dual union all

select 6 as a from dual union all

         select 7 as a from dual union all

         select 8 as a from dual union all

         select 9 as a from dual 

) a

cross join

(select 2 as b from dual) b

,(select 3 as c from dual) c

,(select 4 as d from dual) d

,(select 5 as e from dual) e

,(select 6 as f from dual) f

,(select 7 as g from dual) g

,(select 8 as h from dual) h

,(select 9 as i from dual) i


출력 결과

 

     캡처 내용에는 2단, 3단, 4단 까지만 나오지만

            가로로 9단까지 출력 하시는 것을 확인 하실 수 있습니다.