관리 메뉴

프로그래밍 삽질 중

SQL 기초 (2) 데이터 타입 및 출력방법 (결과 값 제외) 본문

과거 프로그래밍 자료들/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 사용)
SELECT * FROM Employees WHERE NOT SALARY = 5000;

cs

 

※ 여러 조건을 만족하는 데이터 출력 → IN 사용

- 직업 아이디가 'IT_PROG, FI_ACCOUNT, ST_MAN'인 사원 조회 

- 셋 다 모두가 아닌 경우 : NOT IN을 붙이면 됨

1
2
3
4
SELECT * FROM Employees
WHERE JOB_ID
IN ('IT_PROG, FI_ACCOUNT, ST_MAN');
 
cs

 

※ 일정 범위 내에서 조회하는 경우 → BETWEEN 사용

- 급여 3000이상 5000이하인 사원 정보 조회하기

1
2
SELECT * FROM Employees
WHERE SALARY >= 3000 AND SALARY <= 5000;
cs

 

※ 일부 문자열이 포함된 데이터 조회 

- '_' : 어떤 값이든 상관 없이 한 개의 문자 데이터 의미

- '%' : 길이와 상관없이 문자가 없는 경우 포함) 모든 데이터를 의미

 

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