Database/SQL

SQL 기초

Jonghee Jeon 2020. 4. 15. 18:54

SQL이란?

  - Structured Query Language

  - 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 프로그래밍 언어

  - 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조정 관리를 위해 고안

  - 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택

 

SQL문법 종류

  - 데이터 정의 언어 (DDL : Data Definition Language)

    • 관계형 데이터베이스의 구조를 정의

  - 데이터 조작 언어 (DML : Data Manipulation Language)

    • 관계형 데이터베이스에 대해 검색 및 업데이트 등의 데이터 조작을 위해 사용

  - 데이터 제어 언어 (DCL : Data Control Language)

    • 관계형 데이터베이스에서 데이터에 대한 액세스를 제어

 

  - 데이터 정의 언어 (DDL : Data Definition Language)

    CREATE - 새로운 데이터베이스 관계 (테이블), VIEW, 인덱스저장 프로시저 만들기

    • DROP - 이미 존재하는 데이터베이스 관계(테이블), , 인덱스, 저장 프로시저를 제거한다.

    • ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경, RENAME의 역할을 한다.

    TRUNCATE - 관계 (테이블)에서 데이터를 돌이킬 수 없는 제거

 

 

   - 데이터 조작 언어 (DML : Data Manipulation Language)

    • SELECT - 검색 (질의)

    • INSERT - 삽입 (등록)

    • UPDATE - 업데이트 (수정)

    • DELETE - 삭제

 

데이터 정의 언어 (DDL : Data Definition Language)

  - SELECT

    • 컬럼 별칭

    • 컬럼명 [AS] 컬럼 별칭 (AS는 생략 가능)

    • ALL - 테이블에 동일한 데이터 행이 있는 경우에도 모든 데이터를 반환한다. 지정하지 않으면 ALL이 선택

    • DISTINCT (UNIQUE) - 테이블에 동일한 데이터 행이 있는 경우 중복을 제거한 1 개만 을 돌려 줌

    • 문자 함수(CHARACTER FUNCTION)

    • LOWER, UPPER, INITCAP, CONCAT, SUBSTR, INSTR, LENGTH, TRIM, REPLACE

    • 숫자 함수(NUMBER FUNCTION)

    • ROUND (반올림), TRUNC (자르기), MOD (나머지)

    • 데이터 형식 변환 함수.(Data Type)

    • TO_CHAR, TO_NUMBER, TO_DATE

    • 그룹 함수

    • AVG (평균), MAX (최댓값), MIN (최솟값), SUM (합계), COUNT (반환되는 행 수

    • 집합 함수

    • UNION (합집합), UNION ALL (전체 집합), INTERSECT (교집합), EXCEPT(예외) ​​또는 MINUS (차집합)

  - FROM

    • 결합 (JOIN )

    • 여러 테이블에서 행을 참조하는 경우에 이용해 조인(JOIN)을 사용

    • 크로스 조인

    • 내부 조인 (등가결합 비균등 조인, 자연 조인, 자체 조인 포함)

    • 외부 조인

  - WHERE

    • 데이터를 추출하는 선택 조건식을 지정

    • 단일 식을 이용하는 것 외에도, 여러 조건을 조회하는 경우도 많음

    • WHERE 절에 그룹 함수를 사용해서는 안된다는 규칙이 존재

    • 패턴 매칭 검색

       • WHERE 열 이름 LIKE ‘A%’

         • 열 이름의 'A'문자값이 해당 데이터 앞부분에 있다면 조회된다.(ex. APPLE, CANON, DEAM)

         • 'A'문자 뒤에 어떠한 값이 들어와도 검색이 된다.(아무 값도 없어도 된다.)

         • '%'는 문자 앞과 뒤에 모두 사용이 가능하다.

         • '%A' 또는 'A%' 또는 '%A%'

 

  - GROUP BY

    • 그룹화 열 또는 컬럼명을 포함하는 식을 지정

    • SELECT A. B FROM LIST GROUP BY A, B;

  - HAVING

    • GROUP BY 절에 집계한 결과에 조건을 정해줄 때 사용

    • SELECT A. B FROM LIST GROUP BY A, B HAVING A > 3

  - ORDER BY

    • 정렬할 컬럼 또는 컬럼을 포함하는 식을 지정하는 것으로 어떠한 경우에도 구문의 마지막에 지정

    • 쉼표로 구분하여 여러 열을 지정

    • 일반적으로 ASC (ascending order), 즉 오름차순 지정이며, 내림차순 지정하려면 DESC (descending order)로 표기

 


참고 - https://ko.wikipedia.org/wiki/SQL

 

SQL - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 이 도표는 단문을 구성하는 SQL 언어 요소 몇 가지를 보여준다. SQL(,[1] or , Structured Query Language[2][3][4][5], 구조화 질의어, S-Q-L[6])는 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 객체 접근 조

ko.wikipedia.org