관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

SELECT문의 기본 형식 2 - ORDER BY 절 + NULL 본문

알고리즘 및 자료 관리/데이터베이스

SELECT문의 기본 형식 2 - ORDER BY 절 + NULL

huenuri 2024. 8. 21. 16:08

이제 공부를 시작해볼 것이다.

 

학습 내용

  1. ORDER BY로 오름차순, 내림차순으로 정렬하기
  2. NULL 값에 대하여

 

학습 시간

저녁 9시 15분 ~ 10시 반 <1시간 15분 소요>



 

ORDER BY

 

오름차순으로 출력하기

 

 

 

직원들의 급여가 오름차순으로 출력되는 것을 볼 수 있다.

 
 
 

실습 문제 9번 : 입사 날짜를 기준으로 직원의 이름과 입사 날짜를 출력

 
 

다시 풀어보기

 

최근 입사 날짜 기준이니 내림차순으로 해야 한다.

 
 
 
 
 
 
 
예제 문제 10번 : 오름차순과 내림차순의 혼합
 

언뜻 보기에는 SALARY의 정렬이 안 되어있는 것처럼 보이지만, 이것은 두 가지 조건이 함께 있기 때문이다. 직원 ID가 같은 사람 중에서 급여가 높은 순으로 정렬이 되어있다.
나도 처음에는 문제를 잘못 푼 줄 알았는데 아니었다.



 

 

학습 내용 정리하기

 

지금까지는 조건이 따로 필요하지 않아서 WHERE 절이 필요 없었지만, 이걸 쓰게 되면 원하는 행만 가져오도록 필터링할 수 있다. HAVING 절은 GROUP BY와 짝꿍으로 GROUP BY가 없으면 HAVING 절이 존재할 이유가 없다.

 

 


 

 

 

 

 

 

 
 
 
 

NULL이란?

NULL은 연산 자체가 되지 않는다.

'A' = NULL -> false

 

 

 

 

 

 

만약 회원가입을 하는데 이메일을 적지 않으면 그 부분은 NULL값이 되는 것이다. 나중에 이메일을 적는다면 이 NULL값이 다른 값으로 채워지게 된다. 머신러닝을 할 때도 컴퓨터가 이해할 수 있는 데이터로 변환할 수 있는 과정이 필요하다. 이러한 전처리 과정이 80%을 차지하는데, 이 전처리는 NULL 값을 어떻게 채우는지에 관한 것이다.

 
 
 
 
 
 
 

실습 문제 11번

 

보너스가 NULL인 직원도 있고 받고 있는 직원도 있다. 받는 직원의 경우 2배 보너스를 출력해보자!

 


이 문제도 아주 잘 풀었다. 앞서서 학습했던 별칭을 만드는 게 생각이 안나서 다시 찾아보기도 했다.



 

학습을 마치고

다음 학습은 WHERE 절인데 이 부분은 책의 있는 내용을 학습한 후에 진도를 나가보려고 한다. 이렇게 해서 3일치의 데이터베이스 수업을 모두 학습해보았다.
오늘까지 한 부분은 이틀치 3시간 분량의 수업이었다. 이제 SQL 문을 조금은 알게 되었고, 데이터베이스로 원하는 내용도 출력하는 재미를 맛보게 된 것 같다.