LabHub

SQL 실전 · 조회와 필터 · 퀴즈

퀴즈: 조회와 필터

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. city = '서울' 인 행이 48개, city <> '서울' 인 행이 335개인데 전체는 400개다. 나머지 17개는?

    1. city 가 빈 문자열('')인 행
    2. 양쪽에 중복으로 세어진 행
    3. 인덱스에서 누락된 행
    4. city 가 NULL 인 행 (양쪽 조건 어디에도 걸리지 않는다)
  2. NULL 을 포함해 '서울이 아닌 모든 행'을 고르려면?

    1. WHERE city <> '서울'
    2. WHERE NOT city = '서울'
    3. WHERE city NOT IN ('서울')
    4. WHERE city IS DISTINCT FROM '서울'
  3. NOT IN 목록에 NULL 이 하나라도 들어 있으면 어떻게 되는가?

    1. NULL 은 무시되고 나머지로 비교된다
    2. 오류가 발생한다
    3. 결과가 한 행도 나오지 않는다
    4. NULL 인 행만 반환된다
  4. CASE WHEN 을 여러 개 나열할 때 주의할 점은?

    1. 모든 조건이 평가되어 마지막 것이 이긴다
    2. 위에서부터 처음 참인 가지가 선택되므로 순서가 곧 우선순위다
    3. 조건이 겹치면 오류가 발생한다
    4. ELSE 는 생략할 수 없다
  5. ORDER BY created_at DESC 만으로 페이지네이션할 때 생길 수 있는 문제는?

    1. 두 번째 페이지부터는 정렬이 아예 적용되지 않는다
    2. created_at 이 같은 행들의 순서가 보장되지 않아 페이지 사이에서 중복이나 누락이 생긴다
    3. OFFSET 절을 함께 쓸 수 없게 된다
    4. 정렬 컬럼의 인덱스를 쓸 수 없다
  6. OFFSET 방식 페이지네이션이 뒷 페이지로 갈수록 느려지는 이유는?

    1. 정렬을 매번 다시 하기 때문
    2. 인덱스가 뒤쪽 값을 담지 않기 때문
    3. 건너뛸 행을 실제로 읽고 버려야 하기 때문
    4. 네트워크 전송량이 늘기 때문