✏️ [Database] 테이블 조인(join)
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용join 의미implicit join vs explicit joininner join vs outer joinleft outer joinright outer joinfull outer joinequi joinnatural joincross join우선 시작하기에 앞서 내용 이해에 필요한 테이블 구조를 사진으로 보여드리겠습니다.테이블 구조⭐️ JOIN두 개 이상의 table들에 있는 데이터를 한 번에 조회하는 것여러 종류의 JOIN이 존재한다.📌 implicit join vs explicit joinID가 1인 임직원이 속한 부서 이름을 조회하는 쿼리를 짜봅시다.EMPLOYEE, DEPARTMENTID가 1인 임직원이 속한 부서 이름은?SE..
✏️ [Database] Three-valued logic
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용SQL에서 null의 의미null과 three-valued logic !true, false 그리고 unkonownwhere 절과 three-valued logic의 관계not in 사용 시 주의 사항⭐️ SQL에서 NULL의 의미unknownunavailable or withheldnot applicableemployee 테이블이 있다고 합시다. 테이블에는 id, name, birth_date 등의 attribute가 있다고 하겠습니다.이때 id가 14인 직원은 생일 정보를 기입하지 않아서 birth_date가 NULL이고id가 15인 직원 또한 생일 정보가 누락돼서 birth_data가 NULL이라고 하겠습니다.둘 다 생일 정보가 모두 ..
✏️ [Database] subquery (쿼리 안의 쿼리)
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용subqueryouter queryIN 키워드와 함께 subquery 사용하기correlated subqueryEXISTS 키워드와 함께 subquery 사용하기ANY 키워드와 함께 subquery 사용하기ALL 키워드와 함께 subquery 사용하기📌 시작 전 사전 지식위 사진은 설명 이전에 이전까지 진행한 내용들에서 사용한 DB 테이블 구조입니다.앞으로의 내용에서 해당 구조를 기반으로 설명합니다.⭐️ SubqueryID가 14인 임직원보다 생일이 빠른 임직원의 ID, 이름, 생일을 알고 싶다고 가정합니다.이때 쿼리는 어떻게 작성할까요?조건에서 ID가 14인 임직원보다 생일이 빠른 임직원의 정보를 원합니다. 그렇다면 우선 ID가 14인 ..
✏️ [Database] 데이터 조회하기 (SELECT)
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용selectproject attributesselection conditionjoin condition - 차후에 더 자세히 소개 예정입니다.AS로 별칭짓기DISTINCT 키워드LIKE로 조회하기*(asterisk) 사용하기where절 없는 select⭐️ SELECT데이터 조회하기SELECT (projection attributes) FROM (조회 테이블 이름) WHERE (selection condition)데이터 조회 예시SELECT name, position FROM employee WHERE id = 9📌 SELECT Statement 정리SELECT attribute(s)FROM table(s)[ WHERE condition(..
✏️ [Database] 테이블에 데이터 추가 / 수정 / 삭제하기
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용데이터 추가하기 (insert)데이터 수정하기 (update)데이터 삭제하기 (delete)조건절과 논리/비교 연산자 (where)⭐️ 데이터 추가우선 위와 같은 Employee 테이블이 있다고 하겠습니다. 각 attribute의 속성은 아래 사진과 같습니다.그렇다면 이제 Employee 테이블에 데이터를 추가해보겠습니다.테이블에 데이터를 추가하는 문법INSERT INTO employeeVALUES (1, "MESSI", '1987-02-01', "M", "DEV_BACK", 100000000, null);// 결과 //Query OK, 1 row affected (0.05 sec)이때 VALUES의 괄호에 들어가는 값들의 순서가 중요합니다..
✏️ [Database] (2) Key와 constraint 설정하기
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용primary key 설정하기unique constraint 설정하기not null constraint 설정하기attribute의 default 값 설정하기check constraint 설정하기foreign key 설정하기constraint 이름 명시하기해당 글은 ✏️ [Database]SQL의 개념과 데이터베이스와 테이블 생성하기 - [1]에서 이어집니다.⭐️ Primary key**Key constraints: Primary keyprimary key: table의 tuple을 식별하기 위해 사용, 하나 이상의 attribute(s)로 구성primary key는 중복된 값을 가질 수 없으며, NULL도 값으로 가질 수 없다,사진을 보시면..
✏️ [Database] (1) SQL의 개념과 데이터베이스와 테이블 생성하기
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용SQL 기본 개념데이터베이스 생성하기테이블 생성하기attribute data type 소개⭐️ SQL 기본 개념SQL: Structured Query Language현업에서 쓰이는 relational DBMS의 표준 연어종합적인 database 언어: DDL + DML + VDLSQL 주요 용어relational data model |변화 | SQL| :-: | :-:|:-: || relation | --> | table| attribute |-->| column| tuple |-->| row| domain |-->| domainSQL에서 relation이란?multiset(= bag) of tuples @ SQL중복된 tuple을 허용한다..
✏️ [Database] 관계형 데이터베이스, Relation, Key, Constraints
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기내용 소개relational data model (관계형 데이터 모델)이란?domain, attribute, tuple 개념relation, relational database 개념relation 특징 소개null의 의미key 개념과 종류constraints 개념과 종류⭐️ Relational data Model이란?Relational?Relational Data Model을 이해하기 위해서는 Relational이란 무엇인지 알아야합니다. Relational은 수학에서 나온 개념입니다..우선 설명에 필요한 배경지식 먼저 설명하겠습니다.set서로 다른 elements를 가지는 collection중복된 elements를 가지지 않는다.하나의 set..
✏️ [Database] 데이터베이스 개론
·
Backend/Database
이 글은 Velog에서 이전한 글입니다. Velog 원문 보기목차DB & DBMS & DB system 개념data models 개념과 종류schema & state 개념three-schema architecture 소개database language 종류⭐️ Database & DBMS & DB System 개념DataBase(DB): 전자적으로(electronically) 저장되고 사용되는 관련있는(related) 데이터들의 조직화된 집합(organized collection)조직화된 집합책장을 생각해보자. 책이 일정한 규칙 없이 마구잡이로 쌓여있다면 원하는 책을 찾을 때 비효율적이고 재고 관리도 쉽지 않는 등의 여러가지 불편함들이 많을 것이다.그러나 조직직화된 데이터들은 내가 찾고 싶은 데이터들을 ..