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

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

문제

 

내가 작성한 정답

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