본문 바로가기

Oracle Data Base

[SQL Plus]select구문 - 데이터 검색

1. 데이터 검색하기 - SELECT

형식) select 필드명 from 테이블명;

SQL> SELECT empno,ename,job from emp;

 

2. 필드명에 별칭 지정하기 - AS

형식) select 필드명1 AS 별칭명1, 필드명2 별칭명2 from 테이블명

SQL> select ename AS "사원이름", job 업무 from emp;

 

3. WHERE 조건식 사용하기

Q1. emp 테이블에서 sal이 3000이상인 직원을 찾아서

그 직원들의 ename,job,sal 순으로 출력하는 SQL을 작성하시오.

SQL> select ename,job,sal from emp WHERE sal>=3000;

 

Q2. emp 테이블에서 job이 MANAGER인 사원을 찾아서

그 사원의 empno,ename,job 순으로 출력하시오.

SQL> select empno,ename,job from emp WHERE job='MANAGER';

 

Q3. emp 테이블에서 81/02/22 이후에 입사한 사원의

ename, hiredate를 출력하시오.

SQL> select ename,hiredate from emp WHERE hiredate >='81/02/22';

 

4. BETWEEN AND 연산자, AND 연산자

형식) select 필드명1, 필드명2, 필드명3 from 테이블명 where 필드명 between A and B;

Q. emp 테이블에서 sal이 1300과 1800 사이의 직원을 찾아

직원의 ename, job, sal 순으로 출력하시오.

[between and 연산자]

SQL> select ename,job,sal from emp where sal BETWEEN 1300 AND 1800;

[and 연산자]

SQL> select ename,job,sal from emp where sal >= 1300 AND sal <= 1800;

 

5. LIKE 연산자 - % 사용하기

Q1. emp 테이블에서 ename이 A로 시작하는 사원을 찾아서

그 사원의 ename,sal 순으로 출력하시오.

SQL> select ename,sal from emp where ename LIKE 'A%';

 

Q2. emp테이블에서 두번째 글자가 L이 나오는 사원을 찾아서

그 사원의 ename,sal 순으로 출력하시오.

SQL> select ename,sal from emp where ename LIKE '_L%';

 

6. OR 연산자

Q. emp테이블에서 sal이 1500 이거나 job이 SALESMAN인 사원을 찾아서

그 사원의 ename,job,sal 순으로 출력하시오.

SQL> select ename,job,sal from emp where sal=1500 OR job='SALESMAN';

 

7. IN 연산자

Q. emp 테이블에서 empno이 7782,7788,7844인 사원을 검색하여

이 사원의 ename,sal 순으로 출력하시오.

SQL> select ename,sal from emp where empno IN (7782,7788,7844);

 

8. ORDER BY - 정렬하기

형식) select 필드명 from 테이블명 where 조건식 ORDER BY 필드명 [ASC | DESC];

Q. emp 테이블에서 deptno가 10인 사원을 찾아서 그 사원들의

ename,sal,deptno 순으로 출력하되, sal이 많은 순으로 정렬하시오.

SQL> select ename,sal,deptno from emp where deptno=10 ORDER BY sal DESC;