본문 바로가기

전체 글177

쿼리 최적화 해보기 (윈도우 함수가 상관 서브쿼리 보다 빠른 이유) 쿼리를 짜면서 성능에 대해서는 생각 해 본적이 없다. 최근에야 성능의 중요성을 알게 됐고 쿼리르 짜면서 시간복잡도를 생각하게 됐다. 나는 여태 서브쿼리를 쓰면 계산 시간이 오래 걸리는 줄 알았다. 그런데 그게 아니다. 상관 서브쿼리를 쓰면 성능이 떨어지지만 일반(비상관) 서브쿼리는 성능이 동일하다. 다만 비상관 서브쿼리는 쓸 일이 많이 없어 보인다.그러면 상관 서브쿼리는 뭘까?상관 서브쿼리는 외부 쿼리 값을 참조하는 서브쿼리를 말 한다. 일반 서브쿼이와 상관 서브 쿼리를 비교해보자employees 테이블:id | name | department | salary1 | Alice | IT | 60002 | Bob | HR | 4000 3 | Carol | IT .. 2025. 8. 14.
User Activity for the Past 30 Days I 이 SQL 문제를 한국어로 번역해드리겠습니다.SQL 스키마테이블: Activity+---------------+---------+| 컬럼명 | 타입 |+---------------+---------+| user_id | int || session_id | int || activity_date | date || activity_type | enum |+---------------+---------+이 테이블은 중복 행을 가질 수 있습니다.activity_type 컬럼은 ('open_session', 'end_session', 'scroll_down', 'send_message') 타입의 ENUM(카테고리)입니다.이 테이블은 소셜 미디어 웹사이트의 .. 2025. 8. 14.
2356. Number of Unique Subjects Taught by Each Teacher 테이블: Teacher+-------------+------+| 컬럼명 | 타입 |+-------------+------+| teacher_id | int || subject_id | int || dept_id | int |+-------------+------+(subject_id, dept_id)는 이 테이블의 기본 키(고유한 값을 가진 컬럼들의 조합)입니다.이 테이블의 각 행은 teacher_id를 가진 교사가 dept_id 학과에서 subject_id 과목을 가르친다는 것을 나타냅니다.대학에서 각 교사가 가르치는 고유한 과목의 수를 계산하는 솔루션을 작성하세요. 결과 테이블을 임의의 순서로 반환하세요. 결과 형식은 다음 예시에 나와 있습니다. 쿼리SELECT .. 2025. 8. 13.
550. Game Play Analysis IV +--------------+---------+| 컬럼명 | 타입 |+--------------+---------+| player_id | int || device_id | int || event_date | date || games_played | int |+--------------+---------+(player_id, event_date)는 이 테이블의 기본 키(고유한 값을 가진 컬럼들의 조합)입니다.이 테이블은 일부 게임의 플레이어 활동을 보여줍니다.각 행은 어떤 날에 어떤 기기를 사용하여 로그인하고 여러 게임을 플레이한 후(0개일 수도 있음) 로그아웃한 플레이어의 기록입니다.처음 로그인한 날의 다음 날에 다시 로그인한 플레이어의 비율.. 2025. 8. 13.
Immediate Food Delivery II 테이블: Delivery+-----------------------------+---------+| Column Name | Type |+-----------------------------+---------+| delivery_id | int || customer_id | int || order_date | date || customer_pref_delivery_date | date |+-----------------------------+---------+delivery_id는 이 테이블의 고유값 컬럼입니다.이 테이블은 특정 날짜에 주문하고 선호하는 배송 .. 2025. 8. 12.
Monthly Transactions I 테이블: Transactions+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || country | varchar || state | enum || amount | int || trans_date | date |+---------------+---------+id는 이 테이블의 기본 키입니다.이 테이블은 들어오는 거래에 대한 정보를 담고 있습니다.state 컬럼은 ["approved", "declined"] 타입의 enum입니다.각 월과 국가별로 거래 수와 총 금액, 승인된 거래 수와 그 총 금액을 찾.. 2025. 8. 8.