select empno as "사원 번호", -- 띄어쓰면 읽지 못하므로 쌍따옴표 넣어줌
ename "사원이름!", -- 특수기호를 읽지 못하므로 쌍따옴표 넣어줌
sal "Salary" -- 대문자 읽지 못하므로 쌍따옴표 넣어줌
from emp;
select empno || '-' || ename
from emp;
-- 연결연산자와 달리 함수 인자에 3개를 넣을 수 없음
select concat(empno, ename)
from emp;
-- 함수는 2번 사용하지 않도록 한다
select concat(concat(empno, '-'), ename)
from emp;
---
-- 예제) emp 테이블에서 ALLEN의 이름, 부서번호, 연봉을 출력
select lower(ename), DEPTNO, sal
from emp
where lower(ename) = 'allen';
-- 문법에서는 대소문자 구문하지 않지만 데이터 내에는 대소문자 구분함
-- 'allen'쓰면 검색 안됨. lower 함수(<-> upper)로 소문자로 바꿔주면 검색 됨
select ename, DEPTNO, sal
from emp
where upper(ename) = 'ALLEN';
-- 예제) emp 테이블에서 sal이 2000이상인 직원의 이름, 부서번호, sal, comm 출력
select ename, deptno, sal, comm
from emp
where sal >= 2000;
select *
from EMP
where sal between 1300 and 2000;
select *
from student
where GRADE in (1, 2);
select *
from student
where NAME in ('이윤나', '김진욱');
select *
from EMP
where COMM is null;
select *
from EMP
where COMM is not null;
-- like : 패턴 연산자
-- % : 자리수 제한 없는 모든
-- _ : 한 자리수 모든
-- 예제) emp 테이블에서 이름이 S로 시작하는 직원 출력
select *
from EMP
where ename like 'S%';
-- 예제) student 테이블에서 이름의 두번째 글자가 '진'인 학생 정보 출력
select *
from student
where name like '_진_';
select *
from student
where grade != 4;
-- 예제) student 테이블에서 3, 4학년이 아닌 학생
select *
from student
where grade != 3
and grade != 4;
select *
from student
where grade not in (3, 4);
-- 예제) student에서 몸무게가 50 ~ 60이 아닌 학생 출력
select *
from student
where weight not between 50 and 60;
-- 해당 세션 내 모든 날짜 포맷을 동일하게
alter session set nls_date_format = 'RR/MM/DD';
-- 저장된 날짜 포맷 : 'YY/DD/DD'
-- 출력 날짜 포맷 : 'YYYY/MM/DD HH24:MI:SS'
-- alter session set nls_date_format = 'RR/MM/DD';
-- '78/01/01' => '1978/01/01'로 인식
-- alter session set nls_date_format = 'YY/MM/DD';
-- '78/01/01' => '2078/01/01'로 인식
select *
from emp
where hiredate = '1980/12/17 00:00:00'; -- 해당 쿼리는 불가능
-- 아래 2개는 같은 결과
select *
from emp
where hiredate = '1980/12/17';
select *
from emp
where hiredate = '80/12/17';
-- 아래 2개는 같은 결과
-- 1980/12/17일 이후에 입사한 사원 출력
select *
from emp
where hiredate > '1980/12/17';
select *
from emp
where to_char(hiredate, 'YYYY/MM/DD HH24:MI:SS') > '1980/12/17 00:00:00';