본문 바로가기
Oracle

[Oracle] select문의 기본 사용법 정의

by 신입같은 3년차 2017. 8. 10.

Oracle에서 제공하는 예제를 사용하였습니다.

기존에 있는 scott/tiger 계정을 unlock 해서 사용하였습니다

 

테이블은 oracle에서 기본 sample 예제로 제공한 scott.sql을 사용하겠습니다.

 

 -- 테이블 조회
select * from tab;

 

 -- scott.sql을 실행하면 다음과 같이 4개의 테이블이 생성되면서 데이터가 insert되는 것을 확인할 수 있습니다.

 

desc bonus;     -- 보너스 테이블
desc salgrade;  -- 연봉, 레벨 테이블
desc dept;      -- 부서 테이블
desc emp;       -- 직원 테이블

 

-- select문


-- select 컬럼리스트 from 테이블명;

 

>> select * from emp;

 [실행 결과]

 

 

 

>> select * from dept;

 

 [실행 결과]

 

 

 

-- 조건이 있는 select문
-- select 컬럼리스트 from 테이블명 where 조건식 (컬럼명 연산자 값);

 

-- job이 CLERK인 데이터 조회


>> select * from emp where job = 'CLERK';

 

 [실행 결과]

 

 

 

 

-- sal이 1000이상인 데이터 조회
>> select * from emp where sal >= 1000;

 [실행 결과]

 

 

 

 

-- comm이 null인 데이터만 조회
>> select * from emp where comm is null;

 [실행 결과]

 

 

 

 

 

 

-- comm이 null이 아닌 데이터만 조회


>> select * from emp where comm is not null;

 

 [실행 결과]

 

 

 

 

 

 

-- 날짜도 비교연산자로 조회 가능


>> select * from emp where hiredate >= '80-12-17';

 

 [실행 결과]

 

 

 

 

 

 


>> select * from emp where hiredate <= sysdate;

 

 [실행 결과]

 

 

 

 

-- 문자열 비교 ( like 연산자 )


>> select * from emp where ename like '%R';

 

 [실행 결과]

 

 

 

 

 

 

-- and / or 조건식 and 조건식
-- 이름이 m으로 시작 , 부서 번호가 10인 사람 검색


>> select * from emp where ename like 'M%' and deptno=30;

 

 [실행 결과]

 

 

 

 

 

 

-- 연봉이 1000 ~ 2000 인 데이터


>> select * from emp where sal >= 1000 and sal<= 2000;

 

 [실행 결과]

 

 

 

 

 

-- 연봉이 1000 ~ 2000 인 데이터를 between 을 사용하여 출력


>> select * from emp where sal between 1000 and 2000;

 

 

 [실행 결과]

 

 

 

 

 

 

-- in ()
-- 연봉이 1600 , 2000인 사람

 

>>  select * from emp where sal in ( 1600 , 2000);

 

 [실행 결과]

 

 

 

 

 

 

 


 

-- 정렬( 오름차순 / 내림차순 ) : 실행순서
-- 3 select
-- 1 from
-- 2 where
-- 4 ordet by 컬럼명 오름차순(ASC) / 내림차순(DESC) 여부

 

 

 

-- job이 clerk 인 사람을 이름순으로 정력


>> select * from emp where job = 'CLERK' order by ename desc;

 

 [실행 결과]

 

 

 

 

 

-- 연봉순 정렬 ( 내림차순 )


>> select * from emp order by sal desc;

 

 [실행 결과]

 

 

 

 

 

 

 

 

-- 연봉순 정렬 ( 오름차순 )


>> select * from emp order by sal;

 

 [실행 결과]

 

 

 

 

 

 

 

-- 중복 제거 ( distinct )


>> select distinct deptno from emp;

 

 [실행 결과]

 

 

 

 

 

 

 

select 에서 가장 많이쓰는것들 위주로 예제를 실행하였습니다 이해가 안되시거나 잘못된 부분은 댓글 남겨주시면 수정하겠습니다

 

 

 

 

 

 


 

반응형

댓글