티스토리 뷰

Oracle SQL/SELECT

오라클(Oracle) | SQL 01 | SELECT(기본문법)

justgodoit 2024. 7. 21. 20:29

목차

    오라클(Oracle) | SQL 01 | SELECT(기본문법)

     

    SELECT 개념 및 특징

    1. DQL(DATA QUERY LANGUAGE)

    DATA : 이론을 세우는 데 기초가 되는 사실·자료.

    QUERY : 질문, 문의하다. 데이터베이스에 정보를 요청하는   것, 일종의 요청

    LANGUAGE : 언어

     

    즉 DB에서 데이터에 접근하고 프로그램과 DB사이에 데이터처리를 위해서 사용한다. 조작할 수 있는 언어와 인터페이스를 제공한다. 테이블 내의 데이터를 조회할 때 사용하는 SQL 언어의 유형이다. 주로 *CRUD 차원에서 INSERT, SELECT, UPDATE, DELETE 명령어를 다룬다고 할 수 있다.

    2. 데이터 조회 시 사용

    조회 결과물을 *RESULT SET 이라한다. *RESULT SET 은 SELECT의 결과를 저장하는 객체이다. 데이터 조회 시 데이터의 변경은 발생되지 않는다.

    3. 표현법

      SELECT 조회할 컬럼, 컬럼, .., 산술식, 함수식, .. AS "별칭"
        FROM 조회할 테이블
       WHERE 조회할 데이터의 조건식
    GROUP BY 그룹핑시킬 컬럼, 컬럼, ..
      HAVING 그룹에 대한 조건식
    ORDER BY 정렬기준

     

    👉 SQL명령어 : SELECT

    ✍ 명령문 : SELECT  컬럼명 ;

    데이터베이스에서 데이터를 추출, 조회할컬럼, 컬럼, .., 산술식, 함수식, .. AS "별칭", 절차를 다 마친 후, 해당되는 칼럼들의 결과를 출력하라

     

    👉 SQL 명령어 :  FROM 

    ✍ 명령문 : FROM ㅇㅇㅇ ;

    다음과 같은 ㅇㅇㅇ에서 SELECT문에 작성한 컬럼의 데이터를 가져오겠다. 라는 뜻으로 SELECT과 무조건 함께 작성해주어야한다. 


    👉 SQL
     명령어 :  WHERE

    ✍ 명령문 : WHERE 조건식 ;

    조건식 명령어로 조회할 데이터에서 '조건'을 정한 후 원하는 데이터만 조회 할 때 사용한다. 생략가능하다.


    👉 SQL
     명령어 :  GROUP BY

    ✍ 명령문 : GROUP BY 컬럼명 ;

    그룹으로 만들고 싶은 컬럼을 그룹핑시키는 명령어이다.


    👉 SQL
     명령어 :  HVING

    ✍ 명령문 : HVING 조건식 ;

    조건식 명령어로 GROUP BY를 통해 그룹핑 된 컬럼들에 원하는 데이터만 조회하겠다는 명령어이다.

     

    👉 SQL 명령어 :  ORDER BY

    ✍ 명령문 : ORDER BY 조건식 ;

    정렬기준 명령어로 조회할 데이터를 내림차순으로 불러올지 오름차순으로 불러올지 기준을 입력하는 명령어이다. (기재하지 않으면 오름차순이 디폴트)

     

    🚨 기본문법 작성 시 주의사항

    Orecle 예약어(키워드), 테이블명, 컬럼명 들은 대소문자를 구분하지 않는다. (단, 실제 담겨있는 데이터값은 대소문자를 구분한다.) 테이블명 또는 컬럼명을 여러 단어로 조합할 경우 낙타표현법이 불가능하다. 👉 단어들마다 주로 _로 구분한다.

     

    👀 그럼 해당 명령어들을 이용해 작성 시 데이터가 어떻게 조회되는지 알아보도록 하자

     

    ✔️ Oracle 명령어로 데이터 조회하는 방법

     예시1

    -- EMPLOYEE 테이블에 전체 사원의 모든 컬럼(*) 조회
    SELECT * FROM EMPLOYEE;


     예시2

    -- EMPLOYEE 테이블에 전체 사원의 사번, 이름, 급여만 조회
    SELECT EMP_ID, EMP_NAME, SALARY
    FROM EMPLOYEE;


     예시3

    -- JOB 테이블에 모든 컬럼 조회
    SELECT * FROM JOB;


     예시4

    -- JOB 테이블에 직급명 컬럼만 조회 
    SELECT JOB_NAME 
    FROM JOB;


      예시5

    -- DEPARTMENT 테이블 모든 컬럼 조회
    SELECT *
    FROM DEPARTMENT;


     예시6

    -- DEPARTMENT 테이블에 부서코드, 부서명 컬럼만 조회
    SELECT DEPT_ID, DEPT_TITLE
    FROM DEPARTMENT;


      예시7

    -- EMPLOYEE 테이블에 사원명, 이메일, 전화번호, 입사일, 급여 조회
    SELECT EMP_NAME, EMAIL, PHONE, HIRE_DATE, SALARY
    FROM EMPLOYEE;

     

     

    ✔️컬럼값을 통해 산술연산하는 방법

    SELECT 절에 산술연산식 작성해서 해당 컬럼을 통해 산술연산 결과를 조회할 수 있다.

     

     예시1

    -- EMPLOYEE에 사원명, 사원의 연봉(급여*12) 조회
    SELECT EMP_NAME, SALARY * 12
    FROM EMPLOYEE;


     예시2

    -- EMPLOYEE에 사원명, 급여, 보너스, 연봉 보너스 포함된 연봉((급여 + 보너스 * 급여) *12) 조회
    SELECT EMP_NAME, SALARY, BONUS, SALARY * 12, (SALARY + SALARY * BONUS) * 12
    FROM EMPLOYEE;

     

    ✅산술연산 과정 중 NULL이 포함될 경우 산술연산결과도 NULL로 조회한다.


     예시3

    -- * SYSDATE : 현재 시스템의 날짜 및 시간
    -- DUAL 테이블 == DUMMY 테이블 : 테이블이 필요없는 경우 작성하는 가상의 테이블
    SELECT SYSDATE FROM DUAL;

    SYSDATE : 현재 시스템의 날짜 및 시간

    DUAL 테이블 == DUMMY 테이블 : 테이블이 필요없는 경우 작성하는 가상의 테이블


     예시4

    SELECT EMP_NAME, HIRE_DATE, SYSDATE-HIRE_DATE
    FROM EMPLOYEE;

    SYSDATE - HIRE-DATE : 결과값은 일 단위로 나온다.
    단, 시간까지 연산이 수행되므로 값이 지저분하게 나온다.

     

          (링크발행)

    👉 숫자 관련 함수를 이용하면 깔끔하게 처리할 수 있다.

     

     

    ✔️컬럼에 별칭 부여하는 방법

    컬럼 조회 시 보여질 컬럼명에 별칭을 부여할 수 있다.

    컬럼명 | 산술식 [AS] 별칭 | "별칭"

     

    🚨유의사항🚨

    부여할 별칭에 띄어쓰기 혹은 특수문자가 포함될 경우 반드시 " "로 별칭을 표현해야한다.

     

     예시1

    SELECT EMP_ID 사번, EMP_NAME AS 사원명
    FROM EMPLOYEE;


     예시2

    SELECT EMP_ID, EMP_NAME, SALARY, SALARY * 12 "연봉(원)" , (SALARY + BONUS+SALARY) + 12 AS "총 소득"
    FROM EMPLOYEE;

     

    👀 SELECT 절이 긴 경우 가독성을 위해 아래와 같이 표현도 가능하다.

    SELECT EMP_ID, EMP_NAME, SALARY
         , SALARY * 12 "연봉(원)"
         , (SALARY + BONUS+SALARY) + 12 AS "총 소득"
    FROM EMPLOYEE;

     

    👁️‍🗨️ 👀 💬 💯 ➕ ❗ ❓ ⭕ ☑️ ❌✍👉⏩🚨✔️✅

     

     

     

    이전글

     

    오라클(Oracle) SQL SYS 계정 | SYSTEM 계정 만드는 방법

    오라클(Oracle) SQL SYS 계정 | SYSTEM 계정 만드는 방법  오라클 SYS 계정 | SYSTEM 계정오라클 관리자 계정은 일반 사용자 계정을 생성할 수 있으며, 데이터베이스들 또는 계정들을 총괄적으로 관리하

    fullstackdreamer.com

     

    다음글