훌륭해요!
정답률 87%
문제별 결과
SQL에서 GROUP BY는 지정한 컬럼의 값이 같은 행을 그룹화한다.
SELECT dept, COUNT(*) FROM emp GROUP BY dept는 부서별 인원 수를 반환합니다.
SQL에서 Window Function(OVER)은 GROUP BY 없이 집계를 수행할 수 있다.
ROW_NUMBER() OVER(PARTITION BY dept ORDER BY salary DESC)처럼 그룹핑 없이 각 행에 집계값을 추가합니다.
SQL에서 DROP TABLE과 DELETE FROM table은 동일하다.
DROP TABLE은 테이블 구조까지 완전히 삭제하고, DELETE는 데이터만 삭제하며 테이블 구조는 유지합니다.
SQL에서 COUNT(*)과 COUNT(column)은 항상 같은 결과를 반환한다.
COUNT(*)는 NULL 포함 모든 행을 세고, COUNT(column)은 해당 컬럼이 NULL이 아닌 행만 셉니다.
SQL에서 ORDER BY는 GROUP BY 전에 실행된다.
SQL 실행 순서는 FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY입니다. ORDER BY가 가장 마지막입니다.
SQL에서 외래키(Foreign Key)는 성능에 영향을 주지 않는다.
외래키는 INSERT, UPDATE, DELETE 시 참조 무결성 검사를 수행하므로 성능에 영향을 줍니다.
SQL에서 INNER JOIN과 OUTER JOIN은 동일한 결과를 반환한다.
INNER JOIN은 양쪽 테이블에 매칭되는 행만, OUTER JOIN은 매칭되지 않는 행도 NULL로 포함합니다.
SQL에서 NULL = NULL 의 결과는 TRUE이다.
NULL = NULL은 NULL(UNKNOWN)입니다. NULL 비교에는 IS NULL 또는 IS NOT NULL을 사용합니다.
SQL에서 Clustered Index와 Non-Clustered Index는 동일하다.
Clustered Index는 테이블 데이터의 물리적 순서를 결정하며 테이블당 하나만 가능합니다. Non-Clustered는 별도 구조로 여러 개 가능합니다.
SQL에서 AUTO_INCREMENT 값은 항상 연속적이다.
삭제나 롤백이 발생하면 중간 값이 빌 수 있습니다. AUTO_INCREMENT는 연속성을 보장하지 않습니다.
SQL에서 ALTER TABLE로 테이블 구조를 변경할 수 있다.
ALTER TABLE users ADD COLUMN email VARCHAR(255)로 컬럼을 추가합니다.
SQL에서 COALESCE() 함수는 첫 번째 NULL이 아닌 값을 반환한다.
COALESCE(col1, col2, "default")는 처음으로 NULL이 아닌 값을 반환합니다.
SQL에서 INSERT INTO로 새 행을 추가한다.
INSERT INTO users (name) VALUES ("Kim")으로 새 레코드를 삽입합니다.
SQL에서 IN 연산자는 여러 값과 비교할 수 있다.
WHERE status IN ("active", "pending")는 두 값 중 하나와 매칭되는 행을 선택합니다.
SQL에서 EXPLAIN으로 쿼리 실행 계획을 확인할 수 있다.
EXPLAIN SELECT ...로 쿼리가 어떤 인덱스를 사용하고 어떤 방식으로 실행되는지 확인합니다.