본문 바로가기

SQL8

#1. OFFSET 기반 페이징 처리 이해하기 페이징(Paging) 이란?페이징은 데이터가 많을 때, 한 번에 모든 정보를 가져와서 사용자에게 보여주는 대신 일정 개수를 여러 페이지로 나누어 조회하고 화면에 표시하는 기법장점성능 향상 : DB나 서버로부터 모든 데이터를 한 번에 불러오는 부담을 줄임빠른 응답 : 필요한 데이터만 가져오기 때문에 응답시간 단축UI/UX 개선 : 화면에 한꺼번에 많은 정보를 보여주지 않기에 가독성 향상 페이징(Paging) 처리 시 고려해야할 점전체 데이터 개수 (totalCnt)전체 페이지 수 계산에 사용검색 조건에 따라 전체 데이터 개수가 달라질 수 있음현재 페이지 (currentPage)사용자가 보고자하는 페이지 번호한 페이지당 데이터 개수 (perPageCnt)한 페이지에 보여줄 데이터 양* 시작 위치 : (현재 .. 2025. 2. 11.
[SQL] Sub Query 1. 서브쿼리?2. 서브쿼리 문법3. 예제서브쿼리?하나의 SQL 쿼리 내에서 다른 쿼리를 포함하는 구조SELECT , UPDATE, DELTE 문에서 사용될 수 있다조건문에서 주로 사용됨서브쿼리는 단일행 / 다중행 서브쿼리가 있다단일행 : 하나의 값을 반환다중행 : 여러 값을 반환 서브쿼리 문법SELECT 서브쿼리SELECT [column1] FROM [table1] WHERE column1 = (SELECT [column2] FROM [table2] WHERE [조건]); INSERT 서브쿼리INSERT INTO [table1] [(column1)] SELECT [column2] FROM [table2] WHERE [조건];  UPDATE 서브쿼리UPDATE [table1] SET [column1] =.. 2024. 10. 21.
[SQL] WHERE, GROUP BY, HAVING, ORDER BY 1. WHERE 절2. GROUP BY 절3. HAVING 절4. ORDER BY 절4. 예제 종합 WHERE 절데이터를 그룹화 하기전에, 조건에 맞는 행을 필터링select, update, delete 문에서 주로 사용집계함수 ( SUM, COUNT, AVG ) 와 함께 직접 사용 불가능 (그룹화 필요)-- 나이가 20살 이상 조회 --select * from member WHERE age > 20; GROUP BY 절특정 열(column)의 값을 기준으로 그룹화 진행집계함수 (SUM, COUNT, AVG) 함께 사용 가능집계함수로 설정된 열(column), 그룹화 된 column외의 직접 조회는 불가능하다단, ANY_VALUE() / 서브쿼리 등을 사용하여 우회가 가능하긴하다 -- group by 쿼.. 2024. 10. 21.
[SQL] 집계함수, 스칼라함수 1. 집계함수2. 스칼라 함수 집계함수집계함수는 한번에 모아서 처리하는 (집계) 역할이기에, 다른 column(열)과 함께 조회하려면 GROUP BY 절을 이용함수설명사용법Count레코드의 개수를 반환SELECT COUNT(*) from [테이블명] GROUP BY [다른 column(열)];Sum특정 열의 합계 계산SELECT SUM(num) FROM [테이블명] GROUP BY [다른 column(열)];Avg특정 열의 평균값SELECT AVG(num) FROM [테이블명] GROUP BY [다른 column(열)];Max특정 열의 최대 값SELECT MAX(num) FROM [테이블명] GROUP BY [다른 column(열)];Min특정 열의 최소 값SELECT Min(num) FROM [테이블명.. 2024. 10. 20.
[SQL] VIEW 1. view 란?2. view 사용 이유3. view 사용법 VIEW 란?데이터베이스에 존재하는 가상의 테이블을 말함테이블의 정보를 보여주는 역할만 한다. (view 정의 변경 불가능, 원본 테이블 삭제시 같이 삭제)view를 통한 갱신을 할경우, 복잡한 제약이 있음 (왠만하면 원본테이블에서 수정)데이터를 따로 저장하지 않고, view가 바라보고 있는 테이블의 정보를 보여주는 역할기존 테이블의 정보가 수정되면, view 도 같이 반영됨 VIEW 사용 이유테이블의 내용중에 보여주고 싶은 데이터만 보여주기 위해 사용 (접근제어 활용)실제 데이터를 포함하지 않으므로, 저장공간을 효율적으로 사용 가능view 테이블을 복잡한 쿼리로 표현할경우, 나중에 조회시 편리하게 조회 가능 VIEW 사용법CREATE TAB.. 2024. 10. 20.
[SQL] 인덱스 1. 인덱스 사용이유2. 인덱스 주의할점3. 인덱스 예시  인덱스 사용이유DB의 경우, 데이터를 저장할 때에 순서없이 저장하는 기능을 한다DB는 원하는 결과가 있을시에, Full Scan을 통해서 데이터를 읽어온다인덱스는 Select 조회시, 빠른 결과를 얻기 위해서 사용한다 인덱스 주의할점인덱스는 테이블에서 색인이 필요한 열(column)을 저장하기 위해서 따로 파일로 저장아무리 적은 데이터 양이라도, 인덱스가 쌓이다 보면 DB 저장 공간이 줄어든다빈번하게 데이터값이 수정되고 변경되는 경우, 인덱스 파일 또한 수정되어야하기에 DB성능에 좋지않은 영향을 미친다INSERT / UPDATE / DELETE 사용시 주의데이터 중복도가 높은 열(column)의 경우 인덱스의 효용이 없다 (예: 성별, 타입이 별.. 2024. 10. 20.