SQL기초 8

SQL - DML, DDL, DCL, TCL

이번 포스팅에서는, SQL을 기능/목적에 따라 크게 나눈 DML, DDL, DCL, TCL에 대해 알아보고 각각의 명령어에 대해 공부해 보려고 한다. (MySQL 기준) 데이터 정의어(DDL, Data Definition Language) 테이블이나 관계의 구조를 생성하는데 사용하는 명령어 CREATE 데이터베이스와 테이블을 생성하는 명령어 테이블 이름, 열 이름, 데이터 형식 등을 지정 기본키, 외래키 정의 CREATE DATABASE sesac DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CHARACTER SET: 문자들과 그 문자들을 코드화한 인코딩들의 조합 COLLATION: 정해져 있는 인코딩을 기반으로 문자열을 비교/정렬하기 위해 정의된 규칙들의..

SQL기초 2024.02.06

SQL기초7 - 그룹 함수 & 윈도우 함수

이번 SQL기초7에서는 그룹 함수와 윈도우 함수에 대해 다뤄보고자한다. 데이터 분석을 위한 함수로는 그룹 함수, 윈도우 함수, 집계 함수 등이 있는데, 여기서 집계 함수는 윈도우 함수에 포함된다고 봐도 된다. 여태까지는 여러가지 조인이나 조건절을 활용하여 열과 열의 관계를 정의 하였는데 윈도우 함수를 통해서는 단순히 열과 열의 관계 뿐만 아니라, 행과 행의 관계를 정의할 수 있게 된다. PARTITION BY 와 WINDOWING을 헷갈릴 수도 있는데, WINDOWING은 (PATITION BY에 의해) 소그룹으로 나뉜 데이터들을 어떻게 살펴볼 것인가를 결정 WINDOWING절에서 사용되는 특정 명령어들 => ROWS, ... 이어서 작성할 것

SQL기초 2022.07.20

SQL기초6 - 서브쿼리

이번 SQL기초6에서는 서브쿼리에 대하여 학습해보려고 한다. 서브쿼리란, 메인쿼리 안에 있는 쿼리를 말한다. 서브쿼리는 동작하는 방식에 따라 연관 서브쿼리와 비연관 서브쿼리로 나뉜다. 서브쿼리에 메인쿼리의 컬럼이 포함된다면 연관 서브쿼리, 아니라면 비연관 서브쿼리이다. - 연관 서브쿼리: 메인쿼리의 컬럼이 서브쿼리에 포함되며, 메인쿼리의 컬럼은 서브쿼리에 특정 조건으로 사용된다. 예) 본인이 속한 부서의 평균 급여보다 높은 급여를 받는 직원들 출력 SELECT id, department_id, name, salary FROM EMPLOYEE A WHERE salary> (SELECT AVG(salary) FROM EMPLOYEE B WHERE B.department_id = A.department_id)..

SQL기초 2022.07.20

SQL 기초5 - 조인

이번 포스팅에서는 SQL의 핵심적인 문법이라고 할 수 있는 JOIN에 대해 다뤄보고자 한다. 조인이란 무엇일까? JOIN DB에서 2개 이상의 테이블을 연결하여 하나의 테이블로 합치는 것 데이터를 효율적으로 검색하고 처리하는데 도움을 줌 여러 종류의 JOIN 존재 등가 조인,비등가 조인, 자체 조인, 외부 조인 등 등가 조인 테이블을 연결한 후에 출력 행을 각 테이블의 특정 열과 일치한 데이터를 기준으로 선정하는 방식 내부 조인(inner join) 또는 단순 조인으로 불리기도 함 가장 많이 사용되는 조인 방식으로, 코드 작성시 join만 쓰면 자동으로 등가조인으로 인식함 등가 조인을 할 수 있는 여러 가지 방식 존재 → 아래 예제들로 다루어 볼 것이다. 예) EMP 테이블과 DEPT 테이블은 DEPTN..

SQL기초 2022.07.07

SQL 기초4- 집합연산

