Search

22.5.1 QUIZ

1.
Type of Triangle
SELECT CASE WHEN A+B <=C OR A+C <=B OR B+C <= A THEN 'Not A Triangle' ELSE CASE WHEN A=B AND B=C AND A=C THEN 'Equilateral' ELSE CASE WHEN A=B OR B=C OR A=C THEN 'Isosceles' ELSE 'Scalene' END END END FROM TRIANGLES;
SQL
복사
2.
THE PADs
#1 SELECT Name || '(' || SUBSTR(Occupation,1,1) || ')' FROM OCCUPATIONS ORDER BY Name; -- 또는 SELECT CASE Occupations WHEN 'Doctor' THEN Name || '(D)' CASE Occupations WHEN 'Professor' THEN Name || '(P)' CASE Occupations WHEN 'Singer' THEN Name || '(S)' CASE Occupations WHEN 'Actor' THEN Name || '(A)' END AS Name_Ocu FROM OCCUPATIONS ORDER BY Name; #2 SELECT 'There are a total of '|| COUNT(*) || ' ' || LOWER(Occupation) || 's.' FROM OCCUPATIONS GROUP BY Occupation ORDER BY COUNT(*), Occupation;
SQL
복사
3.
Print Prime Numbers
connect by level : 연속된 숫자를 조회할 때 사용
ex) 1~10 까지 연속된 숫자 조회
SELECT LEVEL AS NO FROM DUAL CONNECT BY LEVEL <= 10;
SQL
복사
ex) 2020년 1월부터 12월까지 출력
SELECT '2020년 '||LPAD(LEVEL,2,0)||'월' AS NO FROM DUAL CONNECT BY LEVEL <= 12
SQL
복사
ex) 특정 날짜 구간 조회하기
검색조건의 From ~ To 사이의 날짜 리스트를 구할 수도 있다.
ex) From : 2020년 7월 1일 / To : 2020년 7월 17일
SELECT TO_DATE('20200701','YYYYMMDD') + (LEVEL-1) AS DT FROM DUAL CONNECT BY LEVEL <= (TO_DATE('20200717','YYYYMMDD') - TO_DATE('20200701','YYYYMMDD')) ---------------------------------------------------------------------------------
SQL
복사