DataBase (23) 썸네일형 리스트형 [DATABASE] 조인(JOIN)의 개념과 종류 조인(JOIN) 개념두 개 이상의 테이블을 결합하여 데이터를 검색하는 방법JOIN을 하면 JOIN한 테이블들이 하나의 데이터로 나온다. 조인(JOIN)의 종류ANSI 표준 SQL에서는 네 가지 유형의 JOIN을 규정한다.INNER JOINLEFT JOINRIGHT JOINOUTER JOIN다양한 조인(JOIN)의 종류INNER JOINLEFT JOINRIGHT JOINOUTER JOINCROSS JOINSELF JOINNATURAL JOINJOIN의 기본 문법기준이 되는 테이블을 A, JOIN해서 보고 싶은 테이블을 B라고 가정ON 절로 JOIN의 조건문을 설정한다.ON절 대신 USING 문으로 ON절의 조건문을 단축 시킬 수 있다.SELET * FROM 기준 테이블 JOIN문 조인할 테이블 ON JO.. [DATABASE] 데이터베이스 언어와 SQL 데이터베이스 언어란?데이터베이스를 구축하고 이용하기 위한 통신 수단데이터베이스 언어는 DBMS를 통해 사용되며, 기능과 목적에 따라 데이터 정의 언어(DDL), 데이터 조작 언어(DML), 데이터 제어 언어(DCL), 트랜잭션 제어 언어(TCL)로 구분된다.데이터 정의 언어(DDL) - Data Definition Language테이블, 스키마 등 구조를 정의하고 변경하는 명령어명령어설명CREATE테이블, 데이터베이스, 인덱스 등을 생성ALTER기존 구조를 수정 (컬럼 추가/삭제 등)DROP테이블이나 데이터베이스 삭제TRUNCATE테이블의 모든 데이터 삭제 (구조는 유지)CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(100));데이터 조작 언어(DML.. [DATABASE] 제약조건 제약조건테이블에 저장되는 데이터에 대해 "이런 값만 들어올 수 있어" 라고 제한을 두는 것제약조건 덕분에 실수로 잘못된 데이터가 들어가는 걸 막을 수 있다.대표적인 제약조건 종류제약조건설명예시NOT NULL해당 컬럼은 반드시 값이 있어야 함 (NULL 불가)이름, 이메일, 주민등록번호 등 필수 입력UNIQUE해당 컬럼의 값은 중복될 수 없음주민등록번호, 이메일 등PRIMARY KEY기본 키, NOT NUL + UNIQUE 테이블의 대표 값회원 번호, 주문 번호 등FOREIGN KEY다른 테이블의 키를 참조하는 제약조건주문 -> 고객 ID 참조CHECK지정한 조건을 만족해야함나이는 0보다 커야 함DEFAULT값이 입력되지 않으면 자동으로 설정되는 기본값가입일 기본값 = 오늘 날짜 장점데이터 무결성 보장 (.. [DATABASE] 데이터베이스 기초 개념 DataBase란?여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합.다양한 데이터가 저장되어 있는 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야함. DBMS란?데이터베이스를 관리하고 운영하는 소프트웨어를 DBMS(DataBase Management System)라고 한다.데이터를 저장, 검색, 수정, 삭제할 수 있게 해줌여러 사람이 동시에 접속해도 충돌 없이 처리보안, 백업, 복구 기능 제공데이터의 일관성, 무결성, 보안 보장데이터 모델데이터모델은 현실 세계의 정보들을 추상화하고 구조화 하여 표현하는 방법을 정의한 것데이터 구조를 결정하고 데이터의 관계 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구1. 개념적 모델사용자 관점에서 .. 트랜잭션(Transaction) 트랜잭션(Transaction) - 하나의 업무 단위를 의미 예시) 은행 송금 업무 코드가 있다고 가정 son이 kim에게 돈을 송금하면 kim의 잔고는 늘어나고 son의 잔고는 줄어든다. 이런 흐름의 한개의 업무단위를 트랜잭션이라고 한다. 참고 블로그 https://velog.io/@ksk5401/DDL-DML-DCL-%EC%9D%B4%EB%9E%80 트랜잭션 자동(Auto), 수동(Manual) 처리 트랜잭션은 자동 또는 수동으로 처리가 가능하다. 보통 IDE에서 자동으로 처리해주는 경우가 많다. 인텔리제이 경우 Tx:Auto로 되어있으며 자동으로 반영(COMMIT)해준다는 의미다. 다른 IDE는 확인해봐야함! 업무과정에서 자동이 아닌 우리가 직접 수동적으로 처리하고 싶다면 수동으로 처리하게 되면 트.. ALTER TABLE - 테이블 수정 (Maria DB) 기본 문법 ALTER TABLE 테이블명; ADD - 컬럼 추가 ALTER TABLE 테이블명 ADD COLUMN 컬럼명 타입 제약사항; 예제) ALTER TABLE products ADD COLUMN col5 INT NOT NULL DEFAULT 1 REFERENCES employees(EmployeeID); 맨 앞, 중간에도 컬럼 추가 가능 -- 맨 앞에 컬럼추가 ALTER TABLE 테이블명 ADD COLUMN 컬럼명 타입 제약사항 FIRST; -- 중간에 컬럼추가 ALTER TABLE 테이블명 ADD COLUMN 컬럼명 타입 제약사항 AFTER 컬럼명(이 컬럼 뒤에 생성); 예제) -- 맨 앞에 컬럼 추가 ALTER TABLE products ADD COLUMN col4 VARCHAR(10) FI.. 집계함수, 집합함수, 그룹함수 - aggregate function (Maria DB) MAX - 최대 SELECT MAX(컬럼명) FROM 테이블명; SELECT MAX(Price) FROM products; -- 제일 큰 금액(Price) 출력 -- 가격이 최대인 상품명도 알고 싶어 SELECT에 ProductName 컬럼을 넣었다 -- ProductName이 제대로 매칭안됨 -- Côte de Blaye가 나와야하는데 맨 처음 레코드가 나옴 SELECT ProductName, MAX(Price) FROM products; -- 집계함수 사용해서 상품명이랑 제대로 매칭되서 보고 싶다면 서브쿼리 활용 SELECT * FROM products WHERE Price = (SELECT MAX(Price) FROM products); MIN - 최소 SELECT MIN(컬럼명) FROM 테이블명.. UNION(CROSS JOIN, FULL OUTER JOIN) (Maria DB) UNION - 합집합 SELECT 컬럼명 FROM 테이블명 UNION SELECT 컬럼명 FROM 테이블명; 예) -- customers 테이블의 Country와 suppliers 테이블의 Country를 모두 보고 싶다면 SELECT Country FROM customers UNION SELECT Country FROM suppliers; 해당 결과 값은 중복 값들은 제거 된 채로 나온다 만약 중복된 결과도 보고 싶다면? -- 중복된 데이터도 조회 하고 싶다 SELECT Country FROM customers UNION ALL -- ALL 있으면 중복, ALL 없으면 중복제거 SELECT Country FROM suppliers; 그리고 Union의 결과는 수평적으로 나오는게 아니라 두 개의 데이터가.. 이전 1 2 3 다음