SQL*PLUS, iSQLPLUS, SQLGATE, ORANGE 같은 프로그램을 이용해서
SCOTT 계정으로 접속하면
SQL>_ 상태 혹은 쿼리문을 입력할 수 있는 상태가 된다.
이 상태에서 SQL>SELECT * FROM TAB; 을 입력하고 실행시키면
아래와 같은 테이블들을 볼 수 있다.
오늘은 여기서 EMP 테이블을 가지고 쿼리문을 익혀보고자 한다.
물론 문제들은 MSSQL2005를 2틀 동안 배우다가 갑작스럽게 오라클로 변경한
K 모학원에서 오늘 연습문제로 내준 것임을 밝혀둔다.
사실 오라클에 관심이 많아서 내심 기다렸는데 잘된 일이라고 개인적으로 생각한다.
자 그럼 EMP테이블에 들어있는 모든 데이터를 보자.
[참고] SELECT 문의 기본형
SELECT 칼럼명 FROM 테이블;
SELECT 문의 확장
SELECT 칼럼명 FROM 테이블 조건절(WHERE)
물론 공부하다보면 SELECT문을 써서도 데이터를 저장할 수 있다.
그것은 개인적으로 찾아보는 것도 실력향상에 도움이 될 듯..
자. 다시 돌아와서 SELECT * FROM EMP를 하면 알 수 있다.
예제들을 풀어보자.
EMP 테이블에서 급여가 3000이상인 사원의 정보를 사원번호, 이름, 담당업무, 급여를 출력하시오.
SELECT EMPNO 사원번호, ENAME 이름, JOB 담당업무, SAL 급여
FROM EMP WHERE SAL >=3000;
EMP 테이블에서 사원번호가 7788인 사원의 이름과 부서번호를 출력하는 SELECT 문장을
작성하시오.
SELECT ENAME, DEPTNO FROM EMP WHERE EMPNO='7788';
테이블에서 입사일이 February 20,1981과 May 1, 1981 사이에 입사한 사원의 이름, 업무, 입사일을 출력하는 SELECT 문은? 단, 입사일 순으로 출력하시요.
SELECT ENAME, JOB, HIREDATE FROM EMP
WHERE HIREDATE BETWEEN '1981/02/20' AND '1981/05/01';
EMP 테이블에서 부서번호가 10, 20인 사원의 정보를 출력하시오. 단, 이름순으로
정렬하시오.
SELECT * FROM EMP WHERE DEPTNO=10 OR DEPTNO=20;
SELECT * FROM EMP WHERE DEPTNO IN(10,20);
EMP 테이블에서 급여가 1500이상이고 부서번호가 10,30인 사원의 이름과 급여를 출력하되
표시를 Employee와 Monthly Salary로 표시되게 하시오.
SELECT ENAME AS Employee, SAL As "Monthly Salary" FROM EMP
WHERE SAL>=1500 AND (DEPTNO=10 OR DEPTNO=30);
EMP 테이블에서 1982년에 입사한 사원의 모든 정보를 출력하도록 하세요.
SELECT * FROM EMP WHERE HIREDATE BETWEEN '1982/01/01' AND '1982/12/31';
EMP 테이블에서 COMM이 NULL이 아닌 사원의 모든 정보를 출력하세요.
SELECT * FROM EMP WHERE COMM IS NOT NULL;
EMP 테이블에서 보너스가 급여보다 10%가 많은 모든 종업원에
대해서 이름, 급여, 보너스를 출력하도록 하세요.
SELECT ENAME AS 이름, SAL AS 급여, COMM AS 보너스 FROM EMP
WHERE COMM > (SAL*1.1) ;
EMP 테이블에서 업무가 CLERK 이거나 ANALYST이고 급여가 1000,3000,5000이 아닌 모든 사원으리 정보를 출력하시오.
SELECT * FROM EMP WHERE (JOB='CLERK' OR JOB='ANALYST') AND SAL NOT IN (1000,3000,5000);
EMP 테이블에서 이름에 L 자가 2 자가 있고 부서가 30이거나 또는 관리자가 7782인
사원의 모든 정보를 출력하시오.
SELECT * FROM EMP WHERE ENAME LIKE '%L%L%' AND (DEPTNO=30 OR MGR='7782');
정리하자면 조건절에서 LIKE, %, IN 등을 이용하여 SELECT 쿼리문을 알아보았다.
추가적으로 ENAME이 A로 시작하는 것만 검색할 경우에는
조건절에 WHERE ENAME LIKE 'A' 으로 하면 A로 시작하는 이름을 검색할 수 있다.
또한 이름이 총 5자이며 A로 시작하는 이름이 있는지 알고자 할 경우에는
WHERE ENAME LIKE 'A____' 이런식으로 _(언더바) 4개를 지정해주고 실행하면 검색이 가능하다.
그럼 즐 공부들 하시길..
'컴퓨터 관련 무료강좌 > 오라클(ORACLE)' 카테고리의 다른 글
ORACLE-SQLPLUS사용하기 (1) | 2008.04.19 |
---|---|
ORACLE-JOIN 알아보기 (4) | 2008.04.19 |
ORACLE-To_CHAR, CASE 배우기 (0) | 2008.04.18 |
ORACLE-여러가지 함수들 (0) | 2008.04.17 |
ORACLE-웹접속하기 (0) | 2008.04.16 |