목차
소개
SQL 기본 사항 검토
핵심 SQL 인터뷰 질문 분석
질문 : 테이블에서 두 번째로 많은 유급 직원을 찾는 방법은 무엇입니까?
질문 : 각 부서에서 가장 높은 유급 직원을 찾는 방법은 무엇입니까?
질문 : 창 함수에 SQL을 사용하는 방법은 무엇입니까?
사용의 예
기본 사용 : 쿼리 및 필터 데이터
고급 사용 : 복잡한 쿼리 및 최적화
일반적인 오류 및 디버깅 팁
성능 최적화 및 모범 사례
요약
데이터 베이스 SQL SQL 인터뷰 질문 및 답변 : ACE 귀하의 데이터 엔지니어/분석가 인터뷰

SQL 인터뷰 질문 및 답변 : ACE 귀하의 데이터 엔지니어/분석가 인터뷰

Apr 06, 2025 am 12:13 AM

SQL 인터뷰 질문에 대한 답변은 다음과 같습니다. 1. 하위 쿼리 및 정렬을 사용하여 두 번째로 높은 직원을 찾으십시오. 2. 각 부서에서 그룹화 및 하위 쿼리를 사용하여 가장 작은 직원을 찾으십시오. 3. 복잡한 분석을 위해 창 함수를 사용하십시오. 이러한 SQL 기술 및 모범 사례를 마스터하면 데이터 엔지니어링 및 데이터 분석 인터뷰에서 눈에 띄고 실제 작업을 편하게하는 데 도움이됩니다.

소개

데이터 엔지니어링 및 데이터 분석 분야에서 SQL (구조화 된 쿼리 언어)은 의심 할 여지없이 핵심 기술 중 하나입니다. 귀하가 데이터 엔지니어이든 인터뷰 준비를하는 데이터 분석가이든 SQL의 숙련도는 인터뷰에서 눈에 띄는 것뿐만 아니라 실제 작업에서도 편안하게 할 수 있습니다. 이 기사는 SQL 기술을 향상시키고 일련의 신중하게 선택된 SQL 인터뷰 질문 및 답변을 통해 인터뷰를 원활하게 통과하는 데 도움이됩니다.

이 기사를 읽으면 다음을 수행 할 수 있습니다.

  • 일반적인 SQL 인터뷰 질문과 솔루션을 이해하십시오
  • 일부 고급 SQL 팁 및 모범 사례를 마스터하십시오
  • 인터뷰에서 SQL 능력을 보여주는 방법을 알아보십시오

SQL 기본 사항 검토

SQL은 관계형 데이터베이스를 관리하고 운영하는 데 사용되는 표준 언어입니다. 데이터가 데이터를 쿼리, 삽입, 업데이트 또는 삭제하든 SQL은 유능합니다. SQL의 몇 가지 주요 개념을 신속하게 검토합시다.

  • SELECT 는 데이터베이스 테이블에서 데이터를 쿼리하는 데 사용됩니다.
  • 조인은 둘 이상의 테이블을 결합하는 데 사용됩니다
  • 조항이 사용되는 경우 기록을 필터링하는 데 사용됩니다
  • 그룹데이터는 데이터를 그룹화하고 집계하는 데 사용됩니다.

이러한 기본 지식은 SQL 인터뷰 문제를 이해하고 해결하는 초석입니다.

핵심 SQL 인터뷰 질문 분석

질문 : 테이블에서 두 번째로 많은 유급 직원을 찾는 방법은 무엇입니까?

이 질문은 하위 쿼리 및 정렬에 대한 이해를 검토합니다. 이 문제를 해결하는 방법을 살펴 보겠습니다.

 MAX (급여)를 두 번째로 높은 것으로 선택하십시오
직원으로부터
여기서 급여 <(직원의 최대 (급여)를 선택);
로그인 후 복사

이 질문은 먼저 가장 높은 급여를 찾은 다음 나머지 급여의 가장 높은 급여를 찾습니다. 이는 두 번째로 높은 급여입니다. 이 방법은 간단하고 간단하지만, 테이블에 직원이 한 명뿐이거나 모든 직원이 동일하게 지불되면이 방법은 NULL을 반환합니다.

