테이블
- 데이터베이스에서 데이터의 실질적인 저장소 역할을 수행
- 2차원 표(테이블)의 형태로 데이터를 저장한다
- 하나의 데이터베이스는 여러 개의 테이블이 존재한다
테이블의 구성요소
행
- 다른 행과 와전히 독립적이다
- 행의 순서는 중요하지 않으며, 행은 특정한 정보의 모든 데이터를 나타낸다
열
- 데이터의 속성을 나타낸다 (데이터의 이름, 데이터의 자료형)
- 같은 열은 같은 종류의 값을 가진다
- 열은 서로 다른 이름을 가지고 있다
- 하나의 테이블에 이름이 같은 열은 존재할 수 없다
DML
- 데이터 조작어다
- 데이터의 추가, 조회, 변경, 삭제 명령어
데이터 조회(SELECT)
테이블의 모든 행, 모든 컬럼을 조회
  SELECT *
  FROM   테이블명;
테이블의 특정 행, 특정 컬럼을 조회
  SELECT 컬럼명, 컬럼명, ...
  FROM   테이블명;
테이블 조회의 예시

산술식 사용하기
- SELECT절, WHERE절, GROUP BY절, HAVING절 등에서 산술연산자를 사용할 수 있다
- 숫자와 날짜 데이터를 대상으로 만 사용할 수 있다

중복 제거하기
- 동일한 컬럼값을 가진 행이 한 번만 조회된다
  SELECT DISTINCT 컬럼명, ...
  FROM 테이블;

별칭(Alias) 사용하기
- SELECT절과 FROM 절에서는 별칭을 정의할 수 있다
- 별칭이 특수문자, 공백을 포함하고 있을때는 " " 안에 적는다
  SELECT 컬럼명 as 별칭, 컬럼명 as "별칭", 연산식 as 별칭, ...
  FROM  테이블명
  SELECT 컬럼명 별칭, 컬럼명 "별칭", 연산식 별칭, ...
  FROM   테이블명

행의 제한(데이터 필터링)
- WHERE절을 사용한다
- 제시된 조건식을 만족하는 행만 조회된다
  SELECT 컬럼명, 컬럼명,....
  FROM 테이블
  WHERE  조건식;

논리연산자
- 두 개이상의 조건식으로 데이터를 제한할 수 있다
- AND, OR, NOT
  SELECT 컬럼명, 컬럼명,....
  FROM   테이블명
  WHERE 조건식 AND 조건식;
  
  SELECT 컬럼명, 컬럼명,....
  FROM   테이블명
  WHERE 조건식 OR 조건식;
  
  SELECT 컬럼명, 컬럼명,....
  FROM   테이블명
  WHERE 조건식 AND (조건식 OR 조건식);

기타 연산자
- BETWEEN 값 AND 값 : 컬럼의 값이 하한값과 상한값 범위내면 TRUE다.
  SELECT 컬럼명, 컬럼명, ....
  FORM 테이블명
  WHERE 컬럼명 BETWEEN 값 AND 값;

IN (값, 값, 값, ... ) : 컬럼의 값이 제시된 값들 중 하나와 일치하면 TRUE다
OR와 흡사하다는 것을 알 수 있다
  SELECT 컬럼명, 컬럼명, ....
  FROM 테이블명
  WHERE 컬럼명 IN (값, 값, ...);

LIKE 패턴 : 컬럼의 값이 제시된 패턴과 일치하면 TRUE다
| 패턴문자 | 설명 | 
| '%' | 0개 이상의 일련의 임의의 문자를 나타낸다 | 
| ' _ ' | 임의의 문자 하나를 나타낸다 | 
  SELECT 컬럼명, 컬럼명, ....
  FROM 테이블명
  WHERE 컬럼명 LIKE '%패턴%'
  
  /*
  
  이름 LIKE '이_'; 성이 이씨고, 이름이 한 글자인 사람
  이름 LIKE '이%'; 성이 이씨인 사람
  책제목 LIKE '%자바%'; 제목에 '자바'가 포함되어 있는 모든 책
IS NULL, IS NOT NULL
- IS NULL : 컬럼의 값이 NULL인 행이면 TRUE 출력
- IS NOT NULL : 컬럼의 값이 NULL이 아니면 TRUE 출력
  SELECT 컬럼명, 컬럼명, ....
  FROM 테이블명
  WHERE 컬럼명 IS NULL
  SELECT 컬럼명, 컬럼명, ....
  FROM 테이블명
  WHERE 컬럼명 IS NOT NULL;

행의 정렬(ORDER BY)
- ORDER BY 절은 SELECT문의 맨 마지막에 써야한다
- ASC는 오름차순, DESC 오름차순. (생략하면 자동으로 오름차순으로 정렬한다)
  SELECT 컬럼명, 컬럼명, ....
  FROM 테이블명
  [where 조건식]
  [order by {컬럼명|표현식} [ASC|DESC]]
  
  -- ASC : 오름차순 정렬
  -- DESC : 내림차순 정렬


데이터 추가 (INSERT INTO)
- 테이블에 데이터를 추가한다
  -- 값이 저장될 컬럼명을 직접 나열하는 방식
  -- 생략된 컬럼에는 NULL값이 저장된다.
  INSERT INTO 테이블명 (컬럼명, 컬럼명, 컬럼명)
  VALUES (값, 값, 값);
  
  -- 컬럼명을 생략하는 방식
  -- 모든 컬럼의 값을 전부 적어야 한다.
  -- 테이블의 컬럼 순서와 동일한 순서로 값을 적어야 한다.
  INSERT INTO 테이블명
  VALUES (값, 값, 값);
  insert into contacts(name, tel, fax)
  values('홍길동', '010-1111-111', '02-1111-1111')
  insert into contacts
  values('홍길동', '010-1111-111', '서울', 'hong@gmail.com', NULL, sysdate)

데이터 변경 ( UPDATE )
- 테이블에 저장된 데이터를 변경
  UPDATE 테이블
  SET
    컬럼명 = 값,
    컬럼명 = 값,
    컬럼명 = 값
  [WHERE 조건식]
    
  -- WHERE 조건식이 없으면 모든 행에서 해당 컬럼의 값을 변경한다.
  -- WHERE 조건식이 있으면 조건식을 만족하는 행에서만 해당 컬럼의 값을 변경한다.

데이터 삭제 ( DELETE )
- 테이블에 저장된 데이터를 삭제
  DELETE FROM 테이블명
  [WHERE 조건식]
  -- WHERE 조건식이 없으면 테이블의 모든 행이 삭제된다.
  -- WHERE 조건식이 있으면 조건식을 만족하는 행만 삭제한다.
테이블의 모든 데이터 삭제하기
  DELETE FROM 테이블명
제시된 조건과 일치하는 행을 삭제하기
  DELETE FROM 테이블명
  WHERE 조건식

'SQL' 카테고리의 다른 글
| SQL_오라클 내장함수(변환함수, 기타함수) (0) | 2023.12.12 | 
|---|---|
| SQL_오라클 내장함수 (문자함수, 숫자함수, 날짜함수) (1) | 2023.12.11 | 
| SQL_오라클의 데이터타입 (2) | 2023.12.07 | 
| SQL_데이터베이스와 SQL (0) | 2023.12.05 | 
| Oracle 설치 (0) | 2023.09.14 | 
 
                    
                  