데이터베이스 역할: 데이터를 저장하고 조작(CRUD)
관계형 데이터 베이스: 데이터간에 관계가 있는 데이터 항목들의 모음
두 테이블을 사용하여 데이터를 다양한 형식으로 조회할 수 있음
EX>
고객 데이터 간 비교를 위해서는 어떤 값을 활용해야할까?
-> 각 데이터에 고유한 식별 값을 부여하기, Primary key(기본 키)
누가 어떤 주문을 했는지 어떻게 식별할까?
-> 고객의 고유한 식별 값을 저장, Foreign Key(외래 키)
데이터를 기록하는 곳
각 필드에는 고유한 데이터 형식(타입)이 지정됨
각 레코드에는 구체적인 데이터 값이 저장됨
테이블들의 집합
Structure Query Language, 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어
Query란?
:데이터베이스로부터 정보를 요청 하는 것, SQL 작성하는 코드를 쿼리문이라 함.
테이블에서 모든 데이터를 조회
테이블 employees 에서 FirstName 필드의 모든 데이터를 조회
테이블 tracks에서 Name, Milliseconds 필드의 모든 데이터 조회(단, Milliseconds 필드는 60000으로 나눠 출력)
오름차순 (ASC, 기본값)
내림차순 (DESC)
테이블 employees에서 FirstName 필드의 모든 데이터를 오름차순으로 조회
테이블 employees 에서 FirstName 필드의 모든 데이터를 내림차순으로 조회
Null 값이 존재하는 경우 오름차순 정렬 시 결과에 NULL이 먼저 출력
테이블 customers 에서 Country 필드의 모든 테이터를 중복없이 오름차순 조회
조회 결과에서 중복된 레코드를 제거
조회시 특정 검색 조건을 지정
조회하는 레코드 수를 제한
레코드를 그룹화하여 요약본 생성('집계 함수'와 함께 사용)
WHERE 가 아닌 HAVING 으로 세부조건 지정해야함
'INTEGER','VARCHAR(50)' : 데이터 타입
'PRIMARY KEY', 'NOT NULL': 제약 조건
'AUTOINCREMENT'
examples 테이블에 Coutry 필드 추가
필드의 이름이 아닌 테이블 이름을 바꿈
테이블 자체를 삭제
테이블에 데이터 추가
데이터를 수정
둘 이상의 테이블에서 데이터를 검색하는 법
두 테이블에서 값이 일치하는 레코드에 대해서만 결과를 반환
오른쪽 테이블의 일치하는 레코드와 함께 왼쪽 테이블의 모든 레코드 반환