[MySQL] Window 함수
·
SQL/MySQL
1. Window 함수1.1. Window 함수 개념MySQL 8.0부터 정식으로 지원행들의 집합(window)에 대해 계산을 수행하는 함수로, 집계 함수의 확장판(GROUP BY와 달리) 데이터를 집계해도 원래의 행들은 그대로 두고, 결과를 추가적인 컬럼으로 붙여줌⭐공식 도규먼트 曰 "By contrast, window operations do not collapse groups of query rows to a single output row. Instead, they produce a result for each row."기본 쿼리 형식함수명(): 사용할 윈도우 함수. 2~4장 참고. (필수)OVER(): 윈도우 함수임을 나타내는 키워드 (필수)PARTITION BY: 데이터를 나눌 기준 (=GRO..
[MySQL] 해커랭크, 리트코드 문제 풀이 (4)
·
SQL/MySQL
SQL 쿼리 연습을 위해 다양한 문제를 풀어보고 있다.다만, 대부분의 코딩테스트 플랫폼에서는 BigQuery 선택지가 없어서 MySQL 기준으로 연습하는 중이다.(대부분의 문법이 비슷하지만 간혹 문법이나 정책이 다른 경우가 있는 듯하다) 아래와 같은 문제들을 기록해두고 복기하려고 한다.어려워서 풀이에 실패한 문제풀긴 했으나 좀 더 좋은 쿼리가 있었던 문제몰랐던 문법이나 함수를 알게 된 문제그 외 복기가 필요하다고 느낀 문제1. Placements (해커랭크)📌문제Write a query to output the names of those students whose best friends got offered a higher salary than them.Names must be ordered by th..
[MySQL] UNION, 서브쿼리
·
SQL/MySQL
1. UNION, UNION ALL1.1. UNION 개념 이해UNION: 두 개 이상의 SELECT 쿼리 결과를 수직으로 결합하는 함수 (🆚JOIN이 가로였다면, UNION은 세로) 중복된 행은 빼고 반환해줌 (= 합집합 연산 느낌)UNION ALL은 중복 행까지 다 포함해서 반환해줌차집합(EXCEPT)이나 교집합(INTERSECT) 연산도 있긴 한데, MySQL은 지원하지 않음..예제 1) Product 테이블에서 price가 5 이하거나 200 이상인 상품들만 출력하기-- 1) 일반적인 쿼리select *from Productswhere price = 200-- 2) 굳이 UNION을 써보면 아래처럼 할 수 있음!select *from Productswhere price = 200예제 2) FUL..
[MySQL] Data Manipulation Language (INSERT, UPDATE, DELETE)
·
SQL/MySQL
1. 데이터 조작어(Data Manipulation Language)SQL 구문을 기능에 따라 분류하면 아래와 같다.구문역할예시DDL (Data Definition Language)테이블이나 컬럼 등의 구조 정의/수정 CREATE, ALTER, DROPDML (Data Manipulation Language)테이블 안의 데이터 추가/수정/삭제/조회 INSERT, UPDATE, DELETE, SELECTDCL (Data Control Language)사용자 권한 부여/회수GRANT, REVOKETCL (Transaction Control Language) 트랜잭션을 확정/취소COMMIT, ROLLBACK, SAVEPOINT이 중에서 DML은 (테이블 구조는 그대로 두고) 테이블 안의 "데이터" 자체를 조작..
[MySQL] 해커랭크 문제 풀이 (3)
·
SQL/MySQL
SQL 쿼리 연습을 위해 다양한 문제를 풀어보고 있다.다만, 대부분의 코딩테스트 플랫폼에서는 BigQuery 선택지가 없어서 MySQL 기준으로 연습하는 중이다.(대부분의 문법이 비슷하지만 간혹 문법이나 정책이 다른 경우가 있는 듯하다) 아래와 같은 문제들을 기록해두고 복기하려고 한다.어려워서 풀이에 실패한 문제풀긴 했으나 좀 더 좋은 쿼리가 있었던 문제몰랐던 문법이나 함수를 알게 된 문제그 외 배울 점이 있었던 문제1. Weather Observation Station 11 (해커랭크)📌문제Query the list of CITY names from STATION that either do not start with vowels or do not end with vowels.Your result ca..
[MySQL] 해커랭크, 리트코드 문제 풀이 (2)
·
SQL/MySQL
SQL 쿼리 연습을 위해 다양한 문제를 풀어보고 있다.다만, 대부분의 코딩테스트 플랫폼에서는 BigQuery 선택지가 없어서 MySQL 기준으로 연습하는 중이다.(대부분의 문법이 비슷하지만 간혹 문법이나 정책이 다른 경우가 있는 듯하다) 아래와 같은 문제들을 기록해두고 복기하려고 한다.어려워서 풀이에 실패한 문제풀긴 했으나 좀 더 좋은 쿼리가 있었던 문제몰랐던 문법이나 함수를 알게 된 문제그 외 배울 점이 있었던 문제1. Employees Earning More Than Their Managers (리트코드 181번)📌문제Write a solution to find the employees who earn more than their managers.Return the result table in an..
[MySQL] 해커랭크, 리트코드 문제 풀이 (1)
·
SQL/MySQL
SQL 쿼리 연습을 위해 다양한 문제를 풀어보고 있다.다만, 대부분의 코딩테스트 플랫폼에서는 BigQuery 선택지가 없어서 MySQL 기준으로 연습하는 중이다.(대부분의 문법이 비슷하지만 간혹 문법이나 정책이 다른 경우가 있는 듯하다) 아래와 같은 문제들을 기록해두고 복기하려고 한다.어려워서 풀이에 실패한 문제풀긴 했으나 좀 더 좋은 쿼리가 있었던 문제몰랐던 문법이나 함수를 알게 된 문제그 외 배울 점이 있었던 문제 1. Higher Than 75 Marks (해커랭크)📌문제Query the Name of any student in STUDENTS who scored higher than  Marks. Order your output by the last three characters of each ..
[SQL] 핵심 정리 노트
·
SQL/BigQuery
SQL을 공부하며 배운 내용을 정리한 것이며, 개인적으로 기억하고 다시 찾아보기 위한 용도로 작성합니다.링크가 없는 경우 : [BigQuery 기초] 글에서 다뤘던 내용링크가 있는 경우 : 이후에 추가로 알게 된 내용 Last updated : 25.04.24 1. 쿼리 및 함수 정리 기본 쿼리 (추출, 조건)FROMWHEREAND, OR, NOT, INIS NULL비교연산자 (=, !=, ), BETWEEN(등호 포함)SELECTEXCEPT컬럼끼리 사칙연산 가능 (+, -, *, /)CASE WHEN ~ ENDIFORDER BY (OSC, DESC)`,`로 조건 여러 개 입력 가능 (첫 조건에서 동일 순서라면 다음 조건으로 정렬) 25.03.06LIMIT집계/계산GROUP BY (필수), GROUP ..
[SQL] 12. 연습문제 풀이
·
SQL/BigQuery
문제1 각 트레이너별로 가진 포켓몬의 평균 레벨을 계산하고, 그 중 평균 레벨이 높은 TOP 3 트레이너의 이름과 보유한 포켓몬의 수, 평균 레벨을 출력해주세요.    ❎내 풀이 과정- status 조건을 빼먹음..!더보기1) 데이터 확인 2) 일단 trainer_pokemon 테이블로 평균 레벨, 포켓몬 수를 계산해봄쿼리 결과 검증을 위해 trainer_id = 5인 경우로 WHERE 걸어서 먼저 실행 > 일치함!WHERE 빼고, ORDER BY 추가해서 다시 출력3) 여기서 트레이너 이름(trainer_name)만 출력하면 됨 = trainer 테이블 JOIN하자!2번의 결과를 WITH temp_table AS로 지정한 뒤, LEFT JOIN해서 출력 (ORDER BY는 맨 마지막으로 뺌)잘 나오는 ..