이번 SQL 기초4에서는 표준 SQL에 대하여 다루어 보도록 하겠다. 관계형 데이터베이스에서 원하는 정보를 유도하기 위한 기본 연산 집합에는 일반 집합 연산 & 순수 관계 연산이 있다. 일반 집합 연산에는 UNION, UNION ALL, INTERSECT, EXCEPT 가 있다. (SELECT ~ FROM~) 일반 집합 연산 (SELECT ~ FROM~) ; 1. UNION - 두 개의 테이블을 하나로 만드는 연산 - UNION에 사용할 컬럼의 수와 데이터 형식이 일치해야하며, 합친 후 테이블에서 중복된 데이터는 제거된다. => 중복된 데이터 제거를 위해 UNION 연산시 정렬과정이 발생된다 (BUT, 최종 결과에 대해 올바른 정렬을 위해서는 ORDERT BY 구문을 마지막에 작성해주어야 한다.) sel..

SQL기초 2022.07.07

SQL 기초3- 기본 함수

SQL 기초2에서는 SQL에서 가장 자주 쓰이는 기본적인 문법에 대해 다루어 보았다. 이번 글에서는 SQL에서 제공하는 함수들에 대해서 알아보고자 한다. 오라클에서는 내장함수를 기본적으로 제공하고 있다. 그 함수들을 잘 활용한다면 원하는 더 용이하고 다양하게 데이터를 다룰 수 있을 것이다. 내장함수에는 단일행 함수와 다중행 함수가 있다. 단일행 함수= 데이터가 한 행씩 입력되고, 입력된 한 행당 결과가 하나씩 나오는 함수 다중행 함수= 데이터가 여러 행이 입력되지만, 결과가 하나의 행으로 나오는 함수 그럼 여러 함수들에 대하여 공부해보자.. 1. 문자 함수 : 문자 데이터를 가공하는데 사용하는 함수 1) UPPER(문자열) - 괄호 안의 문자 데이터를 모두 대문자로 변환 2)LOWER(문자열) - 괄호 ..

SQL기초 2022.07.05

SQL 기초2- 기본 문법

SQL 기초1에서는 SQL이 무엇인지, KEY와 자료형에 어떤 것이 있는지에 대해 작성하였다. SQL 기초2에서는 RDBMS에서 SQL의 기본적인 문법에 대하여 다루어 보도록 하겠다. 학습하기 전에, SQL 문법에 대해서 중요한 점을 말해보자면, 1) 대소문자 구분을 안함 2) 입력 후 맨 마지막에 ; 필수 3) 문자 입력시 " " 큰 따옴표가 아닌 ' '작은 따옴표로 감쌀 것 4) -- 주석~~~ 그럼 이제 학습해보자! 0. 테이블의 구조 파악하기 DESC EMP; -- DESC+대상 테이블; 여기서 DESC는 order by desc; 이와 같이 내림차순 정렬시에도 사용되는데 테이블 구조의 desc는 describe의 약자/내림차순의 desc는 내림차순을 나타내는 descending의 약자이다. SE..

SQL기초 2022.07.05

SQL 기초1- 데이터베이스와 RDBMS란?

이번 포스팅에서는 데이터베이스에 대한 기본적인 공부를 해보려고 한다. 우선, 데이터베이스가 뭔지부터 알아보자. 데이터베이스(DataBase, DB) 다양한 카테고리의 정보를 저장할 수 있는 구조 여러 사람에 의해 공유되어 사용될 목적으로 통합되어 관리되는 데이터의 집합 즉, 데이터를 저장하는 구조/자료의 모음 파일 시스템의 단점을 개선하기 위해 등장 단점: 데이터 중복 & 불일치, 공유 제한, 구현 및 유지보수의 까다로움 등 장점 효율적인 확장: 확장을 통해 대량의 데이터 관리 가능 데이터 무결성: 데이터 일관성을 유지하기 위한 기본 제공 규칙 및 조건 존재↑ 데이터 보안: 모든 데이터와 관련된 개인정보 보호 및 규정 준수 요구사항 지원 데이터 분석: 데이터 분석을 통해 비즈니스 의사 결정 가능 데이터베..

SQL기초 2022.07.04