inblog logo
|
silver
    SQL문제풀기

    [SQL문제다시풀기] 대장균들의 자식의 수 구하기 - null

    silver's avatar
    silver
    Feb 11, 2025
    [SQL문제다시풀기] 대장균들의 자식의 수 구하기 - null
    Contents
    문제MYSQL

    문제

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

    MYSQL

    내가 작성한 정답

    select p.id , ifnull(d.pi,0) CHILD_COUNT from (select parent_id,count(parent_id) pi from ecoli_data group by parent_id) d right join ecoli_data p on d.parent_id = p.id order by 1 asc

    MYSQL과 ORACLE에서 NULL다루기

    ㅤ
    MySQL
    Oracle
    ㅤ
    IFNULL
    IFNULL(column_name, 'default_value')
    -
    첫 번째 인자가 NULL이면 두 번째 인자를 반환.
    NVL
    -
    NVL(column_name, 'default_value')
    첫 번째 인자가 NULL이면 두 번째 인자를 반환.
    COALESCE
    COALESCE(column1, column2, 'default_value')
    COALESCE(column1, column2, 'default_value')
    인자 중 첫 번째로 NULL이 아닌 값을 반환.
    NULLIF
    NULLIF(column1, column2)
    NULLIF(column1, column2)
    두 인자가 같으면 NULL, 다르면 첫 번째 인자를 반환.
    ISNULL
    ISNULL(column_name)
    -
    인자가 NULL이면 1, 아니면 0을 반환.
    NVL2
    -
    NVL2(column_name, 'Not Null', 'Is Null')
    첫 번째 인자가 NULL이 아니면 두 번째 인자, NULL이면 세 번째 인자를 반환.
    CASE WHEN
    CASE WHEN column_name IS NULL THEN 'default_value' ELSE column_name END
    CASE WHEN column_name IS NULL THEN 'default_value' ELSE column_name END
    NULL 여부에 따라 다른 값을 반환할 수 있음.
    ㅤ
    ㅤ
    ㅤ
    ㅤ
    IS NULL
    column_name IS NULL
    column_name IS NULL
     NULL이면 TRUE를 NULL이 아니면 FALSE를 리턴
    IS NOT NULL
    column_name IS NOT NULL
    column_name IS NOT NULL
    NULL이면 FALSE를 NULL이 아니면 TRUE를 리턴
    Share article

    silver

    RSS·Powered by Inblog