과거 프로그래밍 자료들/SQL(Oracle)
SQL 기초 (2) 데이터 타입 및 출력방법 (결과 값 제외)
평부
2021. 3. 16. 18:00
※ 입력값만 추가함(결과값까지 넣기엔 시간이 너무 오래 걸림;)
※ 논리 연산자
1) AND 연산자
- 부서 번호가 50 이상이고 매니저 ID가 100이상인 사원정보 출력하기(범위는 전체)
2) OR 연산자
- 부서 번호가 30 이거나 매니저 ID가 108인 사원정보 출력하기(범위는 전체)
1
2
3
4
5
6
7
|
//1) AND
SELECT * FROM Employees
WHERE DEPARTMENT_ID >= 50 AND MANAGER_ID >= 100;
//2) OR
SELECT * FROM Employees
WHERE DEPARTMENT_ID = 30 OR MANAGER_ID = 108;
|
cs |
※ 비교 연산자
- AND나 OR 대신 >=나 <= 사용하면 됨
※ 등가비교
- 급여가 5000이 아닌 사원의 데이터 조회하기
1
2
3
4
5
6
7
|
//1번 방법
SELECT * FROM Employees WHERE SALARY != 5000;
//2번 방법
SELECT * FROM Employees WHERE SALARY <> 5000;
//3번 방법(NOT 사용) |
cs |
※ 여러 조건을 만족하는 데이터 출력 → IN 사용
- 직업 아이디가 'IT_PROG, FI_ACCOUNT, ST_MAN'인 사원 조회
- 셋 다 모두가 아닌 경우 : NOT IN을 붙이면 됨
※ 일부 문자열이 포함된 데이터 조회
- '_' : 어떤 값이든 상관 없이 한 개의 문자 데이터 의미
- '%' : 길이와 상관없이 문자가 없는 경우 포함) 모든 데이터를 의미
1) 이름이 대문자 'R'로 시작하는 경우
2) 이름의 두 번째 글자가 'K'인 경우
3) 이름에 LY가 포함되어 있는 경우
4) 이름에 DA가 포함되어 있지 않은 경우
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
// 1)
SELECT * FROM Employees
WHERE FIRST_NAME LIKE 'R%';
// 2)
SELECT * FROM Employees
WHERE FIRST_NAME LIKE '_K%';
// 3)
SELECT * FROM Employees
WHERE FIRST_NAME LIKE '%LY%';
// 4)
SELECT * FROM Employees
WHERE FIRST_NAME NOT LIKE '%DA%';
|
cs |
※ NULL
- 현재 무슨 값인지 확정되지 않은 상태이거나 값 자체가 존재하지 않은 상황
- 산술연산자와 비교 연산자 결과 값 = NULL
※ IS NULL, IS NOT NULL
- 연산 결과가 NULL인지 여부 확인
1 2 3 4 5 | SELECT * FROM Employees WHERE COMMISSION_PCT = NULL; SELECT * FROM Employees WHERE COMMISSION_PCT IS NULL; | cs |