다시 도전!
정답률 30%
문제별 결과
SQL에서 DISTINCT는 성능에 영향을 주지 않는다.
DISTINCT는 중복 제거를 위해 정렬이나 해싱이 필요하므로 성능에 영향을 줍니다.
SQL에서 NULL = NULL 의 결과는 TRUE이다.
NULL = NULL은 NULL(UNKNOWN)입니다. NULL 비교에는 IS NULL 또는 IS NOT NULL을 사용합니다.
SQL에서 EXPLAIN은 쿼리를 실제로 실행한다.
EXPLAIN은 쿼리 실행 계획만 보여주며 실제로 쿼리를 실행하지 않습니다(일부 DB는 EXPLAIN ANALYZE로 실행).
SQL에서 UNION과 UNION ALL은 동일하다.
UNION은 중복을 제거하고, UNION ALL은 중복을 포함합니다. UNION ALL이 더 빠릅니다.
SQL에서 FOREIGN KEY는 참조 무결성을 보장한다.
FOREIGN KEY는 다른 테이블의 PRIMARY KEY를 참조하여 데이터의 일관성을 유지합니다.
SQL에서 GROUP BY는 지정한 컬럼의 값이 같은 행을 그룹화한다.
SELECT dept, COUNT(*) FROM emp GROUP BY dept는 부서별 인원 수를 반환합니다.
SQL의 HAVING 절에서는 집계 함수를 사용할 수 있지만 WHERE 절에서는 사용할 수 없다.
WHERE는 행 단위 필터링, HAVING은 그룹 단위 필터링입니다.
SQL에서 INNER JOIN과 OUTER JOIN은 동일한 결과를 반환한다.
INNER JOIN은 양쪽 테이블에 매칭되는 행만, OUTER JOIN은 매칭되지 않는 행도 NULL로 포함합니다.
SQL에서 WHERE와 HAVING은 동일하게 동작한다.
WHERE는 그룹화 전에 행을 필터링하고, HAVING은 GROUP BY 후에 그룹을 필터링합니다.
SQL에서 INDEX는 항상 쿼리 성능을 향상시킨다.
인덱스는 읽기를 빠르게 하지만 쓰기(INSERT, UPDATE, DELETE) 성능을 저하시킵니다. 과도한 인덱스는 역효과입니다.