본문 바로가기

SQL36

[SQL 문법] RANK/DENSE_RANK, LAG, 분할 함수 / 테이블 분할 1. 순위함수 SELECT 컬럼이름 , RANK() OVER (PARTITION BY 그룹 이름 ORDER BY 컬럼이름) FROM 테이블이름 1-1. RANK 중복 순위 포함해서 출력 ex) 1,1,3,4,5... 1-2. DENSE_RANK 중복 순위 무시하고 출력 (중간 순위를 비우지 않음) ex) 1,1,2,2,3,4... 1-3. ROW_NUMBER 값에 무관하게 고유한 순위 부여 (ORDER BY 필요) ex) 1,2,3,4,5,6... ✅RANK & DENSE RANK 예제 # RANK SELECT *, RANK() OVER(ORDER BY MKT_CAPITALIZATION_USD) AS 순위 -- MKT기준 오름차순으로 정렬후 순위를 매기는 컬럼 추가 FROM STOCK_INFO; [OUT.. 2022. 11. 7.
[SQL문법] GROUP BY / HAVING - MySQL 1. GROUP BY (특정 컬럼을 기준으로 그룹화) 💡 SELECT 칼럼1, 칼럼2, 집계함수 FROM 테이블이름 GROUP BY 칼럼1, 칼럼2 ✅GROUP BY 후, SUM/MAX/AVG 구하기 SELECT REGION, INDCODE, SUM(MKT_CAPITALIZATION_USD), -- 그룹기준으로 MKT를 SUM 해줘 MAX(MKT_CAPITALIZATION_USD), AVG(MKT_CAPITALIZATION_USD) FROM stock_info GROUP BY REGION, INDCODE; -- REGION, INDCODE 기준으로 묶어줘 ✅부서별로 그룹하여 부서번호, 인원수, 급여의 평균, 급여의 합을 조회 SELECT deptno, COUNT(*), ROUND(AVG(sal)) '급여.. 2022. 11. 7.
[SQL문법] 집계(SUM,AVG,COUNT), 숫자(TRUNCATE,ROUND) 함수 💡 SELECT 함수(컬럼이름1) , 함수(컬럼이름2) FROM 테이블 ; 1. 집계 함수 SUM() 합계 COUNT() 행 개수 MIN() 최소값 MAX() 최대값 AVG() 평균 ▶ 집계 함수 예제 SELECT SUM(MKT_CAPITALIZATION_USD) AS TOTAL시가총액, COUNT(MKT_CAPITALIZATION_USD) AS COUNT시가총액, MIN(MKT_CAPITALIZATION_USD) MIN시가총액, -- AS생략가능 MAX(MKT_CAPITALIZATION_USD) MAX시가총액, AVG(MKT_CAPITALIZATION_USD) AVG시가총액 FROM STOCK_INFO ; 2. 숫자 함수 TRUNCATE(숫자,N) 소수점 N자리까지 표시 ROUND() 소수점 자리 지정.. 2022. 11. 2.
[프로그래머스] Lv2. 이름에 el 들어가는 동물 찾기 / 중복 제거 / NULL 처리 / DATETIME에서 DATE로 형 변환 / 중성화 여부 파악하기 1. 이름에 el이 들어가는 동물 찾기 - LIKE https://school.programmers.co.kr/learn/courses/30/lessons/59047 정답 코드 SELECT ANIMAL_ID, NAME FROM animal_ins WHERE name LIKE '%el%' AND animal_type = 'Dog' ORDER BY name Like 설명 💡 SELECT 컬럼이름1, 컬럼이름2 FROM 테이블 이름 WHERE 컬럼이름 LIKE 패턴 ; a% ‘a’로 시작 %a ‘a’로 끝남 %To ‘To’가 포함됨 _t% 두번째 글자가 ‘t’임 a_%_% ‘a’로 시작하고 글자수가 3개 이상 T%a ‘T’로 시작하고 ‘a’로 끝남 ✅LIKE 예제 # '%A%' 가장 많이 쓰임 SELECT *.. 2022. 10. 27.
[SQL문법] ORDER BY 데이터 정렬하기 1. 오름차순 정렬 (ASC ; Ascending) - 디폴트가 ASC SELECT * FROM 테이블 이름 ORDER BY 컬럼이름1 (ASC) ; -- 생략 가 ▶ 컬럼이 여러개일때 ASC 예제 SELECT * FROM STOCK_INFO ORDER BY REGION, MKT_CAPITALIZATION_USD ; -- REGION먼저 오름차순후에 MKT 오름차순한다 2. 내림차순 정렬 (DESC ; Descending) SELECT * FROM 테이블 이름 ORDER BY 컬럼이름1 DESC ; ▶ DESC 예제 SELECT * FROM STOCK_INFO ORDER BY MKT_CAPITALIZATION_USD DESC -- 내림차순 LIMIT 10 ; -- 탑 10만 뽑고싶을때 행 개수 제한 ▶ .. 2022. 10. 5.
[SQL문법] SELECT,WHERE절 / AND,OR,IN,LIKE / DML 1. SELECT 1-1. 테이블의 특정 컬럼 조회 💡 SELECT 컬럼이름1, 컬럼이름2 (순서 상관 없음) FROM 테이블 이름 ; ;는 쿼리가 끝났다는 뜻 1-2. 중복 제거된 컬럼으로 조회 💡 SELECT DISTICNT 컬럼이름1, 컬럼이름2 FROM 테이블 이름 ; 1-3. 컬럼에 별명을 붙여서 조회 ( 컬럼이름 변경해서 조회) 💡 SELECT 컬럼이름1 (AS) 별명1, 컬럼이름2 (혹은 공백) 별명2 FROM 테이블 이름 ; 1-4. 결과 행 개수를 제한하여 조회 💡 SELECT 컬럼이름1, 컬럼이름2 FROM 테이블 이름 LIMIT 행 개수 ▶SQL 예제 # 중복제거해서 region 데이터 불러옴 SELECT distinct region FROM STOCK_INFO; # 컬럼 2개안에서 .. 2022. 10. 5.