20 자주 묻는 SQL 인터뷰 질문 및 답변 [2022]

SQL(Structured Query Language)은 데이터베이스 관리자와 데이터 분석가가 데이터베이스를 쿼리하는 데 사용하는 표준 프로그래밍 언어입니다. 웹 사이트, 앱 및 기타 플랫폼의 프로그래밍 언어에서 널리 사용됩니다.

테이블과 열을 생성 및 수정하고 SQL 명령을 사용하여 데이터를 쿼리하는 것을 포함하여 데이터베이스의 데이터에 액세스하고 조작하는 데 사용됩니다.

이 게시물은 의심할 여지 없이 SQL 인터뷰를 준비하는 동안 사용할 질문과 답변을 찾고 있다면 몇 가지 통찰력을 제공할 것입니다. 데이터 엔지니어, 데이터 분석가, 데이터베이스 관리자 등의 면접에서는 다음 질문을 예상해야 합니다.

기본 SQL 명령은 무엇입니까?

가장 중요한 SQL 명령은 다음과 같습니다.

  • SELECT – 데이터베이스에서 데이터를 추출합니다.
  • CREATE TABLE – 새 테이블을 생성합니다.
  • DELETE – 데이터베이스에서 데이터를 삭제합니다.
  • INSERT INTO – 데이터베이스에 새 데이터를 삽입합니다.
  • ALTER DATABASE – 데이터베이스를 수정합니다.
  • CREATE DATABASE – 새 데이터베이스를 생성합니다.
  • 업데이트 – 데이터베이스의 데이터를 업데이트합니다.

네 가지 중요한 SQL 문은 무엇입니까?

주요 SQL 문은 다음 범주로 나뉩니다.

  • 데이터 정의 언어(DDL) 문
  • 데이터 조작 언어(DML) 문
  • 데이터 제어 언어(DCL) 문
  • TCL(트랜잭션 제어 언어) 문

SQL에서 기본 키의 의미는 무엇입니까?

기본 키는 데이터베이스의 각 행을 고유하게 식별할 수 있는 열(또는 열 집합)입니다. SQL 데이터베이스는 기본 키에 많은 중요성을 둡니다. 데이터베이스 테이블의 각 행에 고유 ID를 제공합니다. 기본 키는 하나 이상의 필드로 구성될 수 있으며 테이블당 하나의 기본 키만 있을 수 있습니다.

SQL 데이터 유형이란 무엇입니까?

데이터 유형은 이진 문자열, 숫자 데이터, 문자 데이터, 재무 데이터, 날짜 및 시간 데이터 등과 같이 개체가 저장할 수 있는 데이터의 종류를 설명하는 속성입니다.

  Linux에서 Black Mesa를 플레이하는 방법

SQL에서 데이터 유형은 다음 그룹으로 분류됩니다.

  • 정확한 숫자
  • 대략적인 수치
  • 날짜와 시간
  • 문자열
  • 유니코드 문자열
  • 이진 문자열

SQL Server에서 사용자 이름과 암호는 어디에 저장됩니까?

사용자 이름과 암호는 각각 SQL 테이블의 sys.server 보안 주체 및 sys.sql 로그인에 저장됩니다. 비밀번호는 일반 텍스트로 저장되지 않습니다.

SQL 인젝션이란?

SQL 주입 공격은 오늘날 가장 일반적인 사이버 공격 유형 중 하나입니다. 악의적인 공격자가 응용 프로그램의 데이터베이스를 조작하여 데이터에 액세스할 수 있습니다. 이는 재정적 손실에서 민감한 데이터의 손실에 이르기까지 광범위한 부정적인 결과를 초래할 수 있습니다. SQL 주입 공격으로부터 보호하는 가장 좋은 방법은 애초에 이러한 공격이 발생하지 않도록 방지하는 것입니다.

SQL 및 해당 유형의 트리거는 무엇입니까?

트리거는 데이터베이스 서버에서 이벤트가 발생할 때 자동으로 실행되는 특별한 유형의 저장 프로시저입니다. 트리거는 DDL 및 DML 문을 사용하여 데이터 수정 전후에 데이터를 평가하는 데 사용됩니다.

트리거에는 LOGON, DDL 및 DML의 세 가지 유형이 있습니다.

  • LOGON 트리거: 이 트리거는 사용자가 로그온 이벤트를 시작할 때 시작됩니다.
  • DDL 트리거는 CREATE, ALTER 또는 DROP과 같은 DDL 명령이 발행될 때마다 트리거됩니다.
  • DML 트리거: DML 명령이 데이터를 수정할 때마다 트리거됩니다. INSERT, UPDATE 및 DELETE와 비교 가능

단일 행 함수와 다중 행 함수를 어떻게 구별합니까?

테이블의 단일 행은 한 번에 단일 행 함수의 영향을 받을 수 있습니다. 그들은 행을 실행한 다음 하나의 결과만 반환합니다. 길이와 대소문자 변환이 단일 행 함수라는 것은 잘 알려져 있습니다.

