찾다
데이터 베이스SQLSQL 인터뷰 질문 및 답변 : ACE 귀하의 데이터 엔지니어/분석가 인터뷰

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으로 문의하세요.
SQL Action : 실제 예제 및 사용 사례SQL Action : 실제 예제 및 사용 사례Apr 18, 2025 am 12:13 AM

실제 애플리케이션에서 SQL은 주로 데이터 쿼리 및 분석, 데이터 통합 ​​및보고, 데이터 청소 및 전처리, 고급 사용 및 최적화에 사용되며 복잡한 쿼리를 처리하고 일반적인 오류를 피합니다. 1) 데이터 쿼리 및 분석을 사용하여 가장 많은 판매 제품을 찾을 수 있습니다. 2) 데이터 통합 ​​및보고는 가입 운영을 통해 고객 구매 보고서를 생성합니다. 3) 데이터 청소 및 전처리는 비정상적인 연령 기록을 삭제할 수 있습니다. 4) 고급 사용 및 최적화에는 창 함수 사용 및 인덱스 생성이 포함됩니다. 5) CTE 및 조인은 SQL 주입과 같은 일반적인 오류를 피하기 위해 복잡한 쿼리를 처리하는 데 사용될 수 있습니다.

SQL 및 MySQL : 핵심 차이 이해SQL 및 MySQL : 핵심 차이 이해Apr 17, 2025 am 12:03 AM

SQL은 관계형 데이터베이스를 관리하는 표준 언어이며 MySQL은 특정 데이터베이스 관리 시스템입니다. SQL은 통합 구문을 제공하며 다양한 데이터베이스에 적합합니다. MySQL은 가볍고 오픈 소스이며 안정적인 성능을 보이지만 빅 데이터 처리에는 병목 현상이 있습니다.

SQL : 초보자를위한 학습 곡선SQL : 초보자를위한 학습 곡선Apr 16, 2025 am 12:11 AM

SQL 학습 곡선은 가파르지만 연습과 핵심 개념을 이해함으로써 마스터 할 수 있습니다. 1. 기본 작업에는 선택, 삽입, 업데이트, 삭제가 포함됩니다. 2. 쿼리 실행은 분석, 최적화 및 실행의 세 단계로 나뉩니다. 3. 기본 사용법은 직원 정보 쿼리와 같은 것이며 고급 사용량은 결합 연결 테이블 사용과 같은 것입니다. 4. 일반적인 오류에는 별칭 및 SQL 주입을 사용하지 않는 것이 포함되며,이를 방지하려면 매개 변수화 쿼리가 필요합니다. 5. 필요한 열을 선택하고 코드 가독성을 유지함으로써 성능 최적화가 달성됩니다.

SQL : 명령, MySQL : 엔진SQL : 명령, MySQL : 엔진Apr 15, 2025 am 12:04 AM

SQL 명령은 MySQL에서 DQL, DDL, DML, DCL 및 TCL의 5 가지 범주로 나뉘어 데이터베이스 데이터를 정의, 운영 및 제어하는 ​​데 사용됩니다. MySQL은 어휘 분석, 구문 분석, 최적화 및 실행을 통해 SQL 명령을 처리하고 인덱스 및 쿼리 최적화기를 사용하여 성능을 향상시킵니다. 사용의 예로는 데이터 쿼리에 대한 선택 및 다중 테이블 작업에 가입하는 것이 포함됩니다. 일반적인 오류에는 구문, 논리 및 성능 문제가 포함되며 최적화 전략에는 인덱스 사용, 쿼리 최적화 및 올바른 저장 엔진 선택이 포함됩니다.

데이터 분석을위한 SQL : 비즈니스 인텔리전스를위한 고급 기술데이터 분석을위한 SQL : 비즈니스 인텔리전스를위한 고급 기술Apr 14, 2025 am 12:02 AM

SQL의 고급 쿼리 기술에는 하위 쿼리, 창 함수, CTE 및 복잡한 조인이 포함되어 복잡한 데이터 분석 요구 사항을 처리 할 수 ​​있습니다. 1) 하위 쿼리는 각 부서에서 급여가 가장 높은 직원을 찾는 데 사용됩니다. 2) 창 함수와 CTE는 직원 급여 성장 ​​동향을 분석하는 데 사용됩니다. 3) 성능 최적화 전략에는 인덱스 최적화, 쿼리 재 작성 및 파티션 테이블 사용이 포함됩니다.

MySQL : SQL의 특정 구현MySQL : SQL의 특정 구현Apr 13, 2025 am 12:02 AM

MySQL은 표준 SQL 기능 및 확장을 제공하는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) MySQL은 한계 조항을 작성, 삽입, 업데이트, 삭제 및 확장과 같은 표준 SQL 작업을 지원합니다. 2) Innodb 및 Myisam과 같은 스토리지 엔진을 사용하여 다양한 시나리오에 적합합니다. 3) 사용자는 테이블 작성, 데이터 삽입 및 저장 프로 시저를 사용하는 것과 같은 고급 기능을 통해 MySQL을 효율적으로 사용할 수 있습니다.

SQL : 모든 사람이 데이터 관리에 액세스 할 수 있도록합니다SQL : 모든 사람이 데이터 관리에 액세스 할 수 있도록합니다Apr 12, 2025 am 12:14 AM

sqlmakesdatamanagementaCcessibletoallbyprovingasimpleyetpooltooltoolforqueryinganddatabases.1) itworkswithrelationalDatabases.2) sql'sstrengthliesinfiltering, andjoiningdata, andjoiningdata, andjoiningdata

SQL 인덱싱 전략 : 쿼리 성능 향상 순서SQL 인덱싱 전략 : 쿼리 성능 향상 순서Apr 11, 2025 am 12:04 AM

SQL 인덱스는 영리한 설계를 통해 쿼리 성능을 크게 향상시킬 수 있습니다. 1. B- 트리, 해시 또는 전문 지수와 같은 적절한 인덱스 유형을 선택하십시오. 2. 복합 인덱스를 사용하여 멀티 필드 쿼리를 최적화하십시오. 3. 데이터 유지 보수 오버 헤드를 줄이려면 과도한 인덱스를 피하십시오. 4. 불필요한 인덱스 재건 및 제거를 포함하여 정기적으로 인덱스를 유지합니다.

See all articles

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

메모장++7.3.1

메모장++7.3.1

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