본문 바로가기
728x90

우공이산258

[SQL] 5. 윈도우 함수(Window Functions) 1. 윈도우 함수 개념윈도우 함수는 결과 집합 내에서 ‘현재 행을 기준으로 주변 행’을 참조해 계산OVER( [PARTITION BY …] [ORDER BY …] ) 절 필수2. 기본 형태함수명(컬럼_or_식) OVER ( [PARTITION BY 분할컬럼…] [ORDER BY 정렬컬럼…])PARTITION BY: 그룹화 (GROUP BY와 유사하나, 결과행 수는 유지)ORDER BY: 윈도우 내 순서 지정윈도우 프레임 지정 없이 기본값은 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW3. 순위 함수3-1. ROW_NUMBER(): 순번 부여 (중복 없이 1,2,3…)SELECT department_id, employee_id, sal.. 2025. 5. 19.
[SQL] 4. 뷰(View), 인덱스(Index), 시퀀스(Sequence) 1. 뷰(View)뷰는 하나 이상의 테이블을 조합하여 만든 가상의 테이블입니다. 복잡한 SELECT 문을 이름 붙여 재사용하거나, 특정 컬럼·행만 노출할 때 유용합니다.1-1. 뷰 생성CREATE OR REPLACE VIEW 직원_연봉_VIEW ASSELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, SALARY, DEPARTMENT_IDFROM EMPLOYEESWHERE SALARY > 3000;1-2. 뷰 사용SELECT *FROM 직원_연봉_VIEWORDER BY SALARY DESC;1-3. 뷰 장단점장점복잡한 쿼리를 단순화권한 분리: 민감한 컬럼은 뷰에선 제외 가능단점업데이트 가능한 뷰인지 확인 필요너무 많은 뷰는 관리.. 2025. 5. 19.
[SQL] 3.집합 연산(SET OPERATIONS) 1. UNION / UNION ALLUNION: 두 개 이상의 SELECT 결과를 합치되, 중복 행 제거UNION ALL: 합칠 때 중복을 그대로 포함 -- 부서 10 직원과 부서 20 직원을 합쳐서 조회 (중복 제거)SELECT EMPLOYEE_ID, FIRST_NAME, DEPARTMENT_IDFROM EMPLOYEESWHERE DEPARTMENT_ID = 10UNIONSELECT EMPLOYEE_ID, FIRST_NAME, DEPARTMENT_IDFROM EMPLOYEESWHERE DEPARTMENT_ID = 20ORDER BY DEPARTMENT_ID;-- 중복 포함 버전SELECT … WHERE DEPARTMENT_ID = 10UNION ALLSELECT … WHERE DEPARTME.. 2025. 5. 19.
[SQL] 2. 집계함수(COUNT,SUM,AVG,MIN,MAX), GROUP BY, HAVING 1. 집계 함수(Aggregate Functions)여러 행의 값을 한 줄로 요약할 때 사용합니다.함수설명예시COUNT(expr)행 개수COUNT(*)SUM(expr)합계SUM(SALARY)AVG(expr)평균AVG(SALARY)MIN(expr)최솟값MIN(HIREDATE)MAX(expr)최댓값MAX(SALARY)-- 직원 수 조회SELECT COUNT(*) AS 직원수 FROM EMPLOYEES; -- 전체 연봉 합계·평균·최댓값·최솟값 SELECT SUM(SALARY) AS 총연봉, AVG(SALARY) AS 평균연봉, MAX(SALARY) AS 최고연봉, MIN(SALARY) AS 최저연봉 FROM EMPLOYEES; 2. GROUP BY특정 컬럼별로 그룹을 나눈 뒤.. 2025. 5. 19.
[SQL] 1. JOIN 1. 조인의 기본 개념여러 테이블에 흩어진 관련 데이터를 한 번에 조회할 때 사용합니다.SELECT … FROM 테이블A A [INNER | LEFT | RIGHT | FULL] JOIN 테이블B B ON A.공통컬럼 = B.공통컬럼;1-1. INNER JOIN두 테이블에서 매칭되는 행만 조회SELECT E.EMPLOYEE_ID, E.FIRST_NAME, D.DEPARTMENT_NAME FROM EMPLOYEES E INNER JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID;1-2. LEFT OUTER JOIN왼쪽 테이블의 모든 행 + 매칭되는 오른쪽 행오른쪽에 매칭이 없으면 NULLSELECT E.EMPLOYEE_ID, E.FIRST_NA.. 2025. 5. 19.
[책]소년이 온다 한강 작가의 소년이 온다를 읽었다. 5.18 광주민주화 운동에 대한 이야기라는 것은 알고 있었지만, 읽기 쉽지 않았다. 화자와 시간대가 자꾸 바뀌어서 술술 읽히는 책이 아니기도 했지만, 나에게는 아내를 떠올리게 하는 부분들이 많았다. 살아있어서 느끼는 부채감. 아내를 떠올릴 때마다 멈칫하게 되는 것들.. 한편으로 죽은 사람은 왜 죽어야 했을까? 단순히 독재자의 총칼에 쓰러진 것이 아니라.  어리디 어린 중,고등학생 들이 정확한 이유도 잘 모르지만, 그냥 그래야 할 것 같아서 죽음을 택하는 것들이 인간의 존엄성이 무엇인지 생각해보게 한다. 2025. 4. 5.
[책] 채식주의자 감상 한강 작가가 노벨 문학상을 수상한 이후, 직원들 사이에서 한동안 소설 채식주의자가 자주 회자되었다. 과거에 청소년유해도서로 지정된 적도 있다고 해서 더욱 궁금했는데, 이번 주말 마침내 읽어보았다.소설은 강렬하고 충격적인 소재로 이야기를 전개해 나간다. 특히 기억에 남는 장면은 영혜가 과도로 손목을 그었던 순간이었다. 이후 이어지는 사건들도 마치 그 장면의 반복처럼 느껴졌다."먹어라. 애비 말 듣고 먹어. 다 널 위해서 하는 말이다. 그러다 병이라도 나면 어쩌려고 그러는 거냐"가슴 뭉클한 부정(父情)이 느껴져, 나도 모르게 눈시울이 뜨거워졌다. 분명 폭력적인 상황인데도 그 안의 모든 사람들은 아이러니하게도 영혜를 사랑하는 사람들이다.그 안에 숨겨진 자기중심적인 폭력성에 섬뜩함을 느꼈다.그리고, 이 섬뜩함은.. 2024. 11. 10.
오늘의 간편식: 퀵참치로 만드는 간단한 참치 볶음밥 안녕하세요! 요즘 요리할 시간 없을 때, 뭘 먹어야 할지 고민되시죠? 퇴근하고 배는 고픈데 복잡한 요리는 하기 싫을 때, 딱 5분 만에 뚝딱 만들어 먹을 수 있는 퀵참치 볶음밥 레시피를 소개합니다. 요리 초보도 따라 할 수 있는 초간단 메뉴, 바로 시작해 볼까요?🛒 준비물퀵참치 볶음밥용 (1캔)찬밥 (1공기)채소 (양파, 당근, 파 약간씩)간장 (1스푼)참기름, 후추 약간조리 시간: 5분난이도: ★☆☆ (아주 쉬움!)🥘 만드는 방법1️⃣ 재료 준비양파와 당근을 잘게 다져주세요. 파도 송송 썰어 준비합니다.퀵참치는 오픈하면 바로 요리에 넣을 수 있으니 따로 기름을 뺄 필요 없어요!2️⃣ 채소 볶기프라이팬에 기름을 두르고, 썬 채소를 중불에서 1분 정도 볶아줍니다.3️⃣ 밥과 퀵참치 넣기밥과 퀵참치를 함.. 2024. 10. 23.
[책]은행사용설명서 무슨 책을 볼까 하다가, 책장에 있던 재테크 서적을 뽑아 들었습니다. 『은행사용설명서』. 이 책은 재테크의 기본인 은행, 증권, 보험에 대해 전반적인 내용을 설명하고 있습니다. 아내와 사별하고, 돈관리를 제가 하게 되면서, 용돈 수준의 금액으로 주식이나 코인 등에 투자하는 것과 차원이 다른 세계가 열렸기 때문에, 좀 더 체계적으로 자산을 관리할 필요를 느꼈습니다. 저는 나이가 있는지라, 이미 알거나, 최소한 들어본 적은 있는 내용이 많았지만, 반드시 한번 정도는 짚고 넘어가야 되는 개념이 모두 정리되어 있으므로 사회초년생에게 도움이 될 책이라고 생각합니다. 저 또한 증권이나 보험관련해서는 모르는 부분이 적지 않게 있어서, 한 번쯤 개념 정리를 위해, 또는 자산관리 팁을 위해 읽어볼 만한 책이었습니다. 다.. 2024. 3. 17.
728x90