ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SQL]_1일차_05.12
    프로그래밍/SQL 2021. 5. 14. 10:16

    Notion

    https://www.notion.so/SQL-_12-_05-12-8923d44b23684271a04e1927b64b92dc


    계정

    system 계정

    • id: system
    • pw: oracle

    hr 계정

    • id: HR
    • pw: 1234

    Dark theme for Oracle SQL Developer and 181+ apps - Dracula

    C:\Users\오명균\AppData\Roaming\SQL Developer\system4.1.5.21.78\o.ide.12.2.1.0.42.151001.541

     

    각종 링크


    필기


    강사 소개 (한국 오라클 교육센터, 김진오)

    • 수업 예정 과목
      • 데이터베이스(3일)
      • JSP
      • R

    지금 내 옆에 있는 사람이 경쟁자가 아니다.

    대인배 적인 요소

    • 친구가 같은 회사에 붙었고 나는 떨어졌을 때 친구에게 무슨 말을 할 것인가?

    데이터

    • 정형 데이터
    • 비정형 데이터
      • 저장 방법
        • 그냥 저장
        • 전용 저장소를 만든다(사진, 동영상 등등)

    SQL

    • 표준화된 언어, DBMS를 사용하기 위한 언어
    • Oracle DB - MS DB 소프트웨어가 달라도 같은 언어를 사용?
    • ANSI와 ISO 표준을 따르고 있다

    DBMS - 데이터베이스 관리 시스템 (거대한 프로그램)

    • 컴퓨터 디스크의 일부를 DB로 사용한다
    • 종류
      • Oracle DB
      • MySQL (오픈소스)
      • MariaDB (오픈소스)
      • DB2 (IBM꺼)

    Database

    • 관계형 db
      • ex) 오라클 데이터베이스
    • 계층형 db
    • 객체 지향 db
    • XML db

    관계형 DB의 주요 객체

    • TABLE
    • VIEW
    • INDEX
    • SEQUENCE
    • 동의어(SYNONYM)

    최신 Oracle SQL LIVE 다운 방법

    • 온라인으로 실습하는 방법
    • 웹서버 프로그램 - 교안 - 01.Oracle DB - 추가공부 SQL 분석 - SQL_LIVE(19c) 사용 방법 (최신 데이터베이스)

    설치

    1. Oracle DB 11g Express Edition : 오라클 데이터베이스를 컴퓨터에 설치
    Oracle Database 11g Express Edition
    1. 데이터 베이스 저장공간 제한 : 11GB
    2. 메인 메모리 사용 제한 : 1GB
    3. CPU 사용 제한 : 1개 (Single CPU)
    출처: [http://wookoa.tistory.com/61](http://wookoa.tistory.com/61) [Wookoa]
    1. Oracle SQL Developer : 오라클 데이터베이스에 연결시키기 위한 용도 (접속 툴)
    2. user name : system
    3. password : oracle

    실습 예제 (49p)

    • oracle 계정
    show user;
    
    SELECT * FROM hr.jobs;
    
    ALTER USER HR ACCOUNT UNLOCK identified BY 1234; -- (원래 내장되어 있는) hr 계정을 잠금해제하고 암호를 1234로 바꾼다
    
    select * from COUNTRIES; -- 오류 oracle 계정에는 COUNTRIES 테이블이 없다
    select * from hr.COUNTRIES; -- hr 스키마에 있는 COUNTRIES 테이블을 출력

    SQL+

    사용하는 이유

    • 엔지니어들이 데이터베이스에 가장 빠르게 접근하기 위해 사용한다
    • 운영체제 문을 SQL+에서 사용가능하다

    실행 방법

    • oracle 프로그램 목록 → SQL command line
    • (실습 교안→ / command line으로 수행하는 프로그램)

    3장


    SELECT 문을 이용해 테이블에서 행을 선택하고(selection), 열을 선택하며(projection), 테이블과 테이블을 연결할(join) 수 있습니다.

    키워드 (== 예약어)

    • 쓰는 방법이 정해져있다

    식별자

    • 사정에 따라 수정할 수 있다 (열의 이름을 수정하는 것)
    SELECT EMPLOYEE_ID FROM EMPLOYEES;
    키워드 : SELECT, FROM
    식별자 : EMPLOYEES, EMPLOYEE_ID

    SQL문 작성 규칙

    • 기본적인 지키면 좋은 부분이 있지만, 회사마다 다르다!!

    ID 참고

    HR 스키마 구조

    • 사용예제
        -SELECT
        --EMPLOYEE_ID
        --,first_name
        --,LAST_NAME
        --FROM EMPLOYEES
        --ORDER BY EMPLOYEE_ID ASC;
        -- 문자열은 아스키코드 기반으로 정렬된다
        -- 날짜도 정렬가능하다
        -DISTINCT 중복 행 제거 후 출력, 실제 데이터 제거한게 아님
        -SELECT
        --EMPLOYEE_ID AS 사원번호
        --,first_name
        --,LAST_NAME
        --FROM EMPLOYEES;
        -SELECT
        --EMPLOYEE_ID
        --,first_name
        --,LAST_NAME
        --FROM EMPLOYEES
        --ORDER BY EMPLOYEE_ID ASC;
        -SELECT
        --EMPLOYEE_ID
        --,first_name || LAST_NAME AS 이름
        --FROM EMPLOYEES;
        -SELECT
        --EMAIL || '@naver.com'
        --FROM EMPLOYEES;
        -SELECT
        --FIRST_NAME
        --FROM EMPLOYEES
        --WHERE FIRST_NAME = 'Lex';
        - WHERE : 특정한 정보 검색
        SELECT
        FIRST_NAME
        ,SALARY
        FROM EMPLOYEES
        WHERE SALARY>10000;
        SELECT DISTINCT
        SALARY
        FROM EMPLOYEES;
        -- 교집합 개념, 두 열이 모두 겹치는 부분만 중복제거
        SELECT DISTINCT
        SALARY
        , MANAGER_ID
        FROM EMPLOYEES;
        SELECT DISTINCT
        SALARY
        FROM EMPLOYEES
        WHERE (SALARY > 10000 and SALARY < 2000);
        -- AND vs BETWEEN 무엇을 선택? 회사의 지침에 따른다
        SELECT
        SALARY
        FROM EMPLOYEES
        -- 10000 <= SALARY <= 20000
        WHERE SALARY BETWEEN 10000 AND 20000;
        SELECT
        SALARY
        FROM EMPLOYEES
        WHERE SALARY IN (10000,17000,24000);
        SELECT
        SALARY
        FROM EMPLOYEES
        WHERE SALARY = 10000 OR SALARY = 17000 OR SALARY = 24000;
        - 잘못된 부분이지만 오류 메시지가 뜨지 않음
        SELECT
        SALARY
        FROM EMPLOYEES
        WHERE SALARY = 10000 AND SALARY = 17000;
        SELECT
        first_name ||' '|| LAST_NAME AS 이름
        FROM EMPLOYEES;
        - %: xx의 모든 것 (비슷한 내용 출력)
        SELECT
        JOB_ID
        FROM EMPLOYEES
        WHERE JOB_ID LIKE 'IT%';
        -- AD 그리고 3글자 충족하는 것 출력
        SELECT
        JOB_ID
        FROM EMPLOYEES
        WHERE JOB_ID LIKE 'AD___';
        -- 맨뒤부분 ERK 충족하는 모든 것 출력
        SELECT
        JOB_ID
        FROM EMPLOYEES
        WHERE JOB_ID LIKE '%ERK';
        -- LIKE와 IN 무슨차이?
        SELECT
        JOB_ID
        FROM EMPLOYEES
        WHERE JOB_ID IN 'FI_MGR';
        -- 1 5를 만족하고 _:글자개수 충족해야하고, 아무글자 상관없다
        -- %:글자개수, 아무글자 상관없다
        SELECT
        JOB_ID
        , SALARY
        FROM EMPLOYEES
        WHERE JOB_ID LIKE '1_5%';
        SELECT
        JOB_ID
        ,SALARY
        ,HIRE_DATE
        FROM EMPLOYEES
        WHERE HIRE_DATE LIKE '**-**_-05';
    • -SELECT EMAIL FROM EMPLOYEES; --SELECT EMPLOYEE_ID FROM EMPLOYEES; -- 내림차순으로 변환

    댓글

Designed by Tistory.