목록DataBase (46)
Allen's 데이터 맛집

SQL을 활용해 실무를 진행하다 보면, 데이터를 효과적으로 관리하고 재사용할 필요성이 자주 생깁니다. 특히 CREATE VIEW는 반복적인 쿼리를 단순화하고, 복잡한 데이터 처리를 구조화하며, 협업 시 효율성을 극대화할 수 있는 중요한 도구입니다. 이미지출처:https://ko.wikipedia.org/wiki/VIEW_%28SQL%29 1️⃣ CREATE VIEW란 무엇인가?기본 개념CREATE VIEW는 가상의 테이블을 생성하는 SQL 명령어입니다. VIEW는 물리적으로 데이터를 저장하지 않고, SELECT 쿼리 결과를 마치 테이블처럼 사용할 수 있는 객체입니다. 즉, 원본 데이터를 기반으로 필터링하거나 변형된 데이터를 필요할 때마다 쉽게 조회할 수 있도록 도와줍니다.VIEW의 특징원본 데이터 의존..
데이터베이스에서 인덱스(index)가 무엇이고, 어떻게 활용할 수 있는지에 대해 설명하려고 합니다. 인덱스는 데이터베이스에서 매우 중요한 역할을 합니다. 1. 인덱스란 무엇인가?인덱스는 쉽게 말해 책의 목차와 같습니다. 책을 읽을 때 원하는 내용을 빠르게 찾기 위해 목차를 확인하듯, 데이터베이스에서도 인덱스는 동일한 역할을 합니다. 데이터를 찾는 시간을 줄이기 위해 테이블의 특정 열에 인덱스를 설정하면, 데이터를 훨씬 빠르게 검색할 수 있습니다.2. 인덱스가 필요한 이유데이터베이스에는 수백만, 수억 개의 데이터가 저장될 수 있습니다. 만약 인덱스 없이 데이터를 조회하려면 모든 데이터를 하나씩 확인해야 하기 때문에, 검색 속도가 매우 느려질 수 있습니다. 특히, 테이블의 크기가 클수록 속도 저하가 심해지겠..

문제 풀이Julia가 주최한 최근 코딩 대회에서 우수한 성적을 거둔 뒤, 이번에도 그녀의 요청으로 새로운 챌린지에 참여하게 되었습니다! 이번 문제는 각 해커의 챌린지별 최고 점수를 합산하여 해커의 총점을 계산하고, 이를 기반으로 리더보드를 생성하는 SQL 쿼리를 작성하는 것입니다. SELECT s.hacker_id, h.name, SUM(s.max_score) AS total_max_scoreFROM (SELECT hacker_id, challenge_id, MAX(score) AS max_score FROM Submissions GROUP BY hacker_id, challenge_id ) s JO..

문제 풀이 Julia는 그녀의 학생들에게 코딩 챌린지를 만들도록 요청했습니다. 이 문제에서는 각 학생이 생성한 챌린지의 수를 분석하고, 결과를 챌린지 수에 따라 내림차순으로 정렬하여 출력하는 SQL 쿼리를 작성해야 합니다. 또한, 같은 수의 챌린지를 생성한 학생이 여럿인 경우 최대 생성 수를 제외하고 해당 학생들을 결과에서 제외해야 합니다. WITH data AS ( SELECT c.hacker_id AS id, h.name AS name, COUNT(c.hacker_id) AS counter FROM Hackers h JOIN Challenges c ON c.hacker_id = h.hacker_id GROUP BY..