본문 바로가기

sqld개발자3

[SQL] RANK(), DENSE_RANK(), ROW_NUMBER 개념 및 차이 RANK 함수 RANK 함수는 ORDER BY를 포함한 쿼리문에서 특정 항목에 대한 순위를 구하는 함수이다. 이 때 특정범휘 (PARTITION BY) 내에서 순위를 구할수도 있고 전체 데이터에 대한 순위를 구할 수도 있다. 동일한 값에 대해서는 동일한 순서를 부여하게 된다. DENSE_RANK 함수 DENSE_RANK 함수는 동일한 순위를 하나의 건수로 취급한다. DENSE_RANK 함수는 공동등수를 하나의 등수로 보고 다음 등수를 매긴다. ROW_NUMBER 함수 ROW_NUMBER 함수는 동일한 값이라도 고유한 순위를 부여한다. 동일한 값의 순위를 정해야 할 때 오라클의 경우 ROWID가 적은 행이 먼저 나온다. 예시) RANK() 는 동일한 값일 경우 같은 등수로 표기. DENSE_RANK() 는.. 2022. 11. 1.
[SQL] 서브쿼리 종류 서브 쿼리 사용 위치 설명 스칼라 서브 쿼리 SELECT 절 단일 칼럼, 단일 행을 반환 (1개의 값) 인라인 뷰 FROM 절 View와 사용적인 측면에서 동일함 (임시 뷰, 임시 테이블) 중첩 서브 쿼리 WHERE 절, HAVING 절 다중 칼럼 또는 다중 행을 반환 위의 3가지 분류 외에도 연관성 없는 서브 쿼리, 연관성 있는 서브 쿼리로 분류하기도 한다. 연관성 없는 서브 쿼리는 메인 쿼리의 테이블과 무관하게 실행되는 서브 쿼리이며, 연광성 있는 서브 쿼리는 메인 쿼리의 테이블과 조인하여 실행하는 서브 쿼리이다. 출처 https://gent.tistory.com/464 2022. 11. 1.
[SQL] 트랜잭션의 ACID 성질 트랜잭션(Transaction) 트랜잭션이란 여러 개의 작업을 하나로 묶은 실행 유닛을 말한다. 각 트랜잭션은 하나의 특정 작업으로 시작해서 묶여 있는 모든 작업들을 다 완료해야 정상적으로 종료한다. 만약 하나의 트랜잭션에 속해있는 여러 작업 중에서 단 하나의 작업이라도 실패하면, 이 트랜잭션에 속한 모든 작업을 실패한 것으로 판단한다. 작업이 하나라도 실패를 하게 되면 트랜잭션도 실패이고, 모든 작업이 성공적이면 트랜잭션 또한 성공이다. 성공 또는 실패 라는 두 개의 결과만 존재하는 트랜잭션은, 미완료된 작업없이 모든 작업을 성공해야 한다. 트랜잭션이란 데이터베이스의 상태를 변환시키는 기능을 수행하기 위한 하나 이상의 쿼리를 모아 놓은 하나의 작업 단위를 말한다. 데이터베이스 트랜잭션은 ACID 라는 .. 2022. 10. 31.