inblog logo
|
silver
    SQL문제풀기

    [SQL문제풀기] 대장균의 크기에 따라 분류하기 1

    silver's avatar
    silver
    Nov 30, 2024
    [SQL문제풀기] 대장균의 크기에 따라 분류하기 1
     

    문제

    school.programmers.co.kr
    https://school.programmers.co.kr/learn/courses/30/lessons/299307
     

    내가 작성한 정답

    SELECT ID , (CASE WHEN SIZE_OF_COLONY <=100 THEN 'LOW' WHEN 10< SIZE_OF_COLONY AND SIZE_OF_COLONY <=1000 THEN 'MEDIUM' WHEN SIZE_OF_COLONY >1000 THEN 'HIGH' END) AS SIZE FROM ECOLI_DATA ORDER BY ID ASC;
     

    다른 사람들이 작성한 정답

    # SELECT IF(조건문, 참일때 값, 거짓일때 값) ALIAS SELECT ID, IF(SIZE_OF_COLONY<=100,'LOW', IF(SIZE_OF_COLONY<=1000,'MEDIUM','HIGH')) AS SIZE FROM ECOLI_DATA ORDER BY ID ASC;
     
    💡
    MYSQL의 IF
    조건 1개일 경우
    SELECT column_name, IF(column_name > 100, '크다', '작거나 같다') AS size_category FROM your_table;
    조건 여러개일 경우 - 중첩해서 사용
    SELECT column_name, IF(column_name > 100, '크다', IF(column_name > 50, '중간', '작다')) AS size_category FROM your_table;
     
     
    PL/SQL이용하여 ORACLE에 IF 적용해보기
    DECLARE -- 선언부 v_value NUMBER := 75; -- v_value라는 NUMBER 타입의 변수를 선언하고 75로 초기화 BEGIN -- 실행부 IF v_value > 1000 THEN DBMS_OUTPUT.PUT_LINE('HIGH'); -- v_value가 1000보다 크면 '크다' 출력 ELSIF v_value > 10 THEN DBMS_OUTPUT.PUT_LINE('MEDIUM'); ELSE DBMS_OUTPUT.PUT_LINE('LOW'); END IF; -- EXCEPTION 예외 처리부 (선택적) END;
    ⇒ DECLARE 섹션에서 변수를 선언하고, BEGIN 섹션에서 조건을 평가하여 결과를 출력
     
    • DBMS_OUTPUT.PUT_LINE : 오라클에서 메세지 출력에 사용하는 프로시저
    • ELSIF ⇒ ELSE IF
    • :=는 PL/SQL에서 변수를 선언할 때 초기값을 설정하거나, 이미 선언된 변수의 값을 변경할 때 사용되는 대입 연산자
     
    Share article

    silver

    RSS·Powered by Inblog