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

SELECT문의 기본 형식 1 - SELECT와 FROM, DISTINCT, 별칭 만들기까지 본문

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

SELECT문의 기본 형식 1 - SELECT와 FROM, DISTINCT, 별칭 만들기까지

huenuri 2024. 8. 21. 15:51

오랜만에 데이터베이스 공부를 다시 시작해본다. 아마 한 달 가까이 된 것 같다. 그때 계정에 접속하는 것까지만 학습해보았다. 데이터베이스의 이론인 모델링 학습만 진행하고 실습은 거의 하지 않았다.
오늘 다시 들어가보니 첫번째 강의 영상이 올라와있어 수업을 들으며 전에 학습하지 못했던 부분을 공부하는 중이다.

어제부터 감기 기운이 조금 있더니 오늘은 기침도 나며 완전 감기에 걸린 것 같아 걱정이다. 침을 삼킬 때마다 목도 따끔거리고 아픈데 공부에 지장이 없기를 바랄 뿐이다.
여름 감기는 개도 안 걸리다는 말이 있는데 이것도 옛말이다. 요즘은 실내에서 에어콘을 너무 세게 틀다보니 면역력이 많이 떨어진다고 한다.
이럴 때는 땀을 쫙 빼며 운동을 하는 게 가장 좋을 것 같다. 2시간만 더 공부를 하고 운동을 해야겠다!

 

 

학습 내용

  1. 오라클 HR 계정 접속하는 법 배우기
  2. SELECT 구문과 * 기호 사용하기
  3. 중복을 제거하는 DISTINCT 구문
  4. 별칭을 만드는 AS 절
 
 
학습 시간

오후 4시 ~ 6시 45분 <2시간 45분 소요>



 

오라클 HR 계정 접속

 

 

system 계정으로 접속한 후, 비밀번호를 보여달라는 명령을 내렸다. 그런 다음 'Hello World'라는 단어를 입력하자 그대로 출력해주었다.
아직은 이 개념이 무엇인지 몰라도 괜찮다고 하셨다.

이제 지난번에 공부하다 말았던 SELECT 구문에 대해서 이어서 학습을 진행해볼 것이다.
조금 전에 실행해보니 중간에 저장이 하나도 되어 있지 않아서 블로그의 올렸던 내용을 다시 보면서 써보았다. 그러면서 복습도 되고 좋았다.

SCOTT 계정으로 접속하는 건 수업의 내용을 어느 정도 숙지한 후에 해보는 게 더 나을 것 같다.



 

 

SELECT 구문

* 아스타리스크 기호

107명까지의 직원의 모든 정보가 출력되는 것을 확인할 수 있다.

 
 
 
 

실습 문제 1 : 직원 테이블 전체 정보 출력

총 27개의 부서가 있음

 
 
 
 
실습 문제 2 : 직원 테이블의 특정 정보 출력
 

 

먼저 직원의 모든 정보를 출력해본다.

 

 

그런 다음에 특정 정보를 출력하는 조건으로 바꾸어주면 된다.

 

 

 

이렇게 3개의 정보만 가져올 수 있다.



 

실습 문제 3 : 부서 테이블의 정보 출력하기

두번째 문제는 혼자서 풀어보았는데 별로 어렵지 않았다.



 

DISTINCT 구문

부서 정보 가져오기

중복된 부분을 모두 제거하고 가져오라고 한다면 어떻게 해야 할까?


 

 

중복된 값 제거하고 정보 가져오기

SELECT에는 ALL이 생략되어 있어 모든 항목이 출력되지만 여기에 DISTINCT를 쓰면 중복된 값을 제거하게 된다.
DISTINCT는 한번만 사용하면 여러 개의 컬럼을 출력할 수도 있다.

 
 
 
 
 
 
실습 문제 4 : JOB_ID의 중복을 제거
 

 

 

실습 문제 5 : JOB_ID와 부서 ID의 중복을 제거

하지만 중복이 제거되지 않은 행이 보인다. 여기서 DISTINCT의 중요한 특징을 알 수 있다.


 

 

실습 문제 6 : 직원의 이름과 급여 정보 출력


 

 

실습 문제 7 : 직원의 이름과 급여, 연봉을 출력

산술 연산자를 사용해서 *12를 쓰면 연봉을 계산할 수 있다.



 

별칭 사용하기

별칭 사용하는 방법


 

 

실습 문제 8 : 별칭을 사용해 직원의 이름과 입사일 다음날 정보 출력


 

한글로도 가능하지만 띄어쓰기를 하면 오류가 나므로 이때는 꼭 쌍따옴표로 감싸주어야 한다. 그러나 별칭을 사용할 때는 대부분 띄어쓰기나 특수문자를 사용하지 않는다.



 

학습을 마치고

ORDER 절까지 공부하고 싶었는데 30분 이상은 더 공부를 해야 되서 여기서 끝내기로 했다. 벌써 6시 반이 넘어서 운동할 시간이 많이 지났다. 아침에 운동을 하면 더 좋을 것 같은데 그때는 보통 공부가 잘 되는 시간이라 멈추는 게 쉽지가 않다.
저녁에 운동을 하면 좋은 점을 운동 후에 샤워하면 하루가 산뜻한 기분이 든다. 그러니까 앞으로 이 시간에 꼭 운동을 해야겠다!

오늘 2시간 반 동안 정말 열심히 데이터베이스 공부를 했다. 지난번에 PPT 파일로 내 나름의 정리만 했던 수업도 다시 들어보았는데 사실 별거 없었다. 내가 정리하고 이해했던 게 거의 맞았다.
한 20분 정도 듣다가 그냥 넘어가도 될 것 같아서 SELECT문부터 학습해보았다. 한달 전에 공부했던 거라 많이 잊어버렸을줄 알았는데 금새 적응이 되었다.

다시 DB 공부도 재미있어졌다. 원래 뭐든 어렵게 생각하게 되면 그 일이 부담스럽고 하기 싫어지는 것 같다. 한번 해보면 쉽고 할만하다는 생각이 들게 되고, 그렇게 매일 꾸준히 하게 되면 그 일은 내게 아주 쉬운 일이 되는 것 같다. 난 시작은 힘들지만 그 일을 지속적으로 하는 일은 시작만큼 힘들지는 않다. 저녁에는 나머지 WHERE 절도 학습하고 자바 배열 공부도 해볼 생각이다~