본문 바로가기

Database10

SQL_TOP-N분석과 분석함수, 집합연산자, 계층형쿼리 TOP-N 분석과 분석함수 TOP-N 분석 조건에 맞는 최상위 데이터 N개 혹은 최하위 데이터 N개를 조회하는 것이다 사용예 급여를 가장 많이 받는 사원 3명 가장 최근에 입사한 사원 5명 최근 3개월동안 가장 많이 판매된 상품 10가지 판매실적이 가장 높은 영업사원 3명 TOP-N쿼리의 형식 SELECT ROWNUM, column, column, column FROM (SELET column, column, column FROM table ORDER BY 분석대상컬럼이 정렬기준이된다) WHERE ROWNUM 자식 방향으로 내려가는 순방향 검색 CONNECT BY PRIOR 자식키(외래키) = 부모키(기본키) : 계층구조에서 자식 -> 부모 방향으로 올라가는 역방향 검색 계층형 쿼리 순방향 검색예시 계층.. 2023. 12. 20.
SQL_시퀀스, 트랜잭션, 무결성제약조건 시퀀스(Sequence) 일련번호를 발행하는 오라클의 데이터베이스 객체다 시퀀스명은 _seq로 끝나도록 짓는것이 관례다 시퀀스 객체 생성 create sequence 시퀀스명; create sequence category_seq; create sequence product_seq; 일련번호 발행 시퀀스명.nextval : 새로운 일련번호를 제공한다 시퀀스명.currval : 직전에 발행된 일련번호를 다시 제공한다 시퀀스 사용하기 INSERT문에서 시퀀스를 사용해서 새로운 번호를 저장되게 하기 insert into tb_categories(cate_no, cate_name, cate_parent_no) values(cate_seq.nextval, ?, ?); insert into tb_products(pr.. 2023. 12. 19.
SQL_DDL과 정규화 DDL (데이터정의어) 오라클 데이터베이스 객체 생성, 변경, 삭제에 사용되는 명령어 DDL의 종류에는 CREATE, ALTER, DROP, TRUNCATE 주요 데이터베이스 객체 테이블 데이터의 기본 저장단위, 행과 열로 구성되어 있다 뷰 하나 이상의 테이블을 사용해서 만든 가상의 테이블 시퀀스 일련번호 생성기 인덱스 검색성능을 향상시키기 위해 데이터에 대한 색인을 가지고 있다 동의어 객체에 대한 다른 이름을 제공한다 테이블 테이블과 컬럼의 이름규칙 문자로 시작, 30자까지 가능(A~Z, a~z, 0~9, _, $, #만 허용) 오라클 예약어도 이름에 사용할 수 없다 테이블 생성하기 ( CREATE ) -- 테이블 생성 예시 CREATE TABLE 테이블명 ( 컬럼명 데이터타입(크기) [DEFAULT .. 2023. 12. 18.
SQL_서브쿼리 서브쿼리(SUB QUERY) SELECT문 내부에 정의된 SELECT문을 서브쿼리라고 한다 서브쿼리는 WHERE절의 조건식에서 사용되는 값을 제공한다 이 경우에 조건식에서 사용되는 값이 SQL을 실행해야만 획득가능한 값이 경우가 많다 서브쿼리의 형식 SELECT 컬럼, 컬럼 FROM 테이블명 WHERE 조건식 연산자 ( SELECT 컬럼 FROM 테이블명 [WHERE 조건식]) -- 전체 사원의 평균급여보다 급여를 적게 받는 사원들의 사원아이디, 이름, 급여를 조회하기 -- 조건식에서 사원의 급여와 비교되는 전체사원의 평균급여는 select문의 실행결과로 획득되는 값이다. -- 따라서, where절에 사원들의 전체 평급을 조회하는 select문(서브쿼리)이 필요하다. select employee_id, .. 2023. 12. 17.