질문 : 각 부서에서 가장 높은 유급 직원을 찾는 방법은 무엇입니까?

이 문제는 그룹화와 하위 퀘스트를 결합하여 해결해야합니다.

 e1.name, e1.department, e1.salary를 선택하십시오
직원 E1에서
여기서 e1.salary = (
    MAX (E2. SALARY) 선택
    직원 E2에서
    여기서 e2.department = e1.department
);
로그인 후 복사

이 쿼리는 하위 쿼리를 통해 각 부서의 최대 급여를 찾은 다음 기본 쿼리와 일치하여 기준을 충족하는 직원을 찾습니다. 이 접근법은 작동하지만 많은 양의 데이터의 경우 성능에 영향을 줄 수 있습니다.

질문 : 창 함수에 SQL을 사용하는 방법은 무엇입니까?

창 함수는 결과 세트 구조를 변경하지 않고 데이터의 복잡한 분석을 수행 할 수있는 SQL의 고급 기능입니다. 예를 들어, 각 직원이 부서 내에서 어떻게 순위를 매기는지 알아 봅니다.

 선택 이름, 부서, 급여,
       RANK () OVER (SalaryRank로서 Salary Desc의 부서 명령 별 파티션)
직원으로부터;
로그인 후 복사

이 쿼리는 Department별로 그룹화하고 연봉의 하강 순서로 순위를 매기는 RANK() 창 함수를 사용합니다. 창 함수는 복잡한 분석 작업을 처리 할 때 매우 유용하지만 다른 데이터베이스는 창 함수를 다르게 지원할 수 있습니다.

사용의 예

기본 사용 : 쿼리 및 필터 데이터

급여가 5,000 명 이상인 모든 직원을 찾는 간단한 예를 살펴 보겠습니다.

 이름, 급여를 선택하십시오
직원으로부터
급여> 5000;
로그인 후 복사

이 쿼리는 SELECT 사용하는 방법과 WHERE 데이터를 필터링하는 위치를 보여줍니다. 이는 매우 기본적이지만 실제 작업에서 매우 일반적입니다.

고급 사용 : 복잡한 쿼리 및 최적화

각 부서에서 상위 3 개의 높은 급여를 찾아야한다고 가정 해 봅시다. 이것은 더 복잡한 쿼리입니다.

 e1.name, e1.department, e1.salary를 선택하십시오
직원 E1에서
여기서 3> (
    COUNT (CORLET E2SALARY) 선택
    직원 E2에서
    여기서 e2.salary> e1.salary 및 e1.department = e2.department
);
로그인 후 복사

이 쿼리는 하위 쿼리 및 COUNT 기능을 사용하여 각 부서의 상위 3 명을 찾습니다. 이 접근법은 작동하지만 데이터 볼륨이 높을 때 성능 문제가 발생할 수 있습니다. 이 쿼리를 최적화하는 한 가지 방법은 창 함수를 사용하는 것입니다.

 이름, 부서, 급여를 선택하십시오
에서 (
    선택 이름, 부서, 급여,
           Dense_Rank () Over (SalaryRank로서 Salary Desc의 부서 명령 별 파티션)
    직원으로부터
) 순위
여기서 SalaryRank <= 3;
로그인 후 복사

이 문제는 DENSE_RANK() 창 함수를 사용하여보다 효율적으로 해결할 수 있습니다. 테이블을 한 번만 스캔하면됩니다.

일반적인 오류 및 디버깅 팁

SQL 쿼리의 일반적인 오류에는 구문 오류, 로직 오류 및 성능 문제가 포함됩니다. 몇 가지 일반적인 오류 및 디버깅 팁은 다음과 같습니다.

  • 구문 오류 : 예를 들어 세미콜론 종료 명령문을 사용하는 것을 잊거나 잘못된 키워드를 사용하십시오. 해결책은 구문이 올바른지 확인하기 위해 SQL 문을 다시 확인하는 것입니다.
  • 논리 오류 : 예를 들어, 쿼리 조건이 잘못 기록되어 잘못된 결과가 반환됩니다. 해결책은 논리가 올바른지 확인하기 위해 쿼리의 각 부분을 점차적으로 확인하는 것입니다.
  • 성능 문제 : 예를 들어, 쿼리 실행 시간이 너무 길다. 해결책은 EXPLAIN 명령을 사용하여 쿼리 계획을 분석하고 병목 현상을 찾고 최적화하는 것입니다.

