본문 바로가기
  • 개발 로그를 기록하며,
    복습하고 깊이를 더해갑니다.
728x90

query13

[SQL] SQL Cookbook - 07. 숫자 작업 1. 평균 계산하기부서 평균 급여 계산하기 (부서별)AVG : -- 전체select avg(sal) as avg_sal from emp -- 부서별 select deptno, avg(sal) as avg_sal from emp group by deptno 2. 열에서 최댓값, 최솟값 찾기주어진 열에서 가장 높은 값과 가장 낮은 값 찾기MIN : MAX : -- 전체select min(sal) as min_sal, max(sal) as max_sal from emp -- 부서별select deptno, min(sal) min_sal, max(sal) max_sal from emp group by deptno 3. 열의 값 집계하기열의 모든 값의 합계를 계산SUM : -- 전체select su.. 2023. 12. 19.
[SpringDataElasticsearch] Index 생성/삭제, Entity 저장/검색, Query 사용 등 조작 방법. Spring Data Elasticsearch는 여러 인터페이스를 사용하여 Elasticsearch 인덱스에 대해 호출할 수 있는 작업을 정의한다. 인터페이스는 Elasticsearch API 구조로 되어 있으며 인덱스 관리, 도메인 유형에 대한 읽기/쓰기 매핑 지원, 풍부한 쿼리 및 기준 API, 자원 관리 및 예외 번역 등의 기능 사용할 수 있게 해준다. 1. IndexOperations (인덱스 작업) IndexOperations는 인덱스 수준에서 동작하는 작업을 정의하는 인터페이스이다. 주로 인덱스를 생성하거나 삭제하는 등의 관리 작업을 수행한다. IndexOperations indexOps = elasticsearchRestTemplate.indexOps(MyEntity.class); index.. 2023. 12. 16.
[SQL] SQL Cookbook - 06. 문자열 작업 1. 문자열 짚어보기- 문자열에서 각 문자를 행으로 반환하기 위해 문자열의 길이만큼 반복하며 출력 DATALENGTH:주어진 값의 길이를 byte단위로 반환한다. (문자열, 이진 데이터, 변수 등의 길이 측정) SUBSTRING:문자열에서 특정 부분을 추출한다. ex> SUBSTRING(문자열, 시작위치, 개수)select substr(e.ename, iter.pos, 1) as C from (select ename from emp where ename = 'KING') e, (select id as pos from t10) iter // 1~10까지의 id값을 가지는 t10테이블where iter.pos 2. 문자열에 따옴표 포함하기- 주어진 문자열에 항상 짝수의 따옴표가 있어야 하며, 작.. 2023. 10. 11.
[SQL] SQL Cookbook - 05. 메타 데이터 쿼리 메타데이터 쿼리는 데이터베이스나 시스템에서 데이터의 특성, 구조, 속성 등을 조회하고 검색하기 위한 쿼리로, 데이터의 정보를 분석하고 관리하는데 사용된다. *SMEAGOL이라는 스키마가 있다고 가정함.1. 스키마의 테이블 목록 보기특정 스키마에서 생성한 모든 테이블 목록 확인# information_schema.ta bles를 쿼리select table_name from information_schema.tableswhere table_schema = 'SMEAGOL' 2. 테이블의 열 나열하기데이터 유형, 테이블의 열과 해당 열이 있는 테이블의 위치를 나열.# information_schema.columns를 쿼리 select column_name, data_type, ordinal_position .. 2023. 10. 4.
[JPA] QueryDSL이란? QueryDSL은 JPA를 사용하여 데이터베이스 쿼리를 작성하고 실행하기 위한 유용한 도구이다. QueryDSL을 사용하면 Java 코드로 쿼리를 작성할 수 있어서, 컴파일 타임 오류확인 및 IDE의 자동완성 기능을 사용할 수 있다. QueryDSL?: JPA Entity와 관련된 쿼리를 생성하기 위한 builder 라이브러리이다. SQL을 직접 작성하는 대신, Java 코드를 사용하여 query를 작성할 수 있다. Entity와 Q타입: Entity의 메타 모델을 사용하여 query를 작성하기 때문에 Entity클래스에 대응하는 Q타입 클래스가 필요하다. ex) Customer -> QCustomer 문법: QueryDSL은 Java코드로 작성되며, MethodChaining을 사용하여 query를 작.. 2023. 9. 26.
[JPA] JPQL (Java Persistence Query Language) JPQL은 JPA에서 사용하는 객체지향적인 쿼리 언어로 JPQL을 사용하여 Entity객체를 대상으로 쿼리를 작성할 수 있다. 객체 중심 쿼리 언어: JPQL은 데이터베이스 테이블이 아닌 Entity객체를 대상으로 쿼리를 작성한다. SQL과 유사하지만 테이블이 아닌 Entity와 그 Entity의 속성을 사용한다. select, from, where, group by, having, order by 등 표준 SQL과 기본 문법은 같다. 특징: JPQL은 객체지향적이며 Entity객체를 대상으로 쿼리를 작성하기 때문에 데이터베이스에 종속적이지 않다. JPQL을 사용하면 Entity객체 사이의 관계를 활용하여 복잡한 쿼리도 작성할 수 있다. Query문에서 FROM [Entity] [EntityAlias] .. 2023. 9. 25.
[SQL] SQL Cookbook - 04.삽입, 갱신, 삭제 1. 새로운 레코드 삽입하기모든 열을 추가할 때는 열 목록을 생략할 수 있다.# 단일 행 삽입insert into dept (deptno, dname, loc) values (50, 'PROGRAMING', 'BALTIMORE') # 여러 행 삽입insert into dept (deptno, dname, loc) values (1, 'A', 'B'), (2, 'B', 'C') 2. 기본값 삽입하기default를 명시한 열은 insert시 값을 지정하지 않으면 디폴트 값으로 저장된다.# defaultcreate table D (id integer default 0, foo varchar(10))insert into D (name) values ('Bar') 3. null로 기본값 오버라이딩하기defa.. 2023. 9. 18.
[SQL] SQL Cookbook - 03.다중 테이블 작업 1. 행 집합을 다른 행 위에 추가하기UNION : 중복된 행을 제거하고 두 개 이상의 쿼리 결과를 하나로 합친다.UNION ALL : 중복된 행을 제거하지 않고 두 개 이상의 쿼리를 결과를 합친다./*EMP 테이블에 있는 부서 10의 사원명 및 부서 번호와 함께, DEPT 테이블에 이쓴ㄴ 각 부서명 및 부서 번호를 표시.*/# UNION ALLselect ename as ename_and_dname, deptnofrom emp where deptno = 10 union all select '---------', null from t1 union all select dname, deptno from dept 2. 연관된 여러 행 결합하기JOIN : 두 개 이상의 테이블을 연결하.. 2023. 9. 8.
[SQL] SQL Cookbook - 02.쿼리 결과 정렬 1. 지정한 순서대로 쿼리 결과 반환하기 # ORDER BYselect ename, job, sal from emp where deptno = 10 order by sal asc 2.  다중 필드로 정렬하기order by 절에서 쉼표로 구분하여 여러 열을 나열하면 제일 왼쪽 열부터 우선순위를 가지고 정렬된다.# ORDER BYselect empno, deptno, sal, ename, job from emp order by deptno, sal desc 3.  부분 문자열로  정렬하기substr() 함수를 사용하여 문자열을 추출해 정렬할 수 있다.# ORDER BY, SUBSTRselect ename, job from emp order by substr(job, length(job)-1) .. 2023. 9. 7.
728x90