TIL/DB 4

[TIL] MySQL 출력할 행의 개수 제한하기 - LIMIT, OFFSET

LIMTI '처음부터 시작해서 몇 개의 행을 반환할 것인가?' LIMIT는 반환할 행의 최대 개수를 제한한다.// 처음 10개의 행만 반환하기SELECT * FROM table_name LIMIT 10;  OFFSET '어디부터 시작할 것인가?' OFFSET은 결과 집합에서 처음 몇 개의 행을 건너뛸 것인지를 지정한다.// 처음 5개의 행을 건너 뛰고 6번째 행부터 10개의 행 반환(= 6번~15번 행)SELECT * FROM table_name LIMIT 10 OFFSET 5;  LIMIT와 OFFSET을 활용한 Pagination 구현 LIMIT와 OFFSET을 활용하면 페이지네이션을 구현할 수 있다.만약 20개의 행을 한 페이지로 보고싶다면 LIMIT 20 을 사용한다.첫 번째 페이지는 OFFSET..

TIL/DB 2024.12.10

[TIL] DATE, DATETIME, TIMESTAMP 비교

MySQL 테이블을 작성 중 '작성일', '수정일' 컬럼의 타입을 지정해야했는데,  찾아보니 날짜 형식을 지정하는 3가지 방법이 있었다. 각각 어떤 차이점이 있는지 정리해보려한다.DATE DATE는 '연-월-일' 만 저장하고 시간을 저장하지 않는다. 형식: 'YYYY-MM-DD'범위: '1000-01-01' ~ '9999-12-31'  실행 예시:CREATE TABLE time( date DATE,);INSERT INTO time (date) value (now()); //시스템 시간 저장SELECT date FROM time;   DATETIME, TIMESTAMP DATETIME과 TIMESTAMP는 '연-월-일'뿐만 아니라 '시간'도 함께 저장한다. 다만, TIMESTAMP는 UTC 시간이 저장되..

TIL/DB 2024.12.06

[TIL] 집계 함수 (COUNT,SUM,AVG...) + LIMIT, DISTINCT

https://school.programmers.co.kr/learn/courses/30/lessons/59408 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 오늘 SQL 문제를 풀면서 COUNT와 DISTINCT에 대해 정리할 필요성을 느꼈다.기왕 이렇게 된거 COUNT만 정리하기는 좀 그러니까 집계 함수에 대해 전반적으로 정리해보았다. '집계 함수' 란? 데이터베이스에서 검색된 여러 투플들의 집단(그룹)에 적용되는 함수   특징 집계함수는 `SELECT`절과 `HAVING`절에서만 사용된다. 'WHERE' 절에서는 집계 함수를 사용할 수 없다.  종류집계 함수기능NULL 값 집계 여부기타 사항CO..

TIL/DB 2024.12.05

[TIL] 릴레이션의 KEY

슈퍼 키(super key) 정의한 릴레이션 내에서 특정 투플을 고유하게 식별하는 하나의 애트리뷰트(기본 키) 또는 애트리뷰트들의 집합 문제점투플을 고유하게 식별하는 데 꼭 필요하지 않은 (=기본 키가 아닌) 애트리뷰트가 포함될 수 있음 후보 키(candidate key) 정의각 투플을 고유하게 식별하는 최소한의 애트리뷰트들의 모임 특징1. 모든 릴레이션에는 최소 한 개 이상의 후보키가 있음2. 기본 키로 선정되지 않은 후보 키도 있을 수 있음 (= 대체 키(alternate key))3. 두 개 이상의 애트리뷰트로 이루어질 수 있음 (=복합 키(composite key)) 💡주의어떤 릴레이션의 인스턴스를 살폈을 때 중복이 없다고 해서 후보키로 판단하면 안 된다.∵ 어떤 시점에 중복된 값이 없다고 해서..

TIL/DB 2024.12.04