Itwill 학습내용 정리/1. SQL

1.1 Select ~ From ~ ;

cannonvirus 2019. 4. 15. 20:06


※ EMP 테이블 구조


 

# 문제 1. 사원번호(empno), 이름(ename), 월급(sal), 커미션(comm)을 출력하시오.

 

select empno, ename, sal, comm

  from emp;

# 문제 2. 사원테이블 전체를 출력하시오.

 

select *

  from emp;

 

※ select 문의 산술식 및 Null값

산술연산자 +, -, *, /
비교연산자 <, >, <=, >=, <>, !=, ^= (=<, =>은 안됨)
논리연산자 and, or, not

# 문제 3. 이름, 월급, 커미션, 월급+커미션을 출력하시오.

 

select ename, sal, comm, sal+comm

  from emp;

 

select ename, sal, comm, sal+nvl(comm,0)

  from emp;

1. 첫번째 select식은 sal + comm값이 null값으로 나온다. null값은 알 수 없거나, 데이터가 없는 상태이다. 0과 null은 다르다.   [ 5 + ? = ?? ] 을 알 수 있을까? 

2. 두번째 select식은 nvl 함수를 이용해서 comm값이 null일 경우에 0으로 처리해 주는 경우를 말한다. 이 경우에는 값을 알 수 있다.

 [ 5 + 0 = 5 ]

 

※ 연결연산자 ||

# 문제 4. 이름과 월급을 출력하는데 연결 연산자를 이용해서 출력하시오.

 

select ename || sal

  from emp;

# 문제 5. 이름과 월급을 출력하는 데 다음과 같이 출력되게 하시오.

 

 ex) SCOTT의 월급은 3000 입니다.

 

select ename || '의 월급은 ' || sal || '입니다.'

  from emp;

# 문제 6. 아래와 같이 출력되게 하시오.

 

 ex) SCOTT의 "월급"은 3000 입니다.

 

select ename || '의 "월급"은' || sal || '입니다.'

  from emp;

 

select ename || '의 ''월급''은' || sal || '입니다.'

  from emp;

1. ''안에 ""를 사용한 경우

2. ' ' + ' ' + ' ' 형태를 이용

 

※ 컬럼명 지정 ( as )

  - as는 생략 가능하다.

  - 공백문자나 특수문자를 컬럼 별칭으로 사용하려면 양쪽에 더블 쿼테이션 마크("")를 사용해야 한다.

  - 대소분자를 구분하고자 할 때도 더블 쿼테이션 마크("")를 사용해야 한다.

 

 # 문제 7. 이름과 월급과 직업을 Employee name, Salary, Job으로 출력하시오.

 

select ename as "Employee name", sal as "Salary", job as "Job"

 from emp;