/ LECTURE

SQL - JOIN

이 페이지는 다음에 대한 공부 기록입니다

JAVA(자바), Python(파이썬) 기반의

AI 활용 응용 소프트웨어 개발자 양성 과정

2021.11.10. ~ 2022.05.18.

찾으시는 정보가 있으시다면
주제별reference를 이용하시거나
우측 상단에 있는 검색기능을 이용해주세요

46일차 수업

========복습========

DDL

테이블을 정의한다

  • CREATE, ALTER, DROP

DML

테이블을 조작한다

SELECT 컬럼명 FROM 테이블명 WHERE 조건식;
INSERT INTO 테이블명 (컬럼명) VALUES ();
UPDATE 테이블명 SET 컬럼명 = 변경값 WHERE 조건식;
DELETE FROM 테이블명 WHERE 조건식;

DCL

GRANT : 권한 부여

REVOKE : 권환 회수

함수

숫자함수, 문자함수, 날짜함수

형변환 : TO_NUMBER() > TO_CHAR() > TO_DATE()

NVL() : NULL 체크

If 처럼 사용할 수 있는 함수 DECODE(), CASE – WHEN – THEN – END

그룹함수 : 하나의 테이블에서 하나 이상의 행을 그룹으로 묶어서 나타내는 함수

======== 끝 ========

46일차 수업

그룹함수

sum() : 합계 합수

count() : 집계함수

avg() : 평균 함수

min/max() : 가장 작은/ 큰 값

round() : 반올림 함수

GROUP BY

특정 컬럼을 기준으로 그룹화를 해주는 명령어

select 문에 그룹함수가 있으면 다른 컬럼과 행 차이가 생기기 때문에 오류가 남

SELECT column1, max(column2)
FROM table
Group by column1;

JOIN

2개의 테이블 간에 기준 값을 정하여 하나 이상의 테이블을 검색하는 기술

  • 자기 자신과도 조인이 가능함

내부조인 : 조인 대상인 두 테이블에 있는 컬럼 중에 조인 기준으로 선정한 컬럼 내에 같은 값을 가진 행만 조회하는 기법, 데이터의 훼손이 일어남

SELECT 컬럼명
FROM 테이블1 별칭1, 테이블2 별칭2
WHERE 별칭1.컬럼명 = 별칭2.컬럼명;
-- ANSI 조인 (표준화)
SELECT 컬럼명
FROM 테이블1  별칭1 INNER JOIN 테이블2 별칭2
ON 별칭1.컬럼명 = 별칭2.컬럼명;
-- 조인 하고자 하는 테이블 내의 컬럼명이 같은 경우
SELECT 컬럼명
FROM 테이블1 별칭1 INNER JOIN 테이블2 별칭2
USING(컬럼명);
-- 동일한 타입, 동일한 컬럼명일 경우
SELECT 컬럼명
FROM 테이블1 별칭1 NATURAL JOIN 테이블2 별칭2;

외부조인 : 내부 조인 결과 + 기준 테이블에만 있는 데이터를 포함하여 조회

  • LEFT : 왼쪽 테이블에는 있고, 오른쪽 테이블에는 없는 값을 출력, vice versa

  • FULL : 둘다 상관없이 모두 출력

-- LEFT JOIN
SELECT 컬럼명
FROM 테이블1 별칭1, 테이블2 별칭2
WHERE 별칭1.컬럼명 = 별칭2.컬럼명(+);
-- LEFT JOIN ANSI
SELECT 컬럼명
FROM 테이블1 별칭1 LEFT OUTER JOIN 테이블2 별칭2
ON 별칭1.컬럼명 = 별칭2.컬럼명;
-- vice versa

UNION

컬럼의 형태로 조합하는 JOIN과 달리 row의 형태로 조합하는 기능

때문에 select 컬럼의 수가 반드시 같아야함

SELECT 컬럼 FROM 테이블 WHERE 조건
UNION
SELECT 컬럼 FROM 테이블 WHERE 조건;
-- UNION ALL 키워드를 사용하면 중복되는 교집합도 한번 더 출력
-- UNION 외에도 INTERSECT, MINUS 가 있다