no image
Union / Union All 예제
Leet Code #602. Friend Requests II: Who Has the Most Friends Friend Requests II: Who Has the Most Friends - LeetCode Can you solve this real interview question? Friend Requests II: Who Has the Most Friends - Table: RequestAccepted +----------------+---------+ | Column Name | Type | +----------------+---------+ | requester_id | int | | accepter_id | int | | accept_date | leetcode.com [ 문제상황 ] 팔로우..
2023.12.04
no image
Window Function 예제
예제 leet code # 626 leet code # 1204 Leet Code #626. Exchange Seats [ 문제상황 ] id - 학생이름이 나열되어 있는 테이블에서 - (1,2) / (3,4) / ... 이웃된 학생끼리 id를 swap - 만약 학생 수가 홀수 명이라서 한 명이 남으면 그 학생은 id 유지 [ 해결방법 ] Sol 1 : CASE WHEN 으로 케이스 분류 접근법 : 1. id가 짝수면 (2로 나눈 나머지가 0) 기존 id에서 1을 빼고, 2. id가 홀수면 (2로 나눈 나머지가 1) 기존 id에서 1을 더함. 3. 그런데 전체 학생 수가 홀수일 때 마지막 홀수 번호 학생은 1을 더해주면 안되니까 subquery 이용해서 case 나눠주기. id = (SELECT COUNT..
2023.11.16
SUB QUERY 예제
프로그래머스 LV 3. 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 프로그래머스 LV 4 그룹별 조건에 맞는 식당 목록 출력하기 프로그래머스 LV 3. 즐겨찾기가 가장 많은 식당 정보 출력하기 모든 값이 NULL인 새로운 열 만들기 : SELECT NULL AS "열 이름"
2023.10.23
no image
SQL : timestamp 다루기
https://mode.com/blog/date-trunc-sql-timestamp-function-count-on/ date_trunc는 postgresql에 해당, my sql에서 가장 비슷한거는 extract임 DATE_TRUNC: SQL Timestamp Function Explained | Mode Learn how to use Date_Trunc in SQL to round a timestamp to the interval you need. Aggregate time-based data with this helpful function. Examples included. mode.com https://walkingfox.tistory.com/175 [MySQL] date_trunc 함수를 구현하..
2023.10.17
no image
SQL : Delete
2023.10.05
no image
SQL : Update
Update 명령문의 syntax는 위와 같이 UPDATE (테이블명) SET (컬럼명=값) WHERE (조건) 먼저 조건 없이 update하는 예시를 보자. (특정 행에 대해 값을 업데이트하라는 where절 조건이 주어지지 않으면, 그냥 해당 컬럼의 모든 행에 대해 update가 된다) 이번엔 조건이 있을 때 !
2023.10.05
no image
SQL : Insert
INSERT 테이블에 데이터를 추가할 때 이용하는 명령어
2023.10.05
no image
SQL : Joins with Comparison Operators
JOIN 기능을 이용할 때, ON 절과 comparison operators를 이용하여 어떠한 조건문이라도 추가할 수 있다. 참고자료에서 나온 예시를 활용하자면, SELECT ~~ FROM companies LEFT JOIN investments ON companies. key1 = investments. key2 AND investments.funded_year >= companies.founded_year + 5 위 쿼리는 companies 라는 테이블과 investments 라는 테이블을 연결짓는데 investments에서 funded된 년도가 companies에서 설립된 연도보다 5년 이상 지난 년도인만 행만 골라 left join 하겠다는 의미이다. 이는 그냥 WHERE 절로 조건을 주는 것과와..
2023.07.20
no image
SQL : Union & Union ALL
UNION UNION 절은 JOIN 절이 두 개의 데이터 셋을 가로로 연결해준것과 달리 아래로 연결되도록 해준다. 따라서, 두 개의 SELECT 문을 작성해서 이어붙일 때 그 사이에 UNION을 쓸 수 있는 것이다. ID 학과 1 경영학과 2 컴퓨터과학과 ID 학과 2 컴퓨터과학과 3 건축학과 4 국어국문학과 첫번째 테이블의 모든 결과를 나열하고 + 그 밑에 두번째 테이블의 모든 결과들이 이어진다. 그런데 distinct values들만 남는다. 즉, 위에서 두번째 테이블인 B에 A와 중복되는 행인 (ID = 2)가 있는데, 이러면 ID = 2인 행은 제외하고 붙여진다. 결과는 다음과 같을 것이다. ID 학과 1 경영학과 2 컴퓨터과학과 3 건축학과 4 국어국문학과 두 개의 SELECT 문 사이에 UNI..
2023.07.20