Data Analysis

SQL 9

[SQL] SQL 제어문 (LOOP 문, WHILE 문)

LOOP문 LOOP문은 루프를 돌며 반복해서 로직을 처리하는 반복문이다. 이러한 반복문에는 LOOP문 외에도 WHILE문, FOR문이 있는데, 먼저 가장 기본적인 형태의 반복문인 LOOP문에 대해 살펴 보자. 기본구문 LOOP문은 ‘LOOP … END LOOP;’ 형태로 사용한다. 반복문은 특정 조건을 만족할 때만 루프를 돌며 로직을 처리해야 하는데 LOOP문은 특정 조건이란 것이 없다. 그 대신 “이런 경우에 루프를 빠져 나가라” 라는 EXIT를 사용해 루프를 종료한다. 따라서 EXIT를 누락하면 무한루프에 빠지게 되니 사용할 때 주의해야 한다. 일반적으로 LOOP문에서는 IF문을 사용해 루프를 빠져나가는 조건을 걸기도 하지만, “EXIT WHEN 조건”을 사용해 WHEN절에서 명시한 조건에 맞을 때 ..

SQL 2022.12.29

[SQL] SQL 제어문 (IF 문, CASE 문)

절차적 언어인 SQL은 다른 프로그래밍 언어에서 제공하는 다양한 처리문들을 포함하는데 이들을 통칭해 PL/SQL 제어문이라고 한다. 제어문에는 특정 조건에 맞을 때 처리하는 조건문, 반복 처리 시 사용하는 반복문, GOTO나 NULL과 같은 순차적 제어문이 있다. IF문 특정 조건에 따라 처리를 하는 것을 조건문이라 하는데 그 대표적인 것이 바로 IF 문이며 그 구조는 다음과 같다. 기본구문 IF 다음에 오는 조건 값이 TRUE이면 해당 조건 처리 문장이 실행된다. IF문의 용법은 프로그래밍 언어에 따라 조금씩 차이가 있는데 오라클에서는 조건 다음에는 THEN을 문장 맨 마지막에는 END IF를 써야한다. 조건이 1개 이상이면 ELSE 가 아닌 ELSE IF를 사용한다. 그럼 두 변수를 선언해 초기화한 ..

SQL 2022.12.29

[SQL] JOIN 정리 (INNER, OUTER, CROSS, SELF JOIN)

조인이란 ? 조인(Join)은 SELECT와 더불어 가장 많이 사용하는 옵션 중 하나이고, 두 개 이상의 테이블을 묶어서 하나의 결과 집합으로 만들어 내는 것입니다. 즉, 서로 다른 테이블에서 데이터를 가져올 때 사용하는 것이 조인(Join)입니다. INNER JOIN(내부 조인) INNER JOIN은 조인 중 가장 많이 사용됩니다. 따라서 보통 JOIN을 얘기할 때는 INNER JOIN을 말하는 것입니다. 예를 들어, 쇼핑몰 사이트에서 사용자가 물건을 구매하기 위해서는 구매 테이블에 물품, 수량 등을 입력할 것이며, 외래키인 ID와 함께 삽입될 것입니다. 물품을 구매하고 배송을 할 때는 그 구매 테이블에 있는 정보 뿐만 아니라 사용자 테이블에 있는 배송 주소, 전화번호 등을 함께 알아야 합니다. 이 때..

SQL 2022.12.29

[SQL] 데이터 조작 (INSERT, UPDATE, DELETE)

1. INSERT문 테이블 안에 데이터를 삽입하는 명령어 1.1 문법 INSERT INTO 테이블명 VALUES(v1,v2,...) INSERT INTO 테이블명(칼럼명1, 칼럼명2,..) VALUES(v1, v2,...) 1.2 예제 실습용 테이블 생성 CREATE TABLE LINK ( ID SERIAL PRIMARY KEY , URL VARCHAR (255) NOT NULL , NAME VARCHAR (255) NOT NULL , DESCRIPTION VARCHAR (255) , REL VARCHAR (50) ); SELECT * FROM LINK; 1개의 데이터 행 추가 INSERT INTO LINK (URL, NAME) VALUES ('http://naver.com','Naver'); COMMI..

SQL 2022.12.28

[SQL] ORDER BY / GROUP BY / HAVING

