SQLD 11

[SQLD] 시험전에 보는 SQLD 2과목 완벽정리(1)

SQL 기본SQLD 2과목 중에서 SQL 기본에 관한 내용을 정리한 글 입니다. 1.관계형 데이터베이스 개요 1.1 데이터 베이스와 DMBS 데이터 베이스: 데이터의 집합, 형식을 갖추지 않아도 된다.DBMS: 데이터를 효과적으로 관리하기 위한 시스템(소프트웨어), 각각의 파일보다 시스템적으로 작동하게 만든 시스템.ex) MYSQL, ORACLE1.2 관계형 테이터베이스의 구성요소(1) 계정: 데이터의 접근제한을 위한 여러 업무/시스템 별 계정이 존재해야함(2) 테이블: DBMS의 DB안에 데이터가 저장되는 형식(3) 스키마: 테이블이 어떤 구성으로 되어있는지, 어떤 정보를 가지고 있는지에 대한 기본적인 구조를 정의 1.3 테이블테이블: 데이터의 저장단위로 행과 열을 가지는 2차원 구조이다.하나의 테이..

SQL📚 2025.11.07

[SQLD] 서브쿼리 완벽정리

서브쿼리- 쿼리 안에 있는 쿼리를 의미- SELECT, INSERT, UPDATE, DELETE 등에 사용 가능- SELECT 문에서는 SELECT, FROM, WHERE, HAVING 절에서 사용 가능 (GROUP BY, ORDER BY에는 서브쿼리 사용불가) 사용목적-서브쿼리 사용 위치에 따라 목적이 달라짐- 다른 행과의 비교 및 연산을 위해 주로 사용-RDBMS는 한줄씩 읽는데, 필요한 정보가 자기 자신의 테이블이 아니라 다른 테이블에도 있을수도 있다. 이렇게 한번 더 언급해서 더 읽게 해서 그 정보를 가져오게 하기위해 서브쿼리를 사용한다. 즉, 한행만 읽었을때 가져올수 없는 정보를 가져오기위해. 종류1. 서브쿼리 형태에 따른 분류1)단일 행 서브쿼리2) 다중 행 서브쿼리3) 다중 컬럼 서브쿼리 2..

SQL📚 2025.11.04

[SQLD] 14. ORDER BY절

ORDER BY 절- 출력되는 행의 순서를 변경하고 싶을때 사용- 여러개의 컬럼 전달가능- ASC (오름차순), DESC(내림차순) 으로 명시. (ASC가 기본값)- 명시된 컬럼 순서대로 정렬함- 유일하게 SELECT 절에서 명명한 별칭(ALIAS)를 사용가능- 복합정렬 사용가능 결과의 값이나 개수에 대해서는 영향을 미치지 않지만, 결과가 출력되는 순서를 조절한다.있던지 없던지 결과 내용은 안바뀐다. SELECT mem_id, mem_name, debut_date FROM member ORDER BY debut_date; member를 debut_date기준으로 정렬해서 보고싶으면 ORDER BY로 해서 정렬한다.기본적으로 오름차순으로 정렬된다.오름차순은 ASC를 붙이고, 생략도 가능하다.만일 내림차순..

SQL📚 2025.10.31

[SQLD] 13. GROUP BY 절, HAVING 절

GROUP BY 절-특정 값을 기준으로 데이터를 그룹핑 할때 사용 SELECT DEPTNO, SUM(SAL) AS SALS FROM EMP GROUP BY DEPTNO; 1) EMP 테이블에서2) DEPTNO로 그룹핑 한 후,3) DEPTNO별로 SAL의 합계를 조회 집계함수-GROUP BY 절로 그룹핑한 후에는 해당 그룹에 대해 집계함수를 사용하여 개수, 합, 평균등을 계산-집계함수는 그룹을 대상으로 연산을 수행하므로, GROUP BY절 없이 집계함수를 사용하면 전체 행을 하나의 그룹으로 간주하고 연산을 수행함수실행COUNT입력된 칼럼에서 값이 NULL인 행을 제외한 행의 개수를 반환한다.SUM입력된 컬럼의 합을 반환한다AVG입력된 컬럼의 평균을 반환한다MIN입력된 컬럼의 최솟값을 반환한다MAX입력된 ..

SQL📚 2025.10.30

[SQLD] 10. SELECT문

SELECT -데이터를 조회하는 명령어로, WHERE절을 통해 특정 조건의 열만 조회할수 있다.-테이블에 대한 별명(Alias)부여 가능 SELECT 컬럼1 [[,컬럼2] ...] FROM 테이블1 [[,테이블2]...];테이블 1, 테이블2 으로 부터 컬럼1, 컬럼2 등을 조회한다.컬럼명이 유일할 때에는 컬럼명만 표기해도 되나 서로 다른 테이블에 있는 같은 이름의 컬럼을 표기할때는 컬럼명앞에 테이블명과점(.)을 붙여야한다. SELECT * FROM 회원;*을 쓰면 회원테이블의 모든 컬럼을 조회한다 ALIAS 붙이기-Table의 컬럼명은 스키마 생성시에 생성되는데, Alias(별명)을 붙일 수 있다.why?A랑 B테이블에 동일한 컬럼명이 있을수 있기 때문에 Alias를 부여한다.AS 를 사용해서 Al..