성능 최적화 및 모범 사례

실제 애플리케이션에서는 SQL 쿼리를 최적화하는 것이 매우 중요합니다. 다음은 몇 가지 최적화 팁과 모범 사례입니다.

  • 인덱스 사용 : 인덱스는 특히 큰 테이블에서 쿼리 성능을 크게 향상시킬 수 있습니다. 자주 쿼리 된 열에서 색인을 작성하십시오.
  • ** 선택을 피하십시오 *** : 필요한 열만 선택하여 데이터 전송 및 처리 시간을 줄일 수 있습니다.
  • 하위 쿼리 대신 조인 사용 : 경우에 따라 조인을 사용하는 것이 하위 쿼리보다 효율적 일 수 있습니다.
  • Pagination Query : 많은 양의 데이터를 처리 할 때 Limit 및 Offset을 사용하면 쿼리 성능이 향상 될 수 있습니다.

예를 들어, 수백만의 레코드가있는 테이블, 쿼리 성능을 최적화하는 방법이 있다고 가정합니다.

 - INDEX CREATE INDEX idx_employee_salary 사용 직원 (급여);

- 필요한 열만 선택하여 이름, 급여를 선택하십시오
직원으로부터
급여> 5000;

- 서브 쿼리 대신에 결합 사용 E1.Name, E1.Department, e1.salary
직원 E1에서
가입하다 (
    MaxSalary로 부서, Max (Salary)를 선택하십시오
    직원으로부터
    부서 별 그룹
) e1.department = e2.department 및 e1.salary = e2.maxsalary;

- Pagination Query 선택 이름, 급여
직원으로부터
급여> 5000
급여로 주문
제한 10 오프셋 0;
로그인 후 복사

이러한 최적화 기술은 쿼리 성능을 크게 향상시킬 수 있지만 특정 상황에 따라 조정해야합니다.

요약

이 기사를 통해 일반적인 SQL 인터뷰 질문과 해당 솔루션을 마스터해야합니다. SQL은 인터뷰에서 중요한 기술 일뿐 만 아니라 데이터 엔지니어링 및 데이터 분석의 핵심 도구이기도합니다. 계속 연습하고 배우고 SQL 기술을 지속적으로 개선하면 인터뷰와 실제 작업에서 더 나은 성과를 거둘 수 있습니다.

위 내용은 SQL 인터뷰 질문 및 답변 : ACE 귀하의 데이터 엔지니어/분석가 인터뷰의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

SQL DateTime을 사용하는 방법 SQL DateTime을 사용하는 방법 Apr 09, 2025 pm 06:09 PM

DateTime 데이터 유형은 0001-01-01 00:00:00 ~ 9999-12-31 23 : 59 : 59.99999999 및 구문은 Datetime (Precision)에 이르는 고정밀 날짜 및 시간 정보를 저장하는 데 사용됩니다. 정밀도는 Decimal Point (0-7) 이후 정확도를 추측하는 DateTime (Precision)입니다. 전환 기능이지만 정밀, 범위 및 시간대를 변환 할 때 잠재적 인 문제를 알고 있어야합니다.

SQL 문을 사용하여 SQL Server로 테이블을 만드는 방법 SQL 문을 사용하여 SQL Server로 테이블을 만드는 방법 Apr 09, 2025 pm 03:48 PM

SQL Server에서 SQL 문을 사용하여 테이블을 만드는 방법 : SQL Server Management Studio를 열고 데이터베이스 서버에 연결하십시오. 테이블을 만들려면 데이터베이스를 선택하십시오. 테이블 이름, 열 이름, 데이터 유형 및 제약 조건을 지정하려면 테이블 작성 문을 입력하십시오. 실행 버튼을 클릭하여 테이블을 만듭니다.

