데이터베이스

[SQL자격증 문제 오답 풀이 2] SQL 자격 검정 실전 문제에서 틀린 문제 개념 복습하기

joheamin 2025. 3. 6. 17:07

 ❗문자 타입의 값을 숫자 조건을 통해 조회 경우

VARCHAR 속성의 칼럼에 저장된 값을 SELECT WHERE = 1 로 조회

반드시 숫자가 아니더라도 '001, '999' 같은 숫자형식의 문자열을 넣을 경우 자동 형변환이 되어 숫자로 저장된다.
그러나 이때 속성의 행 중 하나라도 숫자형태가 아닌 'HELLO' 같은 문자형식의 값이 있다면 에러 발생

 

 

 

❗칼럼 값에 " " (공백 문자) 을 넣을 경우

공백문자를 넣을 경우 칼럼의 제약 조건이 NOT NULL 이 아닌 이상 
NULL로 저장된다.
이때 SELECT 로 IS NULL로 조회하여도 조회 되진 않는다.

 

❗ DATE에서 1 / 24 / (60/10) 은 무엇을 의미할까

 

1은 1일을 의미하며
1 / 24는 1일을 24로 나눈 즉 1시간이 된다.

1 / 24 👉 1시간
60/10 = 6이니 

1 / 24(1시간) / 6을 하면 👉 10분이다.

 

 

 

❗ DECODE () ?

 DECODE(비교값 1, 비교값 2, 참일 경우 반환, 거짓일 경우 반환) 
IF 와 비슷하다.

 

 

❗ CASE 문에서 쓸 수 없는 키워드

DDL/DML/제어문 등등 
CASE문에서는 단순히 조건문만을 사용한다.

 

 

❗ 연관 서브 쿼리가 불가능한 서브쿼리

 연관 서브쿼리는 메인쿼리와 서브쿼리의 칼럼을 서로 연관지어 연결하는 관계로 
SELECT 와 WHERE 절에서는 사용 가능하지만
FROM 절에서는 불가능 하다.

 

 

 

❗ ORDER BY 0?

ORDER BY는 칼럼명 뿐만이 아니라 숫자로도 지정하여 정렬할 수 있는데
SELECT 속성1,속성2,속성3 에서 ORDER BY 3을 하면 속성3을 기준으로 정렬하는것이다.

만약 ORDER BY에서 조건을 주어 해당 조건이 참일 경우 0을 반환한다면 
ORDER BY 0은 해당 열이 어떤 정렬이든 가장 우선 순위를 뜻 한다.

 

 

❗ 순수 관계 연산자

 순수 관계 연산자는 릴레이션 간의 연산을 수행하는 관계 대수(Relational Algebra) 연산자
중에서 새로운 릴레이션(테이블)만을 반환하는 연산자이며

SELECT , JOIN , RENAME , DIVIDEM , PROJECT 등이 있다.