Back-End/Oracle

Oracle ■ DML SELECT(1)

SIKIDA 2024. 7. 10. 19:14
728x90

 

 

◈ DML

• DML(Data Manipulation Language)

데이터 조회 및 변경하기 위한 명령어

 

• DML의 종류

1. 조회 : SELECT

2. 삽입 : INSERT

3. 삭제 : DELETE

4. 변경 : UPDATE

 

• 스키마 오브젝트(Schema Object)

테이블, 뷰, 인덱스와 같은 구조를 포함하는 데이터의 저장 구조를 가진 객체

 

• 스키마(Schema)

여러 개의 스키마 오브젝트가 모인 집합

사용자가 생성한 데이터베이스 객체들을 의미하며 스키마의 이름은 계정명을 따라감

ex) eunsik이라는 계정이 테이블 등의 객체를 만들었다면 eunsik 스키마가 됨

 

• SELECT

데이터를 조회할 때 사용하는 명령어

-> 문법 : SELECT [컬럼명] FROM [테이블명];

 

각각의 컬럼을 조회할 수 있으며, SELECT를 통해 조회된 데이터의 결과물을 RESULT SET 이라고 함

 

• 테이블

데이터베이스에서 정보를 구조화하고 저장하기 위한 개념

스프레드시트의 시트와 비슷한 개념으로써, 오라클에서 각각의 테이블은 하나의 “표“ 형식으로 되어있음

 

• 컬럼

컬럼은 테이블 내의 각 열을 정의 함

* HTML table 태그의 thaed와 같음

 

• SELECT 설명

컬럼명을 작성하는 공간에 *를 입력하면, 모든 컬럼에 대한 정보를 조회함

* 단, 불필요한 컬럼도 조회를 하기 때문에 성능상의 이유로 *는 되도록 사용하지 않는것을 권장함

 

 

◈ DML 연산자 

 

• 연산자 우선순위

1. ()

2. 산술 연산자 ( *, /, +, - )

3. 연결 연산자 ( || )

4. 비교 연산자 ( =, >, <, >=, <=, <>, !=, ^=)

5. IS NULL, NULL, LIKE, IN 6. BETWEEN AND

7. NOT (논리 부정 연산자)

8. AND

9. OR

 

• 산술 연산자

DB에서도 산술 연산자를 활용할 수 있는데, 사칙 연산(+-/*)이 있음

 

• 별칭

AS를 활용하여 컬럼명에 별칭을 부여할 수 있음

* AS 생략 가능

 

한글도 사용 가능함

 

• DISTINCT

조회할 컬럼의 데이터에서 중복을 제거하고 조회

 

 

• WHERE

데이터를 조회할 때 특정 조건을 주어 조건에 만족하는 데이터만 조회함

문법 : SELECT [컬럼명] FROM [테이블명] WHERE 조건식;

 

• 비교 연산자

<, <=, >, >=, =, !=

* 다른 비교 연산자는 이전에 배웟던거와 똑같으며 =는 같다 !=는 같지 않다

 

• WHERE 설명

EMPLOYEES 테이블에서 월급이 5000 이상인 직원들의 정보 조회

 

 

직원들의 번호가 150 미만인 직원들만 조회

 

 

이름이 Diana인 직원 조회

 

 

이름이 Diana가 아닌 직원 조회

 

입사일이 2006년 1월 1일 이후인 직원 조회

 

 

• 논리연산(AND, OR)

자바와 논리연산은 동일함.

AND 연산 : 두 피 연산자가 모두 참일 때 (자바의 &&)

OR 연산 : 두 피 연산자 중 하나 이상이 참일 때 (자바의 ||)

 

• 논리연산(AND) 설명

부서 번호가 80번 이면서, 매니저 아이디가 100번인 직원 조회

 

 

월급이 5000달러 이상이면서, 1000달러 미만인 직원 조회

 

 

 

• 논리연산(OR)

월급이 1000달러 이상 이거나, 부서 번호가 100번인 직원 조회

 

 

• BETWEEN

범위를 지정하여 값을 가져오고 싶을 때 사용

문법 : SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] BETWEEN [값] AND [값]

 

• BETWEEN 설명

월급이 5,000달러 이상 10,000달러 미만인 직원 조회

 

입사일이 2005년 2006년 사이인 직원 조회

 

 

• LIKE

특정 패턴에 만족하는 지 확인해주는 구문 어떠한 문자들에 대한 패턴을 검색할 때 주로 사용됨

문법 : SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] LIKE [값]

 

• LIKE 설명

FIRST_NAME 컬럼에서 “n”으로 시작하는 모든 문자열에 해당하는 데이터를 검색

% : 정규 표현식에서의 *를 생각하면 됨, 모든 문자열을 포함

 

FIRST_NAME 컬럼에서 “en”으로 끝나는 모든 문자열에 해당하는 데이터를 검색

 

 

FIRST_NAME 컬럼에서 문자열 중간에 “ar”이 해당하는 데이터를 검색

 

 

FIRST_NAME 컬럼에서 “i“ 앞에 한글자가 존재하는 데이터 조회

 

 

FIRST_NAME 컬럼에서 “P“로 시작하고 뒤에 2글자가 존재하는 데이터 조회

* 언더바(_)를 두번 사용했으므로 2글자를 뜻함

 

 

• NOT LIKE

NOT LIKE를 사용하여 해당 조건에 만족하지 않는 데이터만을 조회할 수 있음

데이터가 P로 시작하며 뒤에 2글자가 붙지 않는 데이터 조회

 

 

• IS NULL

컬럼에 있는 데이터의 값이 NULL 인지 비교하는 연산자

문법 : SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] IS NULL

 

• IS NULL 설명

COMMISSION_PCT 컬럼의 값이 NULL인 데이터 조회

 

 

• IS NOT NULL

COMMISSION_PCT 컬럼의 값이 NULL이 아닌 데이터 조회

 

 

• IN

여러 개의 값을 제시하고 해당하는 값에 일치하는 데이터가 있는지 조회

문법 : SELECT [컬럼명] FROM [테이블명] WHERE [컬럼명] IN(‘값1’, ‘값2’, ‘값3’);

* AND와 OR는 한가지의 값을 가지고 비교를 한다면, IN은 여러 개의 값을 한번에 비교할 수 있는 연산자

 

• IN 설명

DEPARTMENT_ID의 값이 80 또는 100인 데이터를 조회

 

• 연결 연산자

여러 개의 컬럼 값을 하나의 컬럼처럼 연결 시켜줄 수 있는 연산자