Home SQL 면접 질문 정리
Post
Cancel

SQL 면접 질문 정리


SQL 면접 질문 정리



데이터베이스

  • 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다.

쿼리문 순서

  • SELECT -> FROM -> WHERE -> GROUP BY -> ORDER BY

데이터 베이스 언어

  • 데이터 베이스 언어에는 세 가지 종류가 있습니다.
  • 정의어(DDL : Data Definition Language) : 데이터 베이스 구조를 정의, 삭제, 수정 하는 언어(create, alter, drop)
  • 조작어(DML : Data Manipulation Language) : 자료 검색, 삽입, 갱신, 삭제를 위한 언어(select, insert, update, delete)
  • 제어어(DCL : Data Control Language) : 데이터에 대해 무결성, 병행 수행, 제어, 보호, 관리를 위한 언어(commit, rollback, grant, revoke)

스키마(Schema)

  • 데이터베이스를 구성하는 레코드의 크기, 키(key)의 정의, 레코드와 레코드의 관계, 검색 방법 등을 정의한 것.

RDBMS vs NOSQL

  • RDBMS : 2차원의 행과 열로 데이터의 관계를 관리하는 데이터베이스
  • 장점: 스키마에 맞추어 데이터를 관리하기 때문에 데이터의 정합성을 보장할 수 있다.
  • 단점: 시스템이 커질 수록 쿼리가 복잡해지고 성능이 저하되며, 수평적 확장이 어렵다.

  • NoSQL
  • RDBMS가 비대해짐에 따라 관계가 복잡해져, 이를 극복하기 위해 등장하게 된 데이터베이스
  • 장점: NOSQL은 스키마 없이 Key–Value 형태로 데이터를 관리하여 좀 더 자유롭게 데이터를 관리할 수 있다.
  • 단점: 중복된 데이터가 추가 가능하여, 이에 대한 관리가 필요하다.

Join(조인)의 정의와 종류

  • 정의 : 두 개 이상의 테이블이나 데이터베이스를 연결하여 데이터를 검색하는 방법 입니다.

  • Inner Join : 두 개 이상의 테이블에서 교집합만을 추출
  • Left Join : 두 개 이상의 테이블에서 from에 해당하는 부분을 추출
  • Outer Join : 두 개 이상의 테이블에서 모든 테이블에 해당하는 부분을 추출

DROP, Truncate, delete 차이점

  • DELETE 데이터는 지워지지만 테이블 용량은 줄어들지 않으며 원하는 데이터만 지울 수 있습니다. 삭제 후 Rollback이 가능합니다.
  • TRUNCATE 명령어는 테이블의 용량이 줄어들며 인덱스 등 모두 삭제가 됩니다. 테이블은 삭제가 되지 않으며 데이터만 삭제가 됩니다. 삭제 후 Rollback이 되지 않습니다.
  • DROP 테이블 전체를 삭제합니다. 삭제 후 Rollback이 되지 않습니다.

데이터베이스에서 다양한 유형의 관계

  • 1:1(일대일) : 어느 엔티티 쪽에서 상대 엔티티와 반드시 다네 하나의 관계를 가지는것을 말합니다.
  • 1:N(일대다) : 한 쪽 엔티티가 관계를 맺은 엔티티쪽의 여러 객체를 가질 수 있는 것을 말합니다.
  • N:M(다대다) : 관계를 가진 양쪽 엔티티 모두에서 1:N관계를 가지는 것을 말합니다.
This post is licensed under CC BY 4.0 by the author.