<부정연산>
SELECT *
FROM 직원
WHERE NOT 이름 = '이현정' ;
SELECT *
FROM 직원
WHERE 이름 != '이현정' ;
SELECT *
FROM 직원
WHERE NOT 나이 >= 28 ;
SELECT *
FROM 직원
WHERE 나이 < 28 ;
문제)
문제 1)
SELECT 직원ID
, 구분코드
, 연락처
FROM 직원연락처
WHERE 구분코드 != '휴대폰' ; //구분코드 <> '휴대폰' 로 쓸 수도 있음.
문제 2)
SELECT 직원ID
, 이름
, 성별
, 나이
FROM 직원
WHERE 나이 >= 50 ;
<NULL 조건>
문제)
문제 1)
SELECT *
FROM 직원
WHERE 나이 IS NOT NULL ;
문제 2)
SELECT *
FROM 직원
WHERE 입사일시 IS NULL ;
<SQL 연산자_IN / BETWEEN / LIKE 조건>
[IN]
[BETWEEN]
SELECT *
FROM 직원
WHERE 나이 >= 20
AND 나이 <= 29 ;
SELECT *
FROM 직원
WHERE 나이 BETWEEN 20 AND 29 ;
--BETWEEN은 무조건 ~이상 ~이하(초과, 미만은 절대 사용 노노)
--BETWEEN은 무조건 앞이 뒤보다 작거나 같아야한다.
[LIKE]
예시문제)
예시 1)
SELECT *
FROM 직원
WHERE 이름 LIKE '강%' ;
예시 2)
SELECT *
FROM 직원
WHERE 이름 LIKE '%홍%' ;
예시 3)
SELECT *
FROM 직원
WHERE 패스워드 LIKE '%123' ;
예시 4)
SELECT *
FROM 직원
WHERE 이름 LIKE '__수' ;
예시 5)
SELECT *
FROM 부서
WHERE 부서명 LIKE '__부' ;
+) 보너스 문제. WHERE에 형변환 함수 사용하기
보너스 문제)
1. TO_CHAR을 활용한 방법
SELECT *
FROM 직원
WHERE TO_CHAR(입사일시, 'YYYY') = '2015' ;
2. TO_DATE를 활용한 방법
SELECT *
FROM 직원
WHERE 입사일시 >= TO_DATE('20150101')
AND 입사일시 < TO_DATE('20160101') ;
SELECT *
FROM 직원
WHERE 입사일시 >= TO_DATE('20150101000000', 'YYYYMMDDHH24MISS')
AND 입사일시 < TO_DATE('20160101000000', 'YYYYMMDDHH24MISS') ;
문제)
// 문제1) 직원 테이블에서 이름에 '철'이 포함되는 직원의 직원ID, 이름, 나이를 출력해주세요.
SELECT 직원ID
, 이름
, 나이
FROM 직원
WHERE 이름 LIKE '%철%' ;
// 문제2) 직원 중에 2015년도에 입사를 했거나, 입사일시가 정해지지 않은 직원의 모든 정보를 출력해주세요.
SELECT *
FROM 직원
WHERE 입사일시 >= TO_DATE('20150101000000', 'YYYYMMDDHH24MISS')
AND 입사일시 < TO_DATE('20160101000000', 'YYYYMMDDHH24MISS')
OR 입사일시 IS NULL ;
// TO_CHAR(입사일시, 'YYYY') = '2015'
// 문제3) 2017년 이후부터 현재 시점까지 입사한 모든 직원을 출력해주세요.
SELECT *
FROM 직원
WHERE 입사일시 >= TO_DATE('20170101') ;
// 문제4) 직원 중에 연봉이 7000~9000 사이인 직원들의 직원ID, 연봉, 입사일시를 출력해주세요.
SELECT 직원ID
, 연봉
, 입사일시
FROM 직원
WHERE 연봉 BETWEEN 7000 AND 9000 ;
// 문제5) 직원주소 테이블에서 주소가 '동구'로 시작하는 모든 데이터를 출력해주세요.
SELECT *
FROM 직원주소
WHERE 주소 LIKE '동구%' ;
'Computer Engineering > DB_Oracle' 카테고리의 다른 글
복습용문제_20230302 (0) | 2023.03.02 |
---|---|
FROM_기본 (0) | 2023.02.28 |
WHERE_논리조건.연산자의 우선순위 (0) | 2023.02.28 |
230228_복습용문제 (0) | 2023.02.28 |
WHERE_01. 비교조건과 논리조건 (0) | 2023.02.27 |
댓글