테이블의 행은 동시에 많은 행 기능의 영향을 받을 수 있습니다. 단일 출력을 반환하기 전에 여러 행을 실행하는 그룹 함수라고도 합니다.

데이터베이스 정규화란 무엇이며 SQL의 주요 네 가지 유형은 무엇입니까?

데이터베이스 정규화는 더 빠른 액세스 및 데이터 중복성을 줄이기 위해 데이터를 구성하는 프로세스입니다. 데이터베이스의 열과 테이블은 모든 종속성이 데이터베이스 무결성 제약 조건에 의해 올바르게 유지되도록 정규화하는 동안 구성됩니다.

네 가지 유형의 데이터베이스 정규화 프로세스는 다음과 같습니다.

  • 제1정규형(1NF)
  • 제2정규형(2NF)
  • 제3정규형(3NF)
  • Boyce Codd 정규형 또는 제4 정규형(BCNF 또는 4 NF)

SQL의 인덱스와 제약 조건은 무엇입니까?

인덱스는 SQL에서 가장 중요한 개념 중 하나입니다. 이를 통해 대규모 데이터베이스에서 특정 데이터 행을 빠르게 찾을 수 있습니다. 또한 특정 조건이 충족될 때 데이터베이스가 어떻게 작동하는지 알려주는 규칙인 제약 조건을 적용하는 데 도움이 됩니다.

인덱스는 테이블의 데이터 검색 속도를 높여 쿼리 성능을 향상시키는 데 사용됩니다. 또한 테이블에 있는 데이터의 가독성을 향상시키는 데 사용됩니다.

  iPad에서 Dock에 앱을 추가하는 방법

제약 조건은 테이블에 들어갈 수 있는 데이터 유형을 제한하는 데 사용됩니다. 이렇게 하면 테이블에 있는 데이터의 정확성과 신뢰성이 보장됩니다. 제약 조건과 데이터 작업 사이에 위반이 있으면 작업이 중단됩니다.

일반적으로 사용되는 SQL 제약 조건은 무엇입니까?

일반적으로 사용되는 SQL 제약 조건은 다음과 같습니다.

  • CREATE INDEX: 이 명령은 데이터 검색이 더 간단해지도록 테이블에 대한 인덱스가 생성되도록 합니다.
  • FOREIGN KEY: 테이블의 외래 키는 유사한 속성을 가진 테이블을 연결해야 합니다.
  • DEFAULT: 열의 필드에 값이 제공되지 않으면 해당 필드에 대한 기본값을 제공합니다.
  • UNIQUE: 열의 각 값이 고유해야 함을 지정합니다.
  • PRIMARY KEY: 테이블의 기본 키는 각 행을 식별해야 합니다.
  • NOT NULL: 이 조건은 열에서 NULL 값을 허용하지 않도록 합니다.
  • 확인: 모든 열 필드가 미리 결정된 요구 사항을 준수하는지 확인합니다.

SQL에서 NULL은 0입니까?

SQL에서 NULL 값은 사용할 수 없거나 할당된 값을 나타냅니다. 공백(‘ ‘) 또는 영(0)은 NULL 값과 동일하지 않습니다. NULL 값은 다른 값과 같거나 같지 않을 수 있으므로 “=” 또는 “>”와 같은 비교 연산자를 사용하여 다른 값과 비교할 수 없습니다.

SQL 주입 공격을 방지하는 방법은 무엇입니까?

지속적인 스캔 및 침투 테스트와 함께 입력 유효성 검사, 삭제, 준비된 명령문 및 매개 변수화된 SQL 쿼리와 같은 보안 방법은 SQL 주입 공격을 방지하는 데 중요합니다. 또한 방화벽과 같은 빠른 방어는 SQL 데이터베이스를 보호하는 데 도움이 됩니다.

Dynamic SQL이란 무엇이며 언제 사용할 수 있습니까?

동적 SQL은 현재 날짜, 현재 시간 또는 선택한 기타 기준을 포함하여 하나 이상의 기준을 기반으로 런타임에 쿼리를 수정하는 데 사용할 수 있는 기능입니다.

동적 SQL을 사용하여 의미 있는 방식으로 쿼리를 변경할 수 있으며 목표를 달성하는 데 도움이 되거나 단순히 프로그래밍 기술을 향상시킬 수 있습니다. 새 앱을 만들거나, 데이터베이스를 개선하거나, 프로덕션 시스템에 데이터 웨어하우스 기능을 추가할 때 Dynamic SQL을 사용하여 이 모든 작업을 수행할 수 있습니다.

SQL의 다양한 키 유형은 무엇입니까?

기본 키: 데이터베이스 테이블의 각 행 또는 레코드는 기본 키라는 필드에 의해 고유하게 식별됩니다. 고유 값은 기본 키에 있어야 합니다. 기본 키 필드는 NULL 값을 포함할 수 없습니다. 하나 이상의 필드로 구성된 테이블당 하나의 기본 키만 있을 수 있습니다.

