ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오라클 DB 용어, 명령문 정리01 - 기호, 연산자, SELECT문
    비전공자 공부일기/:: DB - SQL 2019. 5. 17. 17:25

    2019. 05. 17 수업내용 정리

    내가 찾아보려고 정리한 내용

     

    <오라클 기본용어>

     

    • 테이블(TABLE): DB에서 데이터를 저장하기 위한 객체
    • 스키마(SCHEMA): 논리적 공간(물리적으론 존재X)
    • 식별자: 테이블명, 컬럼명, 컬럼별명 등. 단어와 단어의 구분자로 _ (언더바)를 사용
                (대소문자 구분을 하지 않으므로 자바처럼 카멜 표기법을 사용하지 않는다)
    • PK (PRIMARY KEY): 제약조건. 절대 중복데이터가 저장되지 않는 고유값. 객체들이 서로 관계를 맺도록 함
    • FK (FOREIGN KEY): 제약조건. 여러 개의 테이블이 서로 연결될 수 있도록 함.

     

    <오라클 기호>

     

    • -- : 설명문 처리(자바의 //같은 역할)
    • ; : 명령을 구분하기 위해 명령 마지막에 써주는 것. 문장의 마침표와 같은 역할
    • * : '모든 컬럼'이라는 뜻. 다른 검색 대상과 동시에 사용 불가
    • " " : 얼라이어스(컬럼의 별명)에 공백이나 특수문자를 넣고 싶을 때, "별명"으로 묶어준다. 
    • ' ' :  SELECT문에서 별명을 제외한 나머지 문자값, 숫자값, 날짜값을 표현할 때 씀
            -- 참고로 문자형 상수는 대소문자를 구분
    • | | : 여러 개의 문자열을 연결하여 하나의 문자열로 결합. 자바에서 +의 역할
    • %,  _ : 전체(%)와 문자(_)를 나타내는 검색패턴기호.
               값을 비교하기 위해 = 연산자를 사용할 경우, % 또는 _는 문자로 인식되어 처리
              ※검색패턴기호: 부정확한 값을 검색하기 위해 제공되는 기호
              -- ex) 'A%' : A로 시작하는 / %A%' : A를 포함하는 / '_A%' : 두 번째 문자가 A인

     

    <오라클 연산자>

    • = : 같다
    • !=, ^=, <>, NOT(조건식) : '다르다', '~가 아니다'
    • >= , <=, >, < : 이상, 이하, 초과, 미만 -- 숫자형 뿐만 아니라 문자형, 날짜형 상수도 비교 가능(A<B)
    • AND, OR : 비교연산자 -- 자바처럼 &&, || 을 쓰면 안 된다!
    • BETWEEN 작은값 AND 큰값 : 컬럼값이 두 값 사이에 존재할 경우 TRUE 제공 -- 작은값, 큰값 순서 꼭 지켜야 함
      ※ 범위연산자 : 값1~값2의 범위값을 조건식으로 표현 --- 값>=A AND 값<=B 로 써도 되긴 됨
    • IN (값1, 값2, ...) : 컬럼값이 나열된 값들 중 하나인 경우 TRUE를 제공하는 선택연산자
    • IS (NOT) NULL : 컬럼값을 NULL과 위한 연산자 --- 값=NULL 이라고 검색할 수 없음
    • LIKE '값 또는 검색패턴기호' : '문자의 조합이 같은' 의 뜻. 검색패턴기호를 이용한 검색 시
      --- = 연산자와의 차이점은 %, _를 문자로 인식하느냐(=), 기호로 인식하느냐의 차이(LIKE)
    • ESCAPE '패턴기호' : LIKE 연산자로 검색하려는 문자열에 검색패턴기호가 포함되어 있을 때 ESCAPE 옵션으로 제어문자 표현

    (TIP) 예를 들어 이름이 A로 시작하는 이름을 표현하고 싶다면, NAME<='A' 가 아니라 NAME>='A' AND NAME<='B' 로 표현해야 함.

     

     


     

     

    <오라클 SELECT문 정리>

     

    --------------------------------기본 개념--------------------------------

    테이블이나 뷰에 있는 데이터를 조회할 때 사용하는 문장

    ---------------------------------------------------------------------------

     

    --------------------------------기본 구문--------------------------------

    SELECT * 혹은 컬럼

    FROM 테이블명

    WHERE 조건

    ORDER BY 컬럼;

    ---------------------------------------------------------------------------

     

    • SELECT : 하나 이상의 테이블에서 행을 검색하기 위한 명령
    • SELECT  검색대상, 검색대상, ... FROM 테이블명, 테이블명, ...;  
      -- 원하는 테이블에서 원하는 데이터를 조회할 때 쓰는 문장
      ※ 검색대상 : *(모든 컬럼) - 다른 검색 대상과 동시 사용 불가, 컬럼명, 연산식, 함수 등
    • SELECT TABLE_NAME FROM TABS;
      -- 현재 접속 사용자의 스키마에 존재하는 테이블 목록 확인
    • SELECT * FROM TAB;
      -- 위 명령어와 같은 역할
    • SELECT 검색대상 AS 별명, 검색대상 AS 별명, ... FROM 테이블명, ...;
      -- -- 여기서 AS는 ALIAS란 뜻
      ※ COLUMN ALIAS: 검색대상에 별명을 붙여 임시 컬럼명으로 나타내는 기능
                               검색대상을 간단하게 표현하거나 명확한 의미를 부여하기 위해 사용
      ※ 원래 별명에 띄어쓰기나 특수문자는 쓸 수 없지만, "별명" 으로 묶어 표현하면 가능.
    • SELECT 20+10 RESULT FROM DUAL;
      -- 테이블이 필요 없는 SELECT 명령 수행하기 위해 . 연산식을 
      -- 연산식의 결과가 나타나는 컬럼명이 RESULT로 지정됨
      ※ DUAL: 테이블이 필요 없는 SELECT 명령을 사용할 경우 제공되는 가상의 테이블
    • SELECT DISTINCT 검색대상 FROM EMP;
      -- 중복 컬럼값을 제외하고 하나의 결과값만 보여줌
      ※ 오라클에서는 DISTINCT 키워드에 검색대상을 여러 개 나열하여 사용 가능
    • SELECT 검색대상 FROM 테이블명 WHERE 조건식;
      -- 조건식을 만족하는 경우의 검색결과를 보여줌
      ※ WHERE: 조건식을 사용하여 조건이 참인 행만 검색하는 기능을 제공하는 키워드
      ※ 하나의 행만 검색하려고 할 경우, PK 제약조건이 부여된 컬럼을 이용하여 검색(중복값이 없으므로)
    • SELECT 검색대상 FROM 테이블명 [WHERE 조건식]
            ORDER BY {컬럼명|연산식|컬럼별명|INDEXT} {ASC|DESC}, {컬럼명|연산식|컬럼별명|INDEXT} {ASC|DESC}, ...
      -- 검색 결과를 정렬하여 출력해주는 명령어(ASC:오름차순 / DESC:내림차순/지정 안하면 자동으로 ASC)
      -- 첫 번째 조건의 정렬값이 동일할 경우, 두 번째 정렬값 이용
      -- ORDER BY 없이 하는 일반 검색은 테이블에 저장된 순서대로 검색하여 결과를 출력한다.(너저분)
      -- SELECT~WHERE 까지의 명령어를 먼저 실행한 뒤 ORDER BY 명령어 실행(뒤로 가면 중요!)

     

    <기타>

    • DESC 테이블명; -- 테이블 속성정보 확인(컬럼명과 자료형)
    • NUMBER(n) -- n자릿수까지 쓸 수 있다는 뜻
    • DATE -- 오라클의 날짜형 상수는 기본적으로 'RR/MM/DD' 패턴으로 표현. 다른 DBMS에선 일반적으로 'YYYY-MM-DD' 형식으로 표현 가능. 오라클도 쓸 수 있다.
    • DQL(DATA QUERY LANGUAGE) -- 데이터 질의어(QUERY 쿼리)

     

    댓글

coding wanee