SQL📚 2025.10.29

[SQLD] 9. JOIN(조인) 과 표준조인

-EQUI/ Non EQUI-INNER /OUTER/NATURAL/CROSS 꼭 실습해보기! JOIN 이란?두개의 테이블을 하나로 병합하는 연산기준키를 비교해서 병합한다.JOIN은 두개의 스키마가 다르다(컬럼 구성이 다르다) EQUI JOINEqual(=), 즉 등식을 조건으로 사용할때 발생하는 조인.칼럼값이 정확하게 일치할때 성립하는 것으로 WHERE 절의 조건이 등식인 경우 발생SQL 명령문에서 가장 많이 사용하는 조인 방법FROM 절에서 조인하고 하는 테이블을 모두 명시FROM 절에 명시하는 테이블은 테이블 별명(ALIAS)사용 가능WHERE 절 에 두 테이블의 공통 컬럼에 대한 조인 조건을 나열 SELECT 테이블 1.컬럼, 테이블2.컬럼 FROM 테이블1, 테이블2WHERE 테이블1.컬럼 ..

SQL📚 2025.10.29

[SQLD] 8. 슈퍼타입/서브타입 관계 테이블 병합

이부분은 SQLD 시험에 자주 나오는 부분이다.일단 반정규화부터 이해해야한다. 반정규화는 조회 성능향상을 위해 진행한다. 슈퍼타입/서브타입 테이블 병합상속관계라고 생각하면 된다. 부모 Class에 대해서 상속받는 관계를 의미한다. 종류설명One to One type-개별로 발생되는 트랜젝션에 대해서는 개별 테이블로 구성-슈퍼타입, 서브타입 테이블들을 각각 개별 테이블로 구성Plus type-슈퍼타입 + 서브타입에 대해 발생되는 트랜잭션은 JOIN 연산에 의한 성능 저하를 가져오므로 슈퍼타입 + 서브타입 테이블로 구성-각각의 서브타입에 슈퍼타입을 합하여 슈퍼타입 + 서브타입 테이블로 구성Single type-전체를 한번에 조회하는 트랜잭션은 UNION 연산에 의한 성능저하를 가져오므로 전체를 하나의 테이블..

SQL📚 2025.10.27

[SQLD] 7. 정규화(Normalization)

왜 정규화가 중요한가?테이블로 된 DB를 정규화하지 않으면 문제 (이상현상, Anomaly) 가 발생하기 때문이다. 또한 정규화를 통해 DB를 보다 잘 조직화 한다. * 이상현상1. 삽입이상2. 갱신이상3. 삭제이상 정규화: 데이터베이스의 이상현상을 막기위해, 데이터의 중복을 최소화하면서 테이블을 보다 잘 조직된 상태로 분해하는 과정 정규화의 결과- 데이터 입력, 수정, 삭제 성능 향상- 데이터 조회 성능 하락 가능성 증가 (무조건적인 하락 x)(이때 , join의 횟수가 증가함에 따라서 조회성능(=시스템 성능) 이 하락하는것이다.) 정규화 절차설명제1 정규화릴레이션의 속성값이 모두 원자값만으로 구성되어야한다.-중복값을 제거한다.-기본키를 설정한다.제2 정규화기본키가 2개 이상의 속성으로 이루어진 경우..

SQL📚 2025.10.24

[SQLD] 6. 식별자 관계 VS 비식별자 관계

식별자 관계- 엔터티 간의 강한 연결관계를 표현- ERD에서 실선으로 표현- 부모 엔터티 인스턴스가 소멸할때 자식 엔터티 인스턴스도 같이 소멸하는 경우 적합 (생명주기가 같다) 비식별자 관계- 엔터티 간의 약한 연결관계를 표현- ERD에서 점선으로 표현- 자식엔터티의 주식별자를 부모엔터티와 별도로 생성하거나 부모 엔터티 인스턴스에 참조값이 없어도 자식 엔터티 인스턴스가 생성될수 있을 때 적합즉, 위의 그림에서 "부서번호"가 식별자로 들어가면 식별자 관계, 일반속성으로 들어가면 비식별자 관계

SQL📚 2025.10.24

[SQLD] 5.관계 (Relationship)

1. 관계의 정의관계(Relationship)은 데이터베이스 내에서 두개 이상의 엔터티 간의 연관성을 나타낸다.관계는 테이터 모델링에서 중요한 개념으로, 엔터티들이 어떻게 상호작용하는지를 정의한다.관계를 통해 데이터베이스는 복잡한 정보를 구조적으로 표현할수 있다. 2. 관계의 종류항목설명존재관계한 엔터티의 존재가 다른 엔터티의 존재를 결정할때 사용. 엔터티간의 상태를 의미함.ex) 주문이 있어야 배송이 존재할수 있다.행위관계한 엔터티가 다른 엔터티에 대해 특정 행동이나 상호작용을 할때 정의.ex) 고객이 특정 제품을 구매하기 위해 주문이라는 행위를 함.

SQL📚 2025.10.23