ORDER BY ORDER BY란 SELECT한 컬럼에 대해 정렬을 할 때 작성하는 구문으로 SELECT 구문의 가장 마지막에 작성하며 실행 순서 역시 가장 마지막에 수행된다. [ 표현식 ] 정렬 방식은 ASC는 오름차순이고 DESC은 내림차순이다. 또는, 컬럼명이 아닌 컬럼의 순서를 숫자로 표기할 수 있다. [ ORDER BY 예시 ] - EMPLOYEE 테이블에서 부서별 코드, 부서별 급여합, 부서별 급여 평균, 부서별 인원 수를 부서코드 순으로 조회 GROUP BY GROUP BY란 그룹 함수는 단 한 개의 결과 값만 산출하기 때문에그룹이 여러 개일 경우 오류 발생한다. 그래서 여러 개의 결과 값을 산출하기 위해 그룹 함수가 적용될 그룹의 기준을 GROUP BY절에 기술하여 사용한다. 즉, 코드를 ..

SQL 2022.12.27

[SQL] 데이터베이스 객체

DB 객체는 데이터베이스를 구성하는 독립된 요소들을 말한다. 테이블, 뷰, 저장프로시저, 함수, 트리거, 인덱스 등이 있으며 각각 독립적으로 존재할수도, 다른 객체에 연관되어 존재할수도 있다. 테이블(Table) 실제 데이터가 저장되는 공간을 의미한다, 테이블은 표 형식처럼 컬럼과 그 컬럼에 각각 값이 들어간(없을수도 있음) ROW 형태의 레코드들로 구성된다. DB에서 가장 기본이 되는 개체로 실제 우리가 데이터를 저장한다는 것은 그 데이터를 그룹핑으로 구별되게 잘 쪼개서 각각의 테이블 컬럼에 대응되게 순차적으로 넣는다는 의미이기도 하다. 따라서 DB를 사용한다는 것은 데이터를 테이블 단위로 잘 포장해서 넣고 그 포장된 데이터 중에서 내가 원하는 데이터를 다시 읽어올 수 있는 것이 테이블의 역할이다. 뷰..

SQL 2022.12.27

[SQL] 데이터베이스 생성, 편집

SQL CREATE DATABASE 관리자가 관리하는 부분 데이터베이스를 만들 때 사용 CREATE DATABASE databasename ; SQL DROP DATABASE 데이터베이스 삭제는 복구가 어렵기 때문에 신중해야 한다. 삭제 하기 전에, 관리자 권한이 있어야 한다. DROP DATABASE databasename; SQL CREATE TABLE 데이터베이스에 새 테이블을 만들 때 사용 -- 예제 CREATE TABLE Persons( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255), ); -- 예제2 -- SELECT문을 활용하여, 다른 테이블의 칼럼들을 새 테..

SQL 2022.12.27

[SQL] 데이터베이스 모델링

데이터베이스 모델링 테이블의 구조를 미리 설계하는 개념으로 건축 설계도를 그리는 과정과 비슷합니다. 건물에서 설계도가 아주 중요하듯, 프로젝트에서도 데이터베이스 모델링이 잘 되어야 제대로 된 데이터베이스를 구축할 수 있습니다. 프로젝트를 진행하기 위해서는 대표적으로 폭포수 모델을 사용하며, 데이터베이스 모델링은 폭포수 모델의 업무 분석과 시스템 설계 단계에 해당합니다. 이 단계를 거치면 가장 중요한 데이터베이스 개체인 테이블 구조가 결정되는 것입니다. 프로젝트란? 현실에서 일어나는 업무를 컴퓨터 시스템으로 옮겨놓는 과정이라 할 수 있다. 더 쉽게는 대규모 소프트웨어를 작성하기 위한 전체 과정이라고 이야기할 수 있다. 데이터베이스 모델링 우리가 살고 있는 세상에서 사용되는 사물이나 작업을 DBMS의 데이터..

SQL 2022.12.26

[SQL] 데이터베이스 알아보기

데이터베이스(DataBase) 데이터베이스를 한 마디로 정의하면‘데이터의 집합’이라고 할 수 있습니다. 데이터베이스에는 일상생활 대부분의 정보가 저장되고 관리됩니다. 오늘 보내거나 받은 카카오톡 메시지, 인스타그램에 등록한 사진, 버스/지하철에서 찍은 교통카드, 카페에서 구매한 아이스 아메리카노 등의 정보가 모두 데이터베이스에 기록됩니다 DBMS란? 데이터베이스를 ‘데이터의 집합’이라고 정의한다면, 이런 데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS(Database Management System)라고 합니다. 다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 합니다. 가까운 예로 은행의 예금 계좌는 많은 사람들이 가지고 있습니다. 여..

SQL 2022.12.26