SQL IF 문을 사용하는 방법 SQL IF 문을 사용하는 방법 Apr 09, 2025 pm 06:12 PM

SQL IF 명령문은 구문을 다음과 같이 조건부로 실행하는 데 사용됩니다. if (조건) 그런 다음 {state} else {state} end if;. 조건은 유효한 SQL 표현식 일 수 있으며 조건이 참이면 당시 조항을 실행하십시오. 조건이 false 인 경우 else 절을 ​​실행하십시오. 명세서를 중첩 할 수있는 경우 더 복잡한 조건부 점검이 가능합니다.

SQL 외국 키 제약 조건은 무엇을 의미합니까? SQL 외국 키 제약 조건은 무엇을 의미합니까? Apr 09, 2025 pm 06:03 PM

외국의 주요 제약 조건은 데이터 무결성, 일관성 및 참조 무결성을 보장하기 위해 표 간의 참조 관계가 있어야 함을 지정합니다. 특정 기능에는 다음이 포함됩니다. 데이터 무결성 : 불법 데이터의 삽입 또는 업데이트를 방지하기 위해 메인 테이블에 외국 키 값이 있어야합니다. 데이터 일관성 : 주 테이블 데이터가 변경되면 외국 주요 제약 조건이 자동으로 업데이트되거나 관련 데이터를 동기화하도록 유지합니다. 데이터 참조 : 테이블 간의 관계를 설정하고 참조 무결성을 유지하며 관련 데이터 추적 및 획득을 용이하게합니다.

SQL 라운드 필드를 사용하는 방법 SQL 라운드 필드를 사용하는 방법 Apr 09, 2025 pm 06:06 PM

SQL Round () 함수는 숫자를 지정된 숫자 수로 반올림합니다. 그것은 두 가지 용도를 가지고 있습니다 : 1. num_digits & gt; 0 : 소수점으로 반올림; 2. Num_Digits & lt; 0 : 정수 장소로 반올림.

SQL 중복 제거 및 뚜렷한 사용 방법 SQL 중복 제거 및 뚜렷한 사용 방법 Apr 09, 2025 pm 06:21 PM

SQL에서 구별을 사용하여 제거하는 두 가지 방법이 있습니다. SELECT SELECT : 지정된 열의 고유 한 값 만 보존되고 원래 테이블 순서가 유지됩니다. 그룹에 의해 : 그룹화 키의 고유 한 값을 유지하고 표에서 행을 재정렬하십시오.

SQL에서 계산 된 열을 추가하는 방법 SQL에서 계산 된 열을 추가하는 방법 Apr 09, 2025 pm 02:12 PM

SQL에 계산 된 열을 추가하는 것은 기존 열을 계산하여 새 열을 생성하는 방법입니다. 계산 열을 추가하는 단계는 다음과 같습니다. 계산 해야하는 공식을 결정하십시오. Alter Table 문을 사용하십시오. 구문은 다음과 같습니다. Alter Table_Name Add Column New_Column_Name은 Calculation_formula; 예 : ALTER TABLE SALES_DATA COLMENT TOTAL_SALES를 판매 * 수량으로 추가합니다. 계산 된 열을 추가 한 후 새 열에는 지정된 공식에 따라 계산 된 값이 포함됩니다. 장점에는 다음이 포함됩니다. 성능 향상 및 쿼리 단순화

SQL 문에서 3 개의 테이블을 연결하는 방법에 대한 자습서를 작성하는 방법 SQL 문에서 3 개의 테이블을 연결하는 방법에 대한 자습서를 작성하는 방법 Apr 09, 2025 pm 02:03 PM

이 기사에서는 SQL 문을 사용하여 3 개의 테이블에 가입하는 것에 대한 자세한 자습서를 소개합니다. 독자는 다른 테이블의 데이터를 효과적으로 상관시키는 방법을 배우도록 독자를 안내합니다. 예제 및 세부 구문 설명을 통해이 기사를 사용하면 SQL에서 테이블의 결합 기술을 마스터하여 데이터베이스에서 관련 정보를 효율적으로 검색 할 수 있습니다.

See all articles