프로젝트(종료)/SQLD 자격증 따기16 DISTINCT와 GROUP BY의 차이 먼저 개념적인 차이는 다음과 같다. DISTINCT = 컬럼 내 데이터를 중복을 제거해 조회한다. GROUP BY = 컬럼 내 데이터를 Unique한 값을 기준으로 그 결과를 가져온다. 두 작업은 기능적으로는 약간의 차이가 있지만, 동일한 형태의 작업이다. 쉽게 생각해서, DISTICNT는 그룹핑만, GROUP BY는 그룹핑 + 정렬의 과정이다. 때문에 연산 속도도 DISTINCT가 더 빠르며 같은 그룹핑 작업을 진행하므로 두 연산을 동시에 할 수 없기도 하다. SELECT DISTINCT C1 FROM TEMP; SELECT DISTINCT C1, C2 FROM TEMP; SELECT C1 FROM TEMP GROUP BY C1; SELECT C1, C2 FROM TEMP GROUP BY C1, C2;.. 2021. 3. 9. DELETE와 TRUNCATE와 DROP 표로 이해하기 DROP TRUNCATE DELETE 테이블 자체를 삭제해라 테이블의 데이터를 전부 삭제하고, 사용하고 있는 공간을 반납해라 테이블의 데이터를 전부 삭제하고 기록해라 DDL DDL(일부 DML 성격 가짐) DML Rollback 불가능 Rollback 불가능 Commit 이전 Rollback 가능 Auto Commit Auto Commit 수동 Commit 테이블이 사용했던 모든 Storage 모두 Release 테이블이 사용했던 Storage중 최초 테이블 생성시 할당된 Storage만 남기고 Release 데이터를 모두 Delete해도 Storage는 Realease 되지 않음 테이블의 정의 자체를 완전히 삭제함 테이블을 최초 생성된 초기 상태로 만듦 데이터만 삭제 기본적으로 Storage 처리 방법.. 2021. 3. 8. PK와 FK PK 테이블을 생성할 때 PK를 정의한다. PK는 각 행을 고유하게 식별해주는 컬럼이다. 테이블당 하나만 정의 가능하다. NOT NULL + UNIQUE KEY값을 가짐 고유 인덱스가 자동으로 생성된다. 여기서 테이블당 하나만 정의 하다는 것을 이해할 때 PK가 여러 컬럼으로 구성될 수 있지만, PK값은 하나인 것으로 이해해야 한다. 예를 들어, 상품의 거래내역 테이블에서 PK값으로 상품코드와 판매코드를 키값으로(PK) 설정해 ROW를 식별하는 것과 같다. 만약 상품코드만 잡게 되면 동일 상품에 대해서 식별할 수 없고, 판매코드로 잡으면 같은 영수증에 판매건에 대해 식별할 수 없으니 두 값의 CONCAT값으로 키값을 잡는 것! FK 테이블을 생성할 때 FK를 정의한다. FK가 정의된 테이블이 자식 테이블.. 2021. 3. 4. DML, DDL, DCL, TCL에 대해 아주 외우기 귀찮지만, 이것 또한 큰 개념으로 이해해보자 SQL 언어의 특징 - 비절차적 언어이기 때문에 파이썬처럼 어떻게 처리할 것인지가 아닌 무엇을 원하는지를 명시해야 한다. - 일정한 형식에 의해 수행된다. - 관계형 데이터 베이스(RDBMS)의 테이블 내 데이터를 다룬다. 때문에, 데이터베이스를 다루고(DCL) 그 데이터베이스 내의 테이블을 다루고(DDL) 그 테이블 내의 데이터를 다루며(DML) 그 작업을 수행하는 명령어(TCL)를 다룬다. 2021. 3. 3. 이전 1 2 3 4 다음