컴퓨터 공부/📗 CS 12

[데이터베이스] 7장 - SQL 로 데이터 조회하기! NULL 의 의미와 three-valued logic

✅ NULL의 의미 : unknown - 알려지지 않음 : unavailable or withheld - 이용할 수 없음(공개하지 않아서) : not applicable - 적용할 수 없음 → 상황에 따라 다르게 해석된다. 그렇기 때문에 NULL 끼리의 같다, 다르다를 비교할 수가 없는 것이다. 예시를 살펴보자. =(등호)를 사용해서 NULL 비교를 하면, 아무것도 나오지 않는다. 이렇게 작성하고 "birth_date 가 NULL 인 사람이 아무도 없구나~" 라고 이해하면 안 된다. 실제로 JEFF 의 생년월일은 NULL 값을 가진다. IS 를 사용해서 NULL 값 비교를 하면 제대로 NULL 인 속성이 잘 추출된다. 반대로 값이 다른지 아닌지 표현하고 싶으면 != 대신에 'IS NOT' 을 사용해야 ..

[데이터베이스] 6장 - SQL 로 데이터 조회하기! SubQuery, IN, EXISTS, ANY, ALL

✅ SubQuery statement 는 아래와 같다. - ID가 14인 임직원보다 생일이 빠른 임직원의 ID, 이름, 생일을 알고 싶다. : 여기서 임직원의 ID 와 이름과 생일을 알고 싶다고 했으니까, employee 테이블이 필요한 건 확실해 보인다. : 그럼, 우선 ID 가 14인 직원을 뽑아낸 뒤, 그 직원의 생일을 알아내고, 다시 조건에 그 생일보다 빠른 직원들을 찾으면 될 것 같다. : 어떻게 하면 좋을까? 먼저, 현재 EMPLOYEE 테이블은 아래와 같다. 그럼, 먼저 ID 가 14인 직원의 생일(birth_date)을 뽑아내보면, 아래와 같다. SELECT birth_date FROM EMPLOYEE WHERE id = 14; ID가 14인 직원의 생일이 '1992-08-04' 라는 ..

[데이터베이스] 5장 - SQL 로 데이터 조회하기! SELECT 를 활용해서 데이터를 읽어오는 기본적인 문법과 관련 키워드들

✅ SELECT 로 데이터 조회하기 SELECT statement 는 아래와 같다. - ID 가 9인 임직원의 이름과 직군을 알고 싶다. : 현재 Employee 테이블은 아래와 같다. SELECT name, position FROM employee WHERE id = 9; 여기서 SELECT 뒤에 오는 COLUMN(속성,열) 들을 projection attributes 라고 한다. 즉, 내가 관심있는 속성만 투영해서 가지고 온다는 의미이다. 즉, 우리가 원하는 컬럼인 name 과 position 에 해당하는 값들만 뽑아서 가져온다. 그리고, WHERE 이하를 selection condition 이라고 하는데, 이는 행을 결정해 준다고 생각하면 된다. (여기서는 id=9인 행) 다시말해, 이 projec..

[데이터베이스] 4장 - SQL로 DB에 데이터를 추가(insert)하고 수정(update)하고 삭제(delete)하는 방법

✅ 데이터 추가하기 : Employee 테이블부터 데이터를 추가해보자. INSERT INTO 테이블 VALUES () 키워드로 데이터를 추가한다. 이 때, VALUES 에 넣어주는 값 순서는 테이블을 생성할 때, attribute를 넣어준 순서대로 값을 넣어주면 된다. create table EMPLOYEE( id INT PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, sex CHAR(1) CHECK(sex in ('M','F')), position VARCHAR(10), salary INT DEFAULT 50000000, dept_id INT, FOREIGN KEY (dept_id) references DEPARTMENT(id) on delete S..

[데이터베이스] 3장 - SQL 개념과 SQL로 데이터베이스를 정의하는 법

✅ SQL 뜻? : Structured Query Language 로, 현업에서 쓰이는 relational DBMS 의 표준 언어이다. : 종합적인 database 언어 : DDL + DML + VDL ✅ SQL 기본 개념 및 용어 relational data model SQL relation table attribute column tuple row domain domain - SQL 에서 relation 은 multiset(=bag) of tuples 를 허용한다. 즉, 중복된 tuple을 허용한다는 뜻이다. 기존 relaional data model 의 relation 과는 다른 점이다. - SQL은 RDBMS 의 표준 언어이지만, 실제 구현에 강제가 없기 때문에 RDBMS마다 제공하는 SQL의 스..

반응형