/*
1. 다음은 오늘 날짜를 출력하는 쿼리입니다.
SELECT SYSDATE FROM DUAL ;
위 상태에서 SYSDATE을 TO_CHAR 함수를 이용해서 YYYYMMDD 형태로 출력해주세요.
예) SYSDATE 가 2023-02-28 13:40:58 라면 '20230228' 형태로 연월일만 출력하면 됩니다.
*/
SELECT TO_CHAR(SYSDATE, 'YYYYMMDD')
FROM DUAL;
/*
2. 다음 문자열 '20230228142020' 을 연도/월/일 시:분:초 형태로 출력하려고 합니다.
예) '20230228142020' --> 2023/02/28 14:20:20 형태를 의미
아래 쿼리를 참조하면 위 문자열을 날짜형으로 출력해주세요.
SELECT TO_DATE( '20230228142020' , '????/??/?? ????:??:??') FROM DUAL ;
*/
SELECT TO_DATE('20230228142020', 'YYYY/MM/DD HH24:MI;SS')
FROM DUAL;
/*
3. 직원 테이블에는 입사일시 라는 날짜형 컬럼이 존재합니다.
다음과 같은 결과가 출력되도록 쿼리를 작성해주세요.
이 때 , 직원ID 는 A0001 , A0002 , A0003 인 대상(행 ,튜플) 만 출력되도록 해주세요.
<출력 결과>
직원ID 입사일시 입사연월일 (이건 AS 처리 한겁니다)
A0001 2022-03-21 00:00:00 20220321
A0002 2021-09-12 00:00:00 20210912
A0003 2022-11-06 00:00:00 20221106
*/
SELECT 직원ID
, 입사일시
, TO_CHAR(입사일시, 'YYYYMMDD') AS 입사연월일
FROM 직원
WHERE 직원ID = 'A0001'
OR 직원ID = 'A0002'
OR 직원ID = 'A0003';
/*
4. 직원 테이블에서 다음 정보를 출력하려고 합니다.
그런데 직원 중에 입사일시가 정해지지 않은(NULL) 대상이 있습니다.
이럴 경우 현재시점의 날짜(SYSDATE) 가 출력될 수 있도록 대체하여 값을 출력해주세요.
단, 부서ID 가 D005 이거나 D004 인 대상만 출력해주세요.
<출력결과> `
직원ID 입사일시NVL쓰기 부서ID
A0004 2020-03-11 00:00:00 D004
A0005 2023-02-28 13:58:29 D005
A0009 2013-11-23 00:00:00 D004
A0010 2013-11-23 00:00:00 D005
A0011 2023-02-23 15:29:39 D004
*/
SELECT 직원ID
, NVL(입사일시, SYSDATE) AS 입사일시NVL쓰기
, 부서ID
FROM 직원
WHERE 부서ID = 'D005'
OR 부서ID = 'D004' ;
/*
5. 직원 테이블에서 성별이 '여' 이면서 부서가 D004 인 대상의 모든 정보를 출력해주세요.
*/
SELECT *
FROM 직원
WHERE 성별 = '여'
AND 부서 = 'D004' ;
/*
6. 직원 테이블에서 나이가 50세 이상인 대상을 출력해주세요.
*/
SELECT *
FROM 직원
WHERE 나이 >= 50 ;
/*
7. 직원연락처 테이블에서 구분코드가 '집전화' 이거나 '휴대폰' 인 대상을 모두 출력하세요.
*/
SELECT *
FROM 직원연락처
WHERE 구분코드 = '집전화'
OR 구분코드 = '휴대폰' ;
댓글