+ 00 00 0000

Have any Questions?

03_Simple Coding – Oracle – Select 기초 – 기본 요약

03_Simple Coding – Oracle – Select 기초 – 기본 요약

📃 요약

전세계 기업시장에서 굉장히 활용 많이 하는 관계형 DB 로 오라클이 있음.
상용 가격은 굉장히 비싸고, 유지보수 비용도 굉장히 높은것으로 알려져 있음.
마이크로서비스가 활성화 되면서 예전과 달리 비싼 비용의 오라클보다 무료 DB 로 전환하는 사례도 나타나고 있음
주로 서비스업체 중심으로 Mysql / Maria DB 가 많이 활용되고 SI 프로젝트는 아직도 전통의 강자 오라클이 많이 사용되고 있음

요소 기술 :

– Basic : SQL

📃 기술 구현

스펙 :

- SQL Developer
- Oracle SQL

📃 SQL 기초

1. DB

- DB 서버 <- 사용자가 접속해서 사용함(계정/암호)
- system 계정 : 관리자( 계정생성, 권한관리 또는 DB 환경관리 용으로 사용 )
- scott  계정 : 개발자(사용자) 계정 - 벡엔드 개발을 진행함

2. DB 접속 툴

- sql-developer
    1) 주석             : ctrl + /
    2) 커서 위치 한줄 실행 : ctrl + enter (아이콘 : 삼각형)
    3) 여러줄 실행        : f5           (아이콘 : 문서 + 삼각형) 

3. 테이블

- 데이터를 관리 또는 저장하기 위한 최소단위 

4. SQL 질의문(query)특징

- SQL 명령문 : DB 에 조회/수정/삭제/추가 명령어를 전달 
- CRUD : 4가지 대표 SQL 명령어 
    1) 추가(Create) : insert 
    2) 조회(Read)   : select
    3) 수정(Update) : update
    4) 삭제(Delete) : delete 
- 대소문자 구분이 없음(오라클 DB : 대문자가 성능이 빠름)

5. 조회(R) : select

  • DB 정보를 조회하는 명령어를 실행

1) 전체 조회

-- 1) SQL 문 : 검색(조회) : SELECT ~ FROM 문
-- 사용법) SELECT 컬럼명,컬럼명2... FROM 테이블명;
--        * : 모든 컬럼
SELECT * FROM DEPARTMENT; -- 전체부서를 조회하는 쿼리(질의문)

2) 비교연산자로 조회하기 :

  • 비교연산자 : > , <, >=, <=, =(같다), <>(같지않다)

    사용법) SELECT 컬럼명,컬럼명2 ... FROM 테이블명
    WHERE 조건절(컬럼명 > 값)

— 1) 비교연산자로 조건절 사용하기
— 예제 1) 월급(SALARY) 이 1500 이상인 사원(EMPLOYEE) 조회하기(ENAME, SALARY)
SELECT ENAME, SALARY FROM EMPLOYEE
WHERE SALARY > 1500;

#### 3) 논리 연산자로 조회하기 :
- 논리연산자 ( AND(*****), OR, NOT )
-- 성능 : AND > OR (NOT)
```sql
사용법) SELECT 컬럼명,컬럼명2 ... FROM 테이블명
       WHERE 조건절
       AND   조건절2
       ...

-- 예제 5) 부서번호(DNO) 가 10이고(AND) 직급이(JOB) &#039;MANAGER&#039; 사원을 출력하세요
-- 사원 : EMPLOYEE
SELECT * FROM EMPLOYEE
WHERE DNO = 10 
AND   JOB = &#039;MANAGER&#039;;</code></pre>
<h4>4) BETWEEN / NOT BETWEEN 으로 조회하기 :</h4>
<ul>
<li>BETWEEN     : 작은값 ~ 큰값 사이의 결과 조회하기</li>
<li>NOT BETWEEN : 작은값 ~ 큰값 사이에 없는 결과 조회하기
<pre><code class="language-sql">
사용법) SELECT 컬러명 FROM 테이블명 BETWEEN 작은값 AND 큰값;</code></pre></li>
</ul>
<p>-- 사용처 : 작은값 ~ 큰값 사이의 결과 조회하기
SELECT * FROM EMPLOYEE
WHERE SALARY BETWEEN 1000 AND 1500;</p>
<p>-- NOT BETWEEN : 작은값 ~ 큰값 사이에 없는 결과 조회하기
SELECT * FROM EMPLOYEE
WHERE SALARY NOT BETWEEN 1000 AND 1500;</p>
<pre><code>
#### 5) IN / NOT IN 으로 조회하기  :
- OR 로 연결된 데이터를 조회와 같음 
- SQL 가독성을 높이는 사용법

```sql
사용법) 
    SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 IN (값, 값2, ...);

-- 사용처 ; OR 로 연결된 데이터를 간단하게 사용 가능
-- 예제 10) 상여금(COMMISSION) 300 이거나 500 이거나 1400 인 사원 조회하기
SELECT * FROM EMPLOYEE
WHERE COMMISSION IN (300, 500, 1400);

-- NOT IN 사용
-- 예제 11) 상여금(COMMISSION) 300 이 아니고, 500이 아니고, 1400 아닌 사원 조회하기
-- 사원 : EMPLOYEE
SELECT * FROM EMPLOYEE
WHERE COMMISSION NOT IN (300, 500, 1400);

5) LIKE 검색(*****) :

— 정의 : 일부 키워드(영문자, 한글)만 사용해서 비슷한 것들만 추려서 조회하기

사용법) 
    SELECT 컬럼 FROM 테이블명 WHERE 컬럼명 LIKE '%키워드%';

-- 예제 12) 이름이 'F' 로 시작하는 사원 조회하기
-- 사원     : EMPLOYEE
-- 대상 컬럼 : ENAME
-- 사용법) SELECT 컬럼 FROM 테이블명 WHERE 컬럼명 LIKE '%키워드%';
--  % : 키워드를 제외한 문자들
SELECT * FROM EMPLOYEE
WHERE ENAME LIKE 'F%';

6) NULL 검색(조회) :

— 정의 : 일부 키워드(영문자, 한글)만 사용해서 비슷한 것들만 추려서 조회하기

사용법) 
    SELECT 컬럼 FROM 테이블명  WHERE 컬럼명 IS NULL;

-- 예제 15) 상여금(COMMISSION) 이 NULL 인 사원을 조회하세요.
SELECT * FROM EMPLOYEE
WHERE COMMISSION IS NULL; -- 정상

-- 상여금에(COMMISSION) NULL 이 아닌 사람을 조회하세요
SELECT * FROM EMPLOYEE
WHERE COMMISSION IS NOT NULL;

7) ORDER BY :

  • 정렬 기능
  • 오름차순(ASCENDING) : 작은 순부터 큰순으로 정렬, 생략가능
  • 내림차순(DESCENDING) : 큰 순부터 작은순으로 정렬, 생략불가
  • 이 기능을 사용하면 조회 속도 대폭 저하

    사용법)
    SELECT 컬럼명 FROM 테이블명 ORDER BY 정렬대상_컬럼명 ASC; -- 오름차순
    SELECT 컬럼명 FROM 테이블명 ORDER BY 정렬대상_컬럼명 DESC; -- 내림차순

— 예제 16) 사원테이블을(EMPLOYEE) 오름차순으로 정렬하기
— 단 , 월급으로(SALARY) 정렬하세요
SELECT * FROM EMPLOYEE
ORDER BY SALARY ASC; — ASC(오름차순, 생략가능)


답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다