본문 바로가기

Database6

[Database] - 서브쿼리란 서브쿼리 개념 및 예시서브쿼리란?한 쿼리 내에 포함된 또 하나의 쿼리입니다.GROUP BY 절을 제외하고 모든 부분에서 사용 가능합니다.서브쿼리는 반드시 괄호 안에 포함되어야 합니다.SELECT의 서브쿼리SELECT [컬럼], (SELECT [컬럼] FROM [테이블] WHERE 조건) FROM [테이블]WHERE 조건;= 스칼라 서브쿼리입니다.SELECT 절의 서브쿼리는 결과가 반드시 하나의 값이어야 합니다.FROM의 서브쿼리SELECT [컬럼]FROM (SELECT [컬럼] FROM [테이블] WHERE [조건]) AS [별명] WHERE 조건;=인라인 뷰 서브쿼리입니다.FROM 절의 서브쿼리는 결과가 반드시 하나의 테이블이어야 합니다.서브쿼리로 만들 테이블은 alias가 필수입니다.WHERE의 서브.. 2024. 11. 10.
[Database] - Join이란 Join의 개념 및 사용법Join이란?하나의 테이블에 원하는 데이터가 모두 있다면 좋겠지만, 두 개의 테이블을 엮어야 원하는 결과가 나오는 경우도 많습니다. 이럴 때 조인을 쓰면 두 개의 테이블을 엮어서 원하는 데이터를 추출할 수 있습니다.두 테이블의 조인을 위해서 기본키(Primary Key, PK)와 외래키(Foreign Key, FK) 관계로 맺어져야 하고, 이를 일대다 관계라고합니다.Join 요약조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다.INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부 조인)은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.CROSS .. 2024. 11. 9.
[Database] - 정규화 (1NF, 2NF, 3NF, BCNF) 정규화 (1NF, 2NF, 3NF, BCNF)정규화(Normalization)란정규화란 이상현상이 있는 릴레이션을 분해하여 이상현상을 없애는 과정입니다. 이상현상이 존재하는 릴레이션을 분해하여 여러 개의 릴레이션을 생성하게 됩니다. 이를 구분하여 높아질수록 이상현상은 줄어들게 됩니다.즉, 쉽게 말하면 테이블 간에 중복된 데이터를 허용하지 않는다는 것입니다. 중복된 데이터를 허용하지 않음으로써 무결성(Integrity)를 유지할 수 있으며, DB의 저장 용량 역시 줄일 수 있습니다. 이러한 테이블을 분해하는 정규화 단계가 정의되어 있습니다.정규화의 장단점1. 정규화 장점데이터베이스 변경 시 이상 현상(Anomaly)을 제거할 수 있습니다.정규화된 데이터베이스 구조에서는 새로운 데이터 형의 추가로 인한 확장.. 2024. 11. 8.
[Database / MySQL] - MySQL 내장 함수 & 연산자 정리 내장 함수 & 연산자 정리수학 함수 & 산술 연산자1. 기본 산술사칙연산 : +, -, *, /몫 : div나머지 : %, MOD, MOD(값, divisor)제곱 : POW(값, 지수), POWER(값, 지수)제곱근 : SQRT(값)2 근삿값반올림 : ROUND(값, 소수점 자리수)올림 : CEIL(값, 소수점 자리수), CEILING(값, 소수점 자리수)버림 : FLOOR(값, 소수점 자리수), TRUNCATE(값, 소수점 자리수)3. 기타절댓값 : ABS(값)난수 생성 : RAND()논리 함수 & 논리 연산자모두 참이면 참 : AND, &&하나라도 참이면 참 : OR, ||서로 다르면 참 : XOR대입 연산 : :=삼항 연산 : IF(조건식, 참의 반환값, 거짓의 반환값)값이 NULL일 때 반환값 .. 2024. 6. 13.
[Database / MySQL] - 기본 문법과 데이터 무결성 (Data Integrity) 기본 문법과 데이터 무결성MySQL 기본 문법키워드, 구문, 문자열의 대소문자를 구분하지 않습니다.(window의 경우 테이블명, 데이터베이스명도 대소문자를 구분하지 않습니다.)데이터베이스 == 스키마 (Database == schema)Object 다루기SHOW, DESC, USECREATE, DROP, ALTER (DDL 데이터 정의어)조회 SHOW, DESC-- 데이터베이스 목록 조회SHOW DATABASES;-- 현재 접속한 스키마의 테이블 목록 조회SHOW TABLES;-- 테이블 컬럼 조회DESC 테이블;선택 USE-- 사용할 데이터베이스 선택, 접속USE 데이터베이스;생성 CREATE-- 데이터베이스 생성CREATE DATABASE 데이터베이스;CREATE SCHEMA 스키마;-- 테이블 생.. 2024. 6. 12.