[실무에서 바로 쓰는 SQL 기본과 SQL 튜닝][ORACLE] 23강

MinHee·2023년 5월 20일
0
post-thumbnail

구구단 2단 출력

계층형 질의문 + with 절

with loop_table as (select level as num
from dual
connect by level <= 9)
select '2' || ' x '|| num || ' = '|| 2*num as "2단"
from loop_table;

1번부터 100번까지의 합?

select sum(level)
from dual
connect by level <= 100;

1번부터 100번까지의 합에서 55를 뺀 값?

select sum(level)
from dual
where level != 55
connect by level <= 100;

구구단 1~9단 출력

with loop_table as (select level as num
from dual
connect by level <= 9),
gugu_table as (select level + 1 as gugu
from dual
connect by level <= 8)
select to_char(a.num) || ' x ' || to_char(b.gugu) || ' = ' || to_char(b.gugu * a.num) as 구구단
from loop_table a, gugu_table b; -- 전체에 대해서 조인

2,5,7단만 빼고 출력

with loop_table as (select level as num
from dual
connect by level <= 9),
gugu_table as (select level as gugu
from dual
connect by level <= 9)
select to_char(a.num) || ' x ' || to_char(b.gugu) || ' = ' || to_char(b.gugu * a.num) as 구구단
from loop_table a, gugu_table b
where a.num in (2,5,7);

직각 삼각형 출력

with loop_table as (select level as num
from dual
connect by level <= 8)
select lpad('', num, '') as star
from loop_table;

반대로 출력하기

with loop_table as (select 9-level as num
from dual
connect by level <= 8)
select lpad('', num, '') as star
from loop_table;

삼각형 출력

with loop_table as (select level as num
from dual
connect by level <=8)
select lpad(' ', 10-level, ' ') || lpad('', num, '') as "Triangle"
from loop_table;

profile
성장하는 개발자

0개의 댓글