ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle
    카테고리 없음 2021. 11. 23. 15:51

    DBMS

    (DataBaseManagementSystem)

    - 관계형

    - 망형

    - 네트워크 형 등이 있는데 

    orcale은 그 중 관계형 데이터베이스임

    DB랭킹

     

    계정은 관리자계정/사용자계정 으로 나뉨

    SID는 DB를 총칭하는 이름

    포트는 Oracle과 통신하는 번호

     

     

     

     

     

     

     


    11/26 SQL 수업

     

    select ename,  rpad(substr(ename, 1, floor(length(ename)/2)), length(ename), '*') cutName from emp;

     

    -- replace : 문자열의 특정글자를 치환

    select ename, replace(ename, 'A', '에이') from emp;

     

    -- instr : 문자의 위치 구하기

    select ename, instr(ename, 'A') from emp;

    select ename, instr(ename, 'A', 3) from emp;    -- A를 3번째 위치에서부터 찾아라

    select ename, inst(ename, 'L', 2, 2) from emp;  -- L을 두번째 위치부터 두번째만나는 위치를 찾아라

     

    --  trim : 양 사이드에 있는 특정 문자 제거 (가운데꺼는 안지워짐)

    select trim(0 from 00009001000) from dual;

    select ename, trim('S' from ename) from emp;

     

    -- 

    select ltrim('xyxXxyLAST WORD', 'xy') "LTRIM example" from dual;

    select rtrim('BROWNINGyxXxy', 'xy') "RTRIM example" from dual;

     

    -- [문제1]

    select empno, ename, job, hiredate, sal, nvl(comm, 0), sal+nvl(comm,0) from emp;

     

    -- [문제2]

    select ename, job, sal, nvl(comm, 0) comm from emp

    where sal between 2500 and 4000 or job='SALESMAN'

    order by sal desc;

     

    -- deptno가 10이면 account로 20이면 research로 ... 출력

    select ename, deptno, decode(deptno, 10, 'Account', 20, 'Research', 30, 'Sales') department from emp;

     

     

    -- 날짜 함수

    select sysdate from dual;

     

    select to_char(sysdate, 'YYYY-MM-DD HH:MI:SS') from dual;

     

    select ename, hiredate, to_char(hiredate, 'YYYY-MM-DD HH:MI') from emp;

     

     

    -- last_day() 

    select last_day(sysdate) from dual;

     

    select last_day(to_date('2022-02-10', 'YYYY/MM/DD')) from dual;  -- 문자를 날짜형으로 바꿔줘야함

     

    -- add_months() : 월계산

    -- 오늘날짜에서 52개월 후의 날짜

    select to_char(add_months(sysdate, 52), 'YYYY-MM-DD') from dual;

     

    -- emp사원의 입사일 기준 98개월 후를 구하라

    select eame, hiredate, add_months(hiredate, 98) "98개월 후" from emp;

     

     

     

     

    < 테이블생성 >

    -- 가변길이(varChar) : 50자리 지정하고 5자리 넣으면 45자리를 반환 
    -- 고정길이(Char)    : 50자리를 지정하고 5자리만 넣어도 50자리 그대로 가지고있음
    -- primary key      : 중복데이터를 허용하지 않음
    -- default sysdate  : 따로 입력하지 않아도 현재날짜로 기본값 설정

     

     

     

     

    <DB모델링툴>

    eXERD SAM

     

     

     

     

     

    댓글

Designed by Tistory.