-
오라클 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 쿼리)
'비전공자 공부일기 > :: DB - SQL' 카테고리의 다른 글
[오라클] 예제03 - JOIN함수, 서브쿼리 (0) 2019.05.22 오라클 DB 용어, 명령문 정리03 - 분석함수, JOIN함수, 서브쿼리 (0) 2019.05.21 [ 오라클] 예제02 - 단일함수, 그룹함수 (0) 2019.05.21 [ 오라클] 예제01 - 기호, 연산자, SELECT문 (0) 2019.05.21 오라클 DB 용어, 명령문 정리02 - 함수(문자, 숫자, 날짜, 단일, 그룹) (0) 2019.05.20