데이터베이스/SQL
-
JOIN - Left Outer Join데이터베이스/SQL 2022. 5. 30. 10:56
HTML 삽입 미리보기할 수 없는 소스 프로그래머스의 JOIN 문제를 풀면서 학습한 Left Outer Join에 정리하고자 합니다. Outer Join에는 Left Outer Join, Right Outer Join, Full Outer Join이 있습니다. 이 글에서는 Left Outer Join(사용법은 Right Outer Join도 같습니다)과 아래의 프로그래머스 문제에 어떻게 적용했는지 정리해보고자 합니다. 여러 테이블을 기준으로 진행이 가능하나 간단하게 설명하고자 두 개의 테이블을 연결시킨다고 가정하겠습니다. 편의상 기준이 되는 테이블을 A, 다른 테이블을 B라고 하겠습니다. Join 테이블 간의 결합을 의미 두개 이상의 테이블 필요 테이블 간에는 FK로 연결되어 있어야 해당 Key를 활용하..
-
COUNT와 그룹핑 - DISTINCT & GROUP BY데이터베이스/SQL 2022. 4. 1. 00:31
HTML 삽입 미리보기할 수 없는 소스 FROM -> CONNECT BY -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY 이 순서를 알아야 하는 이유 중의 하나가 별칭을 사용하게 되면 해당 별칭을 재사용할 경우 재사용하는 절이 기존의 절보다 이후에 실행되는 것이어야 에러가 안 생기기 때문입니다. 우선은 참고만 하고 나중에 별칭을 직접 써보면서 다뤄보겠습니다. 이번 문제 정말 흥미로웠고 재밌었습니다! https://programmers.co.kr/learn/courses/30/lessons/59408 "중복 제거하기" 문제 풀어보시는 것을 추천드립니다! ANIMAL_INS 테이..
-
프로그래머스 SQL SELECT 정리데이터베이스/SQL 2022. 3. 24. 16:45
HTML 삽입 미리보기할 수 없는 소스 프로젝트하면서 가장 많이 썼던 SQL 구문 중 하나가 SELECT 다. 그렇지만 최근에 SQL에 대한 감각이 떨어져 있기도 하고 기초적인 부분을 다시 보고 있어서 프로그래머스 사이트에서 코딩 테스트 연습 문제를 풀면서 감각을 올리고자 합니다. ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. 동물 보호소에 들어온 모든 동물의 아이디와 이름, ..
-
스케일업(Scale-up)과 스케일아웃(Scale-out)데이터베이스/SQL 2022. 3. 1. 18:29
HTML 삽입 미리보기할 수 없는 소스 이라는 책을 읽기 시작했는데 "스케일 아웃"에 대해 막연하게만 알고 있어서 "스케일 업"과 "스케일 아웃"에 대해서 정리하고자 합니다. 스케일 업 (Scale-up) 물리적인 성능 향상 (cpu나 memory 등) 고비용, 고효율 수직 스케일링 (vertical scaling) 단순하거나 빠른 작업(DB 갱신 자주 일어나야 하는 경우)에 적합 - 이런 경우 스케일 아웃에서는 데이터 정합성을 유지하기 어렵기 때문이다 상대적으로 쉽다 (사양만 올리면 되기 때문에) 낮은 관리 비용 적은 관리 이슈 데이터 정합성 이슈 발생 가능성이 적다 성능 향상에 한계가 있다 서버 1대가 분담하는 양이 많아져서 문제가 생기면 큰 타격 서버 교체나 업그레이드 시에 서비스 이용이 어려울 수..