지난시간 추가한 샘플데이터를 활용한 간단한 과제풀이 내용 입니다.
샘플 데이터 테이블 생성 스크립트 참고 : https://code-zzolbo.tistory.com/36?category=807926
급여(SAL)가 1500과 2500 사이인 사원의 사번, 이름, 급여를 출력
[조건]
A. EMP/사원테이블을 이용
B. 첫 번째 쿼리문은 논리 연산자 AND 조건 연산자를 사용,
두 번째 쿼리문은 BETWEEN AND 연산자를 이용
C. 사번, 이름, 급여를 출력
D. 급여 컬럼으로 내림차순(DESC) 정렬
조건은 다음과 같습니다.
풀이
1 ~ 5 까지 사이에 있는 값을 조회 하려면 BETWEEN 을 자주 쓰게 됩니다.
BETWEEN A AND B 형식으로 써야하며, 위의 문제에 해당하는 쿼리문은
첫번째 방법
SELECT EMPNO
, ENAME
, SAL
FROM EMP
WHERE SAL >= 1500
AND SAL <= 2500
ORDER BY SAL DESC;
AND를 통해 1500 이상 2500 이하로 조회함.
- 첫번째 결과
두번째 방법.
SELECT EMPNO,
ENAME ,
SAL
FROM EMP
WHERE SAL BETWEEN 1500 AND 2500
ORDER BY SAL DESC;
- 두번째 결과
위의 두가지 방법으로 조회결과가 같은걸 확인할 수 있다.
상황에 따라 변경해도 되지만
가장 편한 방법을 택해서 사용하면 됩니다.
부서테이블에서 부서번호가 40인 데이터를 삭제하려고 한다.
[DEPT/부서테이블]을 DEPT_DEL테이블명으로 복사하는 CREATE 쿼리문을 작성한 후
DELETE문을 이용하여 DML문장을 작성
[조건]
A. [DEPT/부서테이블]을 DEPT_DEL테이블로 테이블 구조 뿐 아니라 내용까지 복사하는 쿼리문을 작성
B. 생성된 테이블에 존재하는 DEPTNO(부서번호)는 NUMBER형
C. DEPT_DEL테이블 내에 DEPTNO(부서번호)가 40인 데이터를 삭제
D. DELETE문을 이용
쉽게말해서 "백업하고 삭제하세요" 입니다.
실무에서도 삭제 하기 전에 간혹 백업을 필수적으로 하는 상황도 있습니다.
실수로 인하여 혹은 삭제하기 직전으로 되돌리기 위한 수단으로 사용할 수 있습니다.
한마디로, 안전한 데이터관리를 위함.
제가 쓴 글을 통해 다시 확인해보고 실습하면 되겠습니다.
https://code-zzolbo.tistory.com/22?category=807926
백업하는 방법입니다.
해설 : 테이블을 생성할꺼다 DEPT_DEL 이라는 테이블로 대신 DEPT 테이블을 전체 조회한 데이터도 같이.
CREATE TABLE DEPT_DEL AS SELECT * FROM DEPT ; 한줄로 해결
이제 DEPTNO 가 40 인 데이터를 삭제 하면 되는데 , 삭제 하기 전에 좋은 습관을 하나 가지고 가야한다.
에이 간단하네? 라고 생각하면서 바로 삭제하기 보다 삭제전 확인하는 절차가 필요하다
DEPT_DEL 전체데이터 확인 결과
EMPNO 가 40인 데이터 확인 결과
DEPTNO가 40인 데이터 확인이 되면 그때, SELECT 를 DELETE로만 바꿔서 삭제하면 된다.
SELECT * FROM DEPT_DEL WHERE DEPTNO = 40; >>>> DELETE FROM DEPT_DEL WHERE DEPTNO = 40;
이러한 과정들이 있어야 실무에서 실수를 피할 수 있다.
- 좋은 습관은 실수를 줄인다. -
댓글