SQL 인터뷰 질문 및 답변 : 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

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

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

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

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

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

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

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

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