[SQL] SQL 기본 ( Join )
·
TIL/SQL
Join이란?Join이란 테이블 간의 관계성에 따라서 복수의 테이블을 결합하여 하나의 테이블로 결과를 만드는 것A 테이블과 B테이블을 Join하여 C테이블이 결과로 나오게 된다Join의 종류Join의 기본이 되는 OUTER JOIN과 INNTER JOIN부터 알아보자OUTER JOIN기준이 되는 컬럼에 조건에 부합하는 결과가 없어도 데이터를 가져와서 NULL로 표시한다결과 테이블에 두 테이블의 모든 컬럼이 들어간다LEFT JOIN과 RIGHT JOIN이 있다LEFT JOIN결과 테이블에 두 테이블의 모든 컬럼이 들어간다JOIN문 기준으로 왼쪽에 있는 테이블의 기준 컬럼을 모두 돌며 오른쪽에 있는 테이블의 기준 컬럼에서 일치하는 내용이 있다면 찾아서 붙인다왼쪽 테이블의 내용 전부 + 오른쪽 테이블의 내용 ..
[SQL] SQL 기본 ( 인덱스 )
·
TIL/SQL
인덱스데이터베이스의 인덱스란?데이터베이스에서 테이블의 검색 속도를 높이기 위한 기술을 말한다해시 테이블, B tree B+ tree 등의 자료구조가 사용된다.어떻게 사용해야 하나?자주 조회되는 컬럼에 적용한다조회 시 오랜 시간을 소모하는 컬럼에 적용한다인덱스의 종류Primary Key ( PK )컬럼을 해당 키로 설정 시 테이블에서 중복되지 않는 값을 지정한다조회 속도가 가장 빠르다테이블마다 단 하나의 컬럼을 primary key로 지정할 수 있다Unique Key ( UQ )PK와 마찬가지로 테이블에서 중복되지 않는 값을 지정한다PK보단 느리지만 고속으로 데이터를 가져올 수 있다여러 컬럼을 UQ로 지정할 수 있다Normal Key 테이블에서 중복되는 값을 허용한다PK, UQ보단 느리지만 데이터의 양이 ..
[SQL] SQL 기본 ( 데이터 CRUD )
·
TIL/SQL
데이터 삽입 ( INSERT INTO )테이블에 데이터를 삽입해보자# 컬럼명을 명시하지 않는 방법# 이 방법의 경우 테이블에 존재하는 컬럼의 순서에 맞추어 데이터를 입력해야 한다.INSERT INTO `student` VALUES ('data1','data2');# 컬럼명을 명시하는 방법# 이 방법의 경우 명시된 컬럼의 순서에 맞추어 데이터를 입력하면 된다.INSERT INTO `student` (`id`, `name`, `birthday`) VALUES ('data1','data2')실제 SQL문INSERT INTO `student` VALUES(1,'김철수','1999-04-28')INSERT INTO `student` VALUES(2,'김보미','1992-07-21')INSERT INTO `stud..
[SQL] SQL 기본 ( 데이터베이스와 테이블 생성, 삭제 )
·
TIL/SQL
데이터베이스에 대한 정말 기본적인 상식을 알아보았으니 본래 목적인 SQL에 대해서 알아보자.SQL이란?Structured Query Language의 약어로 데이터베이스에서 데이터를 추가, 조회, 수정, 삭제하기 위해서 사용하는 표준화된 언어이다즉 데이터베이스에서 테이블과 데이터를 CRUD하기 위한 언어라고 할 수 있다데이터베이스 생성데이터베이스의 구조에서 보았듯이 데이터베이스는 다음과 같은 구조로 이루어져 있다데이터베이스 서버 -> 데이터베이스 -> 테이블따라서 데이터베이스를 생성하는 명령어부터 알아보자CREATE DATABASE `class`이제 class라는 이름의 데이터베이스가 생성되었다.데이터베이스 사용데이터베이스 서버에 존재하는 여러 데이터베이스 중에 어떤 데이터베이스를 사용할 것인지 지정해주..
[SQL] 데이터베이스란?
·
TIL/SQL
데이터베이스란SQL에 대해 공부하기 위해선 우리가 SQL을 사용하게 되는 곳인 데이터베이스에 대한 이해부터 해야한다데이터베이스의 정의를 살펴보자면 데이터를 구조화하여 저장한 후 접근 및 관리할 수 있는 시스템을 말한다흔히 사용하는 엑셀도 데이트베이스의 일종이라고 할 수 있을 것이다데이터베이스에서는 다음과 같이 구조화된 형태로 데이터들을 저장하고 관리한다데이터베이스의 구조테이블은 로우(행)과 컬럼(열)로 이루어진다위와 같은 테이블들을 저장하고 있는 저장소를 데이터베이스라고 한다.여러 개의 데이터베이스를 관리하는 저장소를 데이터베이스 서버라고 한다.셀에서 관련한 데이터끼리 나누어 파일로 나누어 저장하듯 데이터베이스에서도 비슷한 데이터들을 묶어 하나의 데이터베이스에 저장하고, 여러 개의 데이터베이스를 구성할 ..