[SQL] Programmers 문제 풀기 (연도별 대장균 크기의 편차 구하기)
·
Data Analyst/SQL
해당 문제는 Programmers에서 사용한 문제이며 모든 테이블의 자료와 출처는 Programmers임을 밝힙니다.해당 글에서는 SELF JOIN과 GROUP BY와 여러 집계함수를 이용하여 푸는 문제로 초보자가 하기에는 보통정도의 난이도를 가지고 있습니다.해당 문제 원본을 확인 하시려면 해당 사이트를 들어가시면 될 것 같습니다. 시작하겠습니다.분화된 연도(YEAR), 분화된 연도별 대장균 크기의 편차(YEAR_DEV), 대장균 개체의 ID(ID)를 출력하는 SQL 문을 작성해주세요. 분화된 연도별 대장균 크기의 편차는 분화된 연도별 가장 큰 대장균의 크기 - 각 대장균의 크기로 구하며 결과는 연도에 대해 오름차순으로 정렬하고 같은 연도에 대해서는 대장균 크기의 편차에 대해 오름차순으로 정렬해주세요.해..
[SQL] SELF JOIN 사용하여 문제 풀기 (Rising Temperature)
·
Data Analyst/SQL
해당 문제는 LeetCode에서 사용한 문제이며 모든 테이블의 자료와 출처는 LeetCode임을 밝힙니다.해당 글에서는 SELF JOIN를 사용하여 푸는 문제로 저 같은 초보자에게는 매우 난이도가 있는 문제인 것 같습니다.해당 문제 원본을 확인 하시려면 해당 사이트를 들어가시면 될 것 같습니다. 시작하겠습니다.Write a solution to find all dates' id with higher temperatures compared to its previous dates (yesterday).(이전 날짜(어제)에 비해 온도가 높은 모든 날짜의 ID를 찾는 솔루션을 작성합니다.) 이 문제에서는 우선 Weather라는 테이블이 주어졌으며 이전 날짜에 비해 온도가 높은 모든 날짜의 ID를 출력하는 것입니..
[SQL] INNER JOIN 사용하여 문제 풀기 (Type of Triangle)
·
Data Analyst/SQL
해당 문제는 HackerRank에서 사용한 문제이며 모든 테이블의 자료와 출처는 Hackerank임을 밝힙니다.해당 글에서는 INNER JOIN를 사용하여 푸는 문제로 그래도 처음 푸는 사람에게도 적절한 문제인 것 같습니다..해당 문제 원본을 확인 하시려면 해당 사이트를 들어가시면 될 것 같습니다. 시작하겠습니다Given the CITY and COUNTRY tables, query the names of all the continents (COUNTRY.Continent) and their respective average city populations (CITY.Population) rounded down to the nearest integer.Note: CITY.CountryCode and COU..
[SQL] CASE 사용하여 문제 풀기 (Type of Triangle)
·
Data Analyst/SQL
해당 문제는 HackerRank에서 사용한 문제이며 모든 테이블의 자료와 출처는 Hackerank임을 밝힙니다.해당 글에서는 CASE를 사용하여 푸는 문제로 그래도 처음 푸는 사람에게는 난이도가 있는 문제인 것 같습니다.해당 문제 원본을 확인 하시려면 해당 사이트를 들어가시면 될 것 같습니다. 시작하겠습니다Write a query identifying the type of each record in the TRIANGLES table using its three side lengths. Output one of the following statements for each record in the table:Equilateral: It's a triangle with  sides of equal lengt..
[SQL] GROUP BY 사용하여 문제풀기 (Top Earners)
·
Data Analyst/SQL
해당 문제는 HackerRank에서 사용한 문제이며 모든 테이블의 자료와 출처는 Hackerank임을 밝힙니다.해당 글에서는 Group by를 사용하여 푸는 문제로 그래도 처음 푸는 사람에게는 난이도가 있는 문제인 것 같습니다.해당 문제 원본을 확인 하시려면 해당 사이트를 들어가시면 될 것 같습니다. 시작하겠습니다We define an employee's total earnings to be their monthly salary * months worked, and the maximum total earnings to be the maximum total earnings for any employee in the Employee table. Write a query to find the maximum t..
SQL - Window Function (RANK, DENSE_RANK, LAG, LEAD)
·
Data Analyst/SQL
RANK 함수RANK 함수는 특정 컬럼의 값을 기준으로 순위를 매깁니다. 이 때 동일한 값이 있을 경우 같은 순위를 부여하지만, 다음 순위는 건너뜁니다.위 테이블에서 RANK() 함수는 두 번째와 세 번째 행에 같은 순위 2을 부여한 후, 네 번째 행에는 순위를 건너뛰어 4를 부여합니다. 사용 예시:select emp_no, salary, rank() over w as rank_num -- rank 함수 사용from salarieswhere emp_no = 10560window w as (partition by emp_no order by salary desc);DENSE_RANK 함수DENSE_RANK 함수도 순위를 매기지만, 순위가 건너뛰지 않는 점이 RANK 함수와 다릅니다. 동일한 값이..
SQL - Window Functions (ROW_NUMBER)
·
Data Analyst/SQL
윈도우 함수(Window Functions)는 SQL에서 데이터 분석과 계산을 더욱 강력하고 유연하게 처리할 수 있게 해주는 기능입니다.데이터 집합을 다양한 방식으로 처리할 수 있도록 도와주는 윈도우 함수는 특히 데이터 분석 및 리포트 작성에 유용합니다.새로운 컬럼을 만들어서 출력합니다. 사용 예시:-- 무조건 over가 있어야 window function 사용이 가능합니다.SELECT column1, column2, ... ROW_NUMBER() OVER () AS row_numFROM table;ROW_NUMBER() : 각 행마다 순차적으로 숫자를 부여해주는 기능을 합니다. 즉, 기본적인 행 번호를 부여합니다. 활용 1: SELECT emp_no, title, salary, R..
SQL - Index, Case Statement
·
Data Analyst/SQL
MySQL 인덱스인덱스는 데이터베이스에서 검색 성능을 향상시키는 중요한 도구입니다. 책의 목차처럼 작동하며, 테이블의 특정 열을 빠르게 검색할 수 있도록 돕습니다. 인덱스 기본 생성:-- 방법CREATE INDEX index_nameON table_name (column_1, column_2, ...);-- 예시create index i_hire_date on employees(hire_date);이 구문에서 괄호 안에는 자주 검색할 열을 지정합니다. 단일 열 인덱스 뿐 아니라 다중 열을 사용한 복합 인덱스도 생성 할 수 있습니다. 복합 인덱스:-- 방법CREATE INDEX idx_nameON table_name (column1, column2);-- 예시create index i_composite o..
SQL - Trigger
·
Data Analyst/SQL
MySQL 트리거란 무엇인가?MySQL 트리거는 테이블에 연결된 저장 프로그래밍의 일종입니다. 특정 이벤트가 발생하면 자동으로 활성화 됩니다. 이 이벤트는 반드시 INSERT, UPDATE, 또는 DELETE와 같은 DML(데이터 조작 언어) 명령어와 관련이 있어야 합니다. 트리거는 데이터베이스의 일관성과 무결성을 유지하는데 매우 유용한 도구입니다. 트리거는 두 가지 유형으로 나뉩니다.BEFORE 트리거: 이벤트 발생 전에 실행 됩니다.AFTER 트리거:  이벤트 발생 후에 실행 됩니다.예를 들어, 트리거는 테이블에 새 레코드가 삽입되기 전에 또는 레코드가 업데이트 된 후에 활성화 될 수 있습니다.DELIMITER $$CREATE TRIGGER before_salaries_insertBEFORE INSE..
SQL - Local, Session, Global Variables
·
Data Analyst/SQL
Local Variables (지역 변수)지역 변수는 Begin-End 블록 내에서만 유효한 변수 입니다. 이 변수들은 해당 블록을 벗어나면 존재하지 않게 됩니다.지역 변수를 선연할 때는 DECLARE 키워드를 사용해야 합니다.DELIMITER $$create function f_emp_avg_salary (p_emp_no INTEGER) returns decimal(10,2)deterministic no sql reads sql databegindeclare v_avg_salary decimal(10,2); # v_avg_salary 변수 생성begin declare a_avg_salary_2 decimal(10,2); # a_avg_salary_2 변수 생성end;select avg(s.salary)..
hmm06
'SQL' 태그의 글 목록 (3 Page)