본문 바로가기

데이터베이스10

SQL과 NoSQL 문법 차이, 예제 1. 테이블 생성 MySQL MongoDB CREATE TABLE table_name ( id NUMBER NOT NULL, name VARCHAR(30), age NUMBER, PRIMARY KEY(id) ) db.table_name.insertOne ({ id: 1, name: “user”, age: 27 }) db.createCollection("table_name") table_name id name age 2. 데이터 삽입 MySQL MongoDB INSERT INTO table_name VALUES (1, “user”, 27) db.table_name.insertOne ({ id: 1, name: “user”, age: 27 }) 3. 테이블 삭제 MySQL MongoDB DROP TABLE .. 2024. 1. 3.
[MySQL] 프로그래머스스쿨 연습문제 Lv.3 모음1 1. 자동차 대여 기록에서 대여중/대여 가능 여부 구분하기 코딩테스트 연습 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 | 프로그래머스 스쿨 (programmers.co.kr) 풀이 1. 같은 자동차의 대여-반납 기록이 여러개일 경우, START_DATE와 END_DATE를 기준으로 더 늦은 날짜인 기록을 기준으로 하기 위해 MAX를 사용한다. 1-1. 2022-10-16일을 넘는 대여기록이 없다면 대여 가능이 됨 2. CAR_ID를 기준으로 묶어준다. 회고 - MAX를 이렇게 쓸수도 있군요,, 배워갑니다 - IF문 : IF (조건, 조건 충족시 결과, 조건 미충족시 결과) 코드 (접은 글) 더보기 SELECT CAR_ID, MAX(CASE WHEN '2022-10-16' BETWEEN .. 2023. 4. 27.
[MySQL] 프로그래머스스쿨 연습문제 Lv.2 모음2 1. 진료과별 총 예약 횟수 출력하기 코딩테스트 연습 - 진료과별 총 예약 횟수 출력하기 | 프로그래머스 스쿨 (programmers.co.kr) 풀이 회고 - 놀라운 사실,,, SELECT문에서 AS 생략 가능이엇음 ㄷ ㄷ - ORDER BY 쓸 때 그냥 열 순서로 대체해도 됨 (=ORDER BY 2, 1) - TIMESTAMP여도 DATE_FORMAT사용하면 됨 - 날짜든 시간이든 수치든 BETWEEN-AND로 범위 설정 가능 코드 (접은 글) 더보기 SELECT MCDP_CD AS '진료과 코드', COUNT(MCDP_CD) '5월예약건수' FROM APPOINTMENT WHERE DATE_FORMAT(APNT_YMD, '%Y-%m-%d') BETWEEN '2022-05-01' AND '2022-0.. 2023. 4. 27.
[MySQL] 프로그래머스스쿨 연습문제 Lv.2 모음1 1. 조건에 부합하는 중고거래 상태 조회하기 코딩테스트 연습 - 조건에 부합하는 중고거래 상태 조회하기 | 프로그래머스 스쿨 (programmers.co.kr) 풀이 1. 출력할 게시글 ID, 작성자 ID, 게시글 제목, 가격은 SELECT로 호출한다. 2. 거래 상태는 CASE-END를 사용해 각각 한글로 바꿔준다. 3. 조건에 맞는 날짜를 선택할 때에는 CREATED_DATE가 DATE타입이므로, DATE_FORMAT을 사용한다. 4. 내림차순 정렬은 ORDER BY ~~~ DESC 회고 - DATE_FORMAT에서 맨 앞(연)은 대문자!! 코드 (접은 글) 더보기 SELECT BOARD_ID, WRITER_ID, TITLE, PRICE, (CASE WHEN STATUS = 'SALE' THEN '판.. 2023. 4. 27.
[데이터베이스] 5. 조인 [1. 조인] 1. 조인 : 두 개 이상의 릴레이션(테이블)에서 조인 조건에 맞는 두 릴레이션의 투플을 조합하여 만들어지는 투플로 구성된 새로운 릴레이션을 생성하는 연산 - 조건을 설정하여 원하는 데이터만 볼 수 있음 2. 조인의 종류 (1) 내부 조인(∩, inner join) : 왼쪽 테이블과 오른쪽 테이블의 두 행이 모두 일치하는 행이 있는 부분만 표기 (2) 왼쪽 조인(left outer join) : 왼쪽 테이블의 모든 행이 결과 테이블에 표기됨 (3) 오른쪽 조인(right outer join) : 오른쪽 테이블의 모든 행이 결과 테이블에 표기됨 (4) 합집합 조인(full outer join) : 두 개의 테이블을 기반으로 (조건에 만족하지 않더라도) 모든 행이 표기됨 Ex. 학생 명단 테이.. 2023. 2. 17.
[데이터베이스] 4. 인덱스 [1. 인덱스의 기능] - 검색 연산을 빠르게 수행하기 위해 데이터베이스 레코드의 정보를 구성하는 데이터 구조 - 인덱스를 이용하면 전체 데이터를 검색하지 않고 원하는 정보를 빠르게 검색할 수 있으며, 레코드 수가 증가하더라도 검색 속도에 큰 변화가 없음 - 인덱스는 인덱스를 생상한 칼럼 값으로 정렬되어 있어 테이블 내에 실제 값들이 저장된 위치를 갖고 있음 - 접근 경로를 단축함으로써 데이터의 탐색 속도 향상 [2. B-tree] 1. 인덱스는 보통 B-트리라는 자료구조로 이루어져 있음 - 루트 노드 - 브랜치 노드 - 리프 노드 - 트리 탐색은 맨 위 루트 노드부터 시작되어 브랜치 노드를 거쳐 리프 노드로 내려옴 - '57보다 같거나 클때까지 2023. 2. 17.