외래 키: 다른 테이블의 기본 키와 관련된 테이블의 필드 또는 필드 그룹을 외래 키라고 합니다. 기본 키가 있는 테이블을 부모 테이블이라고 하고 외래 키가 있는 테이블을 자식 테이블이라고 합니다.

  macOS에서 터치 바를 사용하여 최근 앱 간에 전환하는 방법

슈퍼 키: 슈퍼 키는 테이블의 항목을 식별하는 데 도움이 되는 키 또는 키 집합입니다. 레코드를 식별하는 데 모든 속성이 필요한 것은 아니지만 슈퍼 키는 속성 중 하나 이상을 가질 수 있습니다.

후보 키: 후보 키는 하나 이상의 속성을 기반으로 데이터베이스의 레코드를 식별하는 데 사용할 수 있는 슈퍼 키의 하위 집합입니다. Superkey와 달리 후보 키의 모든 기능은 레코드를 식별하는 데 유용해야 합니다.

복합 키: 복합 키는 테이블의 행을 식별하는 데 사용되는 테이블의 두 개 이상의 열 조합입니다. 복합 키는 다른 속성이나 열이 있는 기본 키입니다.

SQL의 인덱스 유형은 무엇입니까?

다음은 SQL의 인덱스 유형입니다.

  • 해시 인덱스
  • 메모리 최적화
  • 클러스터형 인덱스
  • 비클러스터형 인덱스
  • 고유 인덱스
  • 열 저장소 인덱스
  • 포함된 열이 있는 색인
  • 계산된 열의 인덱스
  • 필터링된 인덱스
  • 공간 인덱스
  • XML 인덱스
  • 전체 텍스트 인덱스

버퍼 풀이란 무엇을 의미하고 그 이점을 언급합니까?

SQL에서 버퍼 풀은 버퍼 캐시라고도 합니다. 버퍼 풀은 캐시된 데이터 페이지를 저장하기 위해 모든 리소스에서 사용할 수 있습니다. SQL Server 인스턴스를 설정할 때 버퍼 풀의 크기를 지정할 수 있습니다. 버퍼 풀의 크기는 보유할 수 있는 페이지 수를 결정합니다.

다음은 버퍼 풀의 이점입니다.

  • I/O 성능 향상
  • 트랜잭션 처리량 증가
  • I/O 지연 감소
  • 읽기 성능 향상

의존성이란 무엇을 의미하고 다른 의존성을 언급합니까?

한 객체가 다른 객체에 보관된 SQL 문에서 이름으로 참조되면 두 객체 간에 종속성이 설정됩니다. “참조된 엔터티”라는 용어는 SQL 식에 나타나는 개체를 나타내는 반면 “참조 엔터티”라는 용어는 SQL 식을 포함하는 개체를 나타냅니다.

다음은 SQL의 다양한 유형의 종속성입니다.

  • 기능적 종속성
  • 완전한 기능 종속성
  • 다중값 종속성
  • 전이 종속성
  • 부분 의존성

조인은 SQL 데이터 관리의 기본적인 부분입니다. 두 개 이상의 테이블을 함께 결합하여 데이터를 분석하는 데 사용할 수 있는 단일 테이블을 만들 수 있습니다. 또한 단일 테이블의 기준에 따라 결과를 필터링하는 방법을 제공하므로 큰 테이블에서 특정 행이나 열을 찾으려고 할 때 유용할 수 있습니다.

SQL에는 INNER JOIN, OUTER JOIN, CROSS JOIN 및 SELF JOIN의 네 가지 주요 유형이 있습니다.

SQL의 집합 연산자는 무엇입니까?

동일한 유형의 하나 이상의 테이블에 있는 데이터는 집합 연산자를 사용하여 결합할 수 있습니다. SQL 집합과 SQL 조인 연산자는 유사하지만 몇 가지 주요 차이점이 있습니다. SQL 집합 연산자는 다른 쿼리에서 레코드를 수집하는 반면 SQL 조인은 다른 테이블의 열을 결합합니다. 복합 SQL 쿼리는 집합 연산을 포함하는 쿼리입니다.

결론

이 SQL 인터뷰 질문이 인터뷰 관점에서 기대할 수 있는 것에 대한 좋은 그림을 제공하기를 바랍니다. SQL 인터뷰를 해독하려면 SQL 환경에 더 많이 노출되어야 합니다. 이것은 SQL을 심층적으로 연구하여 얻을 수 있습니다. 주요 SQL 원칙을 평가하려면 SQL 쿼리 인터뷰 질문도 연습하고 계속 읽어야 합니다.

SQL 쿼리 설명을 찾고 있다면 SQL 치트 시트를 방문하여 SQL 문에 대한 자세한 정보를 얻으십시오.

SQL 쿼리를 실행하여 실무 경험을 얻으려면 이러한 SQL 실습 플랫폼을 확인하십시오.