ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SQL SELECT절과 FROM절
    back-end&DB/SQL(Oracle) 2023. 5. 2. 12:39
    728x90
    • 주석 작성은 하이픈 두개!
    • SQL 문장은 대소문자 구분 X
    • 문자열은 대소문자 구분O -> '문자열'(작은따옴표)
    • 띄어쓰기나 줄바꿈도 명령에 영향 X
    • SQL 문장 끝맺음은 ; (세미클론으로 마무리)
    • 실행 방법은 : Ctrl + Enter or F9

     

    1. 전체 컬럼 출력하기

     - * =  전체를 의미

     - SELECT 출력하고 싶은 컬럼

     - FROM 데이터를 가져올 테이블


    1.1. 직원 테이블에 전체 데이터 출력하기

    SELECT *
    FROM employees;

    1.2. 부서 테이블의 전체 데이터 출력

    SELECT *
    FROM departments;

     

    2. 원하는 칼럼만 출력하기

    - 직원ID, 성

    SELECT employee_id,LAST_name
    FROM employees;


    2.2. 실습

     - 직원 테이블의 직원ID, 이름, 입사일 출력하기

    SELECT employee_id, first_name,hire_date
    FROM employees;

      - 부서 테이블에서 부서ID, 부서명, 근무지 출력하기

    SELECT department_id, department_name,location_id
    FROM departments;


    3. DISTINCT로 중복 제거

    - DISTINCT 중복제거 명령어, SELECT 뒤에 작성

    SELECT DISTINCT DEPARTMENT_ID
    FROM employees;



    3.1. 컬럼이 여러개의 경우 제거 하는 방법
    - job id가 다르기 때문에 department id가 중복이라도 출력한다.

    SELECT DISTINCT job_id, DEPARTMENT_ID
    FROM employees;


    3.2. 실습
     - 직원 테이블에서 입사일 출력 후 행의 개수 확인

    SELECT hire_date
    FROM employees;

     

     - 직원 테이블에서 입사일 중복 제거 출력 후 행위 개수 확인

    SELECT DISTINCT hire_date
    FROM employees;


    4. *(alias)사용 별칭 설정하기
     - ALIAS
     - 컬럼 별칭
     - 컬럼 "별칭"
     - 컬럼 AS 별칭
     - 컬럼 AS "별칭"

     

    4.1. employees_ID 을 직원ID 바꾸기

    SELECT employee_ID 직원ID FROM employees;
    SELECT employee_ID "직원ID1" FROM employees;
    SELECT employee_ID AS 직원ID2 FROM employees;
    SELECT employee_ID AS "직원 ID3" FROM employees;

    - as 명령어 쓰는 것을 선호 -> 별칭을 한눈에 파악 할 수 있기 때문에!
    - 별칭 ""을 쓰는 경우, JAVA의 문자열과 겹칠 수 있음 -> 작업의 효율성이 떨어짐
    - ""를 쓰는 경우, 별칭에 띄어쓰기가 들어가는 등의 특수 사항이 있기 때문에

     

    4.2. 연산
     - SALATY(월급)으로 연봉 계산하기
     - 직원테이블에서 직원ID, 급여, 연봉을 출력하시오.
     - 단, 급여 출력시 급여, 연봉 사용

    SELECT employee_ID, salary 급여, salary*12 연봉 FROM employees; 
    SELECT employee_ID, salary "급여", salary*12 "연봉" FROM employees; 
    SELECT employee_ID, salary as 급여, salary*12 as 연봉 FROM employees; 
    SELECT employee_ID, salary as "급여", salary*12 as "연봉" FROM employees;

     

    5. NULL
     - NULL은 정해지지 않았거나 비어 있는 상태
     - 숫자 0이나 ""(빈공백)과는 다르다!
     - NULL과 연산을 하면 결과값은 NULL이다.

    5.1. 행을 추가하는 명령

    INSERT INTO EMPLOYEES(employee_id, last_name, email, hire_date, job_id) VALUES(207,'성','아이디',SYSDATE,'IT_PROG');

     -  확인

    SELECT * FROM employees;


    5.2. 실습
     - 직원테이블에서 직원 아이디, 급여, 연봉 출력하기
     - * 단 연봉은 AnnSal로 출력
     - SALARY가 없던 사람의 AnnSal의 결과값은?
     - 왜 그렇게 결과값이 나왔는가?

    SELECT employee_ID, salary, salary*12 AS AnnSal FROM employees;


     - salary값이 NULL었던 사람은 연봉도 NULL로 출력
     - NULL은 비어 있는 값이라서, NULL값에 연산을 하면 NULL 출력

    728x90

    'back-end&DB > SQL(Oracle)' 카테고리의 다른 글

    SQL CREATE와 ALTER 그리고 제약 조건  (0) 2023.05.10
    SQL JOIN  (0) 2023.05.09
    SQL GROUP BY와 HAVING와 ORDER BY  (0) 2023.05.08
    SQL 함수  (0) 2023.05.04
    SQL WHERE절과 연산자  (0) 2023.05.03
Designed by Tistory.