본문 바로가기

분류 전체보기185

[SQL 이해하기] - 18. SQL: TCL와 DCL TCL은 Transaction Control Language의 약자이고 데이터베이스의 데이터를 조회, 생성, 수정, 삭제하는 논리적인 단위인 트랜잭션(Transaction)을 관리하는 명령들이다. DCL은 Data Control Language의 줄임말로 데이터베이스를 이용하는 사용자를 생성하거나 사용자의 데이터베이스 이용 권한을 관리하는 명령들이다. 트랜잭션을 제어하는 명령어에는 COMMIT, ROLLBACK, SAVEPOINT가 자주 사용된다. - COMMIT DML 명령들(INSERT, UPDATE, DELETE, MERGE)을 수행한 후 그 결과는 메모리에 저장된다. COMMIT 명령어를 사용하면 메모리에 저장되어 있는 결과들이 디스크에 기록된다. 즉, 지속성(Durability)을 갖게된다. D.. 2023. 7. 8.
[SQL 이해하기] - 17. SQL: DML과 DDL 앞서 [SQL 이해하기] 포스팅 8 부터 16까지 9개 포스팅에서 데이터베이스에서 데이터를 꺼내는 SELECT 구문에 대해 살펴보았다. 일반적으로 저장되어 있는 데이터를 원하는 목적에 맞게 꺼내는(읽는) 작업이 훨씬 더 자주 일어나기 때문에 SQL을 공부한다고 하면 SELECT 구문을 중심으로 공부하게 된다. 이번 포스팅에서는 데이터를 생성하고, 수정하고, 삭제하는 DML(Data Manipulation Language)과 테이블을 생성, 수정, 삭제하는 DDL(Data Description Language)에 대해 정리해보도록 하겠다. SELECT 구문이 DML에 포함되는지에 대해서는 원칙이 없는 것으로 알고 있다. 읽는 행위가 데이터를 변경(Manipulation)시키지는 않기 때문이다. DML이라고.. 2023. 7. 8.
[SQL 이해하기] - 16. SQL: 계층 쿼리 테이블 안에 계층 정보가 포함되어 있는 경우가 있다. 예를 들어 어떤 회사의 직원들을 나타내는 아래 테이블을 보자. EMPNONAMEMGRNODEPTNO -------------------- 100SteveNULL90 101Nina10090 102Mark10090 103Nancy101100 104Jimmy102100 105Dan102100 106Aron103100 107Emma103100 Steve는 Nina와 Mark의 상사이고 Nina는 Nancy의 상사, Mark는 Jimmy와 Dan의 상사, Nancy는 Aron과 Emma의 상사임을 알 수 있다. 이와 같이 테이블 안에서 같은 테이블로의 참조가 발생하는 경우 아래와 같이 같은 테이블 사이를 조인하는 셀프 조인(Self join)을 사용하여 계층 .. 2023. 7. 7.
[SQL 이해하기] - 15. SQL: TOP-N 쿼리 Top-N 쿼리는 선택된 데이터 집합에서 상위 N개의 결과만 출력한다. 상위 N개의 결과를 출력하기 위해 ROWNUM이라는 가상 컬럼(Pseudo Column) 또는 윈도우 함수 ROW_NUMBER()를 사용한다. ROWNUM 가상 컬럼은 테이블에 포함되어 있는 값은 아니지만 행을 출력할 때 일련 번호를 부여해 준다. 테이블에 포함되어 있는 관리 대상 데이터는 아니기 때문에 가상 컬럼이라고 불린다. 예를 통해 살펴보자. SELECT ROWNUM, 국어, 영어, 수학 FROM(SELECT 국어, 영어, 수학 FROM EXAMRESULT ORDER BY 국어 DESC, 영어 DESC, 수학 DESC) WHERE ROWNUM 2023. 7. 7.