나의 공부 일기

SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 3 / 4 ) 본문

자격증공부/SQL 개발자

SQL 개발자 자격증 공부 - 2과목 SQL 기본 및 활용 ( 3 / 4 )

곽병권 2024. 2. 11. 16:47
728x90

TOP(순위) 함수

     - 순위의 해당하는 숫자만큼의 값들을 큰값부터 정렬한다.

     - EX) 순위가 3 일경우 가장 큰 값부터 3개 나열한다.

     - 순위에 마지막에 해당하는 값이 중복일경우 WITH TIES 를 사용하여 중복값을 모두 나오게 한다.

 

 

 

정렬시

 ORACLE

     - NULL을 가장 큰 값으로 간주하고 오름차순 내림차순시에도 가장 마지막, 가장 첫번째에 오게 정렬한다.

 

 SQL

     - NULL값을 가장 작은 값으로 간주하여 오름차순 내림차순시에도 가장 첫번째, 가장 마지막에 오게 정렬한다.

 

 

각종 함수들

 

NULLIF( 표현식 1, 표현식 2) 

     - 표현식 1 과 표현식2가 같을경우 null을 반환합니다.

     - 같지 않으면 표현식 1을 가져옵니다.

 

 

 COALESCE(표현식1, 표현식 2, ......., 표현식 n)

     - NULL이 아닌 표현식을 가져옴

 

NVL(열또는 표현식, 대체값)

     - ORACLE에서 사용되는함수

     - 열 또는 표현식이 null인 경우 대체값을 반환함

 

ISNULL(열 또는 표현식 , 대체값)

     - SQL에서 사용되는 함수

     - 열 또는 표현식이 null인경우 대체값을 반환함

 

 

 


SQL 개발자 오답노트

 

1.

SELECT LOC,
       CASE WHEN LOC = 'NEW YORK' THEN 'EAST'
            ELSE 'ETC'
        END as AREA
FROM DEPT;

 

위의 case when 문과 밑의 case 문은 동일한 결과를 가져옵니다.

SELECT LOC,
       CASE LOC WHEN 'NEW YORK' THEN 'EAST'
            ELSE 'ETC'
           END as AREA
FROM DEPT;

 

 

2.

FROM절에서는 () 밖의 다른 값을 가져와서 쓸 수 없다

예를들면 FROM절 밖에서 D를 지정했을때 FROM절 안에서 D를 사용할 수 없습니다.

 

3.

...

ORDER BY (CASE WHEN ID = 'A' THEN 1 ELSE 2 END) , AMT DESC;

 

로 정렬을 했을때

ID가 A인 값이 맨 청음 나오게 정렬을하고 그 후 A인 값들 끼리도 내림차순으로 정렬하여 값을 출력합니다.

 

 

728x90