logo

SQL 쿼리 인터뷰 질문

SQL 또는 구조화된 쿼리 언어 관계형 데이터베이스의 표준 언어입니다. SQL 쿼리는 다음과 같은 데이터베이스에 저장된 데이터를 조작, 관리하는 데 사용되는 강력한 도구입니다. MySQL , 신탁 , 포스트그레SQL 등. 특정 데이터 포인트를 가져오거나, 복잡한 분석을 수행하거나, 데이터베이스 구조를 수정하는 등 SQL 쿼리는 이러한 작업을 효율적으로 실행하기 위한 표준화된 언어를 제공합니다.

여기에서 우리는 다룰 것입니다 45개 이상의 MySQL 인터뷰 질문과 답변 그 동안 자주 묻는 질문은 데이터 분석가 인터뷰 그리고 데이터 엔지니어 MAANG 및 기타 고임금 회사에서 직책을 맡고 있습니다. 당신이 신입생 또는 경험이 풍부한 전문가 ~와 함께 5 , 8 , 또는 10 년 경험을 바탕으로 이 기사는 다음 인터뷰에서 좋은 성적을 거두는 데 필요한 모든 자신감을 제공합니다.

SQL 쿼리 인터뷰 질문 및 답변

우리는 세 가지 샘플 테이블을 만들었습니다.학생 테이블,프로그램 테이블, 그리고장학금표. 우리는 이러한 테이블을 사용하여 다양한 쿼리 작업을 수행할 것입니다.

학생 테이블

학생 아이디

이름

평점

등록 날짜

주요한

201

시반시

마하잔

8.79

2021-09-01 09:30:00

컴퓨터 과학

202

우메쉬

샤르마

8.44

2021-09-01 08:30:00

수학

203

라케쉬

쿠마르

5.60

2021-09-01 10:00:00

생물학

204

라다

샤르마

9.20

2021-09-01 12:45:00

화학

205

WHO

쿠마르

7.85

2021-09-01 08:30:00

물리학

206

프렘

초프라

9.56

2021-09-01 09:24:00

역사

207

판카이

9.78

2021-09-01 02:30:00

영어

208

나블린

카우르

7시

2021-09-01 06:30:00

수학

프로그램 테이블

STUDENT_REF_ID

PROGRAM_NAME

PROGRAM_START_DATE

201

컴퓨터 과학

2021-09-01 00:00:00

202

수학

2021-09-01 00:00:00

208

수학

2021-09-01 00:00:00

205

물리학

2021-09-01 00:00:00

204

화학

2021-09-01 00:00:00

207

심리학

2021-09-01 00:00:00

206

역사

2021-09-01 00:00:00

203

생물학

2021-09-01 00:00:00

장학금표

STUDENT_REF_ID

장학금_AMOUNT

장학금_날짜

201

5000

2021-10-15 00:00:00

202

4500

2022-08-18 00:00:00

203

3000

2022-01-25 00:00:00

201

4000

2021-10-15 00:00:00

먼저 다음 중 일부를 살펴보겠습니다. 가장 많이 묻는 SQL 쿼리 면접 질문 :

1. Student 테이블에서 FIRST_NAME을 대문자로 가져오고 ALIAS 이름을 STUDENT_NAME으로 사용하는 SQL 쿼리를 작성합니다.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student;>

산출:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN>

2. Student 테이블에서 MAJOR 과목의 고유 값을 가져오는 SQL 쿼리를 작성합니다.

SELECT DISTINCT MAJOR from STUDENT; or SELECT MAJOR FROM STUDENT GROUP BY(MAJOR);>

산출:

Computer Science Mathematics Biology Chemistry Physics History English>

3. Student 테이블에서 FIRST_NAME의 처음 3자를 인쇄하는 SQL 쿼리를 작성합니다.

SELECT SUBSTRING(FIRST_NAME, 1, 3) FROM Student;>

산출:

Shi Ume Rak Rad Kus Pre Pan Nav>

4. Student 테이블의 이름 열 'Shivansh'에서 알파벳('a')의 위치를 ​​찾는 SQL 쿼리를 작성합니다.

SELECT INSTR(FIRST_NAME, 'a') FROM Student WHERE FIRST_NAME = 'Shivansh';>

산출:

5>

5. Student 테이블에서 MAJOR Subjects의 고유 값을 가져오고 해당 길이를 인쇄하는 SQL 쿼리를 작성합니다.

SELECT MAJOR,LENGTH(MAJOR) FROM Student GROUP BY(MAJOR); or SELECT DISTINCT MAJOR, LENGTH(MAJOR) FROM Student;>

산출:

주요한

길이(메이저)

컴퓨터 과학

16

수학

열하나

생물학

7

화학

9

물리학

7

역사

7

영어

7

6. 'a'를 'A'로 바꾼 후 Student 테이블에서 FIRST_NAME을 인쇄하는 SQL 쿼리를 작성합니다.

SELECT REPLACE(FIRST_NAME, 'a', 'A') FROM Student;>

산출:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen>

7. Student 테이블의 FIRST_NAME 및 LAST_NAME을 단일 열 COMPLETE_NAME에 인쇄하는 SQL 쿼리를 작성합니다.

SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS COMPLETE_NAME FROM Student;>

산출:

Shivansh Mahajan Umesh Sharma Rakesh Kumar Radha Sharma Kush Kumar Prem Chopra Pankaj Vats Navleen Kaur>

8. FIRST_NAME 오름차순 및 MAJOR 주제 내림차순으로 Student 테이블의 모든 학생 세부 정보를 인쇄하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student ORDER BY FIRST_NAME , MAJOR DESC;>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

205

WHO

쿠마르

7.85

2021-09-01 08:30:00

물리학

208

나블린

카우르

7

2021-09-01 06:30:00

수학

207

판카이

9.78

2021-09-01 02:30:00

영어

206

프렘

초프라

9.56

2021-09-01 09:24:00

역사

204

라다

샤르마

9.2

2021-09-01 12:45:00

화학

203

라케쉬

쿠마르

5.6

2021-09-01 10:00:00

생물학

201

시반시

마하잔

8.79

2021-09-01 09:30:00

컴퓨터 과학

202

우메쉬

for 루프 자바

샤르마

8.44

2021-09-01 08:30:00

수학

9. Student 테이블에서 FIRST_NAME이 'Prem'이고 'Shivansh'인 Students의 세부 정보를 인쇄하는 SQL 쿼리를 작성합니다.

SELECT * from Student WHERE FIRST_NAME IN ('Prem' , 'Shivansh');>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

201

시반시

마하잔

8.79

2021-09-01 09:30:00

컴퓨터 과학

206

프렘

초프라

9.56

2021-09-01 09:24:00

역사

10. Student 테이블에서 FIRST_NAME을 제외한 Students의 세부 정보를 'Prem' 및 'Shivansh'로 출력하는 SQL 쿼리를 작성합니다.

SELECT * from Student WHERE FIRST_NAME NOT IN ('Prem', 'Shivansh');>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

202

우메쉬

샤르마

8.44

2021-09-01 08:30:00

수학

203

라케쉬

쿠마르

5.6

2021-09-01 10:00:00

생물학

204

라다

샤르마

9.2

2021-09-01 12:45:00

화학

205

WHO

쿠마르

7.85

2021-09-01 08:30:00

물리학

207

판카이

9.78

2021-09-01 02:30:00

영어

208

나블린

카우르

7

2021-09-01 06:30:00

수학

11. FIRST_NAME이 'a'로 끝나는 학생의 세부 정보를 인쇄하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE FIRST_NAME LIKE '%a';>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

204

라다

샤르마

9.2

2021-09-01 12:45:00

화학

12. FIRST_NAME이 'a'로 끝나고 6개의 알파벳을 포함하는 학생의 세부 정보를 인쇄하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE FIRST_NAME LIKE '_____a';>

13. GPA가 9.00에서 9.99 사이인 학생의 세부 정보를 인쇄하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE GPA BETWEEN 9.00 AND 9.99;>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

204

라다

샤르마

9.2

2021-09-01 12:45:00

화학

206

프렘

초프라

9.56

2021-09-01 09:24:00

역사

207

판카이

9.78

2021-09-01 02:30:00

영어

14. '컴퓨터공학' 전공 학생 수를 조회하는 SQL 쿼리를 작성하세요.

SELECT Major, COUNT(*) as TOTAL_COUNT FROM Student WHERE MAJOR = 'Computer Science';>

산출:

주요한

총 합계

컴퓨터 과학

1

15. GPA>= 8.5 및 <= 9.5인 학생의 전체 이름을 가져오는 SQL 쿼리를 작성합니다.

SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS FULL_NAME FROM Student WHERE GPA BETWEEN 8.5 and 9.5;>

산출:

Shivansh Mahajan Radha Sharma>

16. 번호를 가져오는 SQL 쿼리를 작성합니다. 각 전공과목별 학생 수를 내림차순으로 표시합니다.

SELECT MAJOR, COUNT(MAJOR) from Student group by MAJOR order by COUNT(MAJOR);>

산출:

주요한

횟수(메이저)

생물학

1

미국 도시 이름

화학

1

컴퓨터 과학

1

영어

1

역사

1

물리학

1

수학

2

17. 장학금을 받은 학생의 이름, 장학금 금액, 장학금 날짜 등 세부 정보를 표시합니다.

SELECT Student.FIRST_NAME, Student.LAST_NAME, Scholarship.SCHOLARSHIP_AMOUNT, Scholarship.SCHOLARSHIP_DATE FROM Student INNER JOIN Scholarship ON Student.STUDENT_ID = Scholarship.STUDENT_REF_ID;>

산출:

이름 장학금_AMOUNT 장학금_날짜
시반시 마하잔 5000 2021-10-15 00:00:00
우메쉬 샤르마 4500 2022-08-18 00:00:00
라케쉬 쿠마르 3000 2022-01-25 00:00:00
시반시 마하잔 4000 2021-10-15 00:00:00

18. Student 테이블에서 홀수 행만 표시하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE student_id % 2 != 0;>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

201 시반시 마하잔 8.79 2021-09-01 09:30:00 컴퓨터 과학
203 라케쉬 쿠마르 5.6 2021-09-01 10:00:00 생물학
205 WHO 쿠마르 7.85 2021-09-01 08:30:00 물리학
207 판카이 9.78 2021-09-01 02:30:00 영어

19. Student 테이블의 짝수 행만 표시하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE student_id % 2 = 0;>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

202 우메쉬 샤르마 8.44 2021-09-01 08:30:00 수학
204 라다 샤르마 9.2 2021-09-01 12:45:00 화학
206 프렘 초프라 9.56 2021-09-01 09:24:00 역사
208 나블린 카우르 7 2021-09-01 06:30:00 수학

20. 모든 학생과 장학금을 받은 경우 해당 금액을 기재하십시오. 학생이 장학금을 받지 못한 경우 장학금 세부정보에 NULL을 표시합니다.

SELECT Student.FIRST_NAME, Student.LAST_NAME, COALESCE(Scholarship.SCHOLARSHIP_AMOUNT, NULL) AS SCHOLARSHIP_AMOUNT, COALESCE(Scholarship.SCHOLARSHIP_DATE, NULL) AS SCHOLARSHIP_DATE FROM Student LEFT JOIN Scholarship ON Student.STUDENT_ID = Scholarship.STUDENT_REF_ID;>

21. GPA를 내림차순으로 Student 테이블 순서의 상위 n개(예: 5개) 레코드를 표시하는 SQL 쿼리를 작성합니다.

SELECT * from Student ORDER BY GPA DESC LIMIT 5;>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

207 판카이 9.78 2021-09-01 02:30:00 영어
206 프렘 초프라 9.56 2021-09-01 09:24:00 역사
204 라다 샤르마 9.2 2021-09-01 12:45:00 화학
201 시반시 마하잔 8.79 2021-09-01 09:30:00 컴퓨터 과학
202 우메쉬 샤르마 8.44 2021-09-01 08:30:00 수학

22. 테이블에서 n번째(예: n=5) 가장 높은 GPA를 확인하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 5, 1;>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

205 WHO 쿠마르 7.85 2021-09-01 08:30:00 물리학

23. LIMIT 키워드를 사용하지 않고 다섯 번째로 높은 GPA를 확인하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student s1 WHERE 4 = ( SELECT COUNT(DISTINCT (s2.GPA)) FROM Student s2 WHERE s2.GPA>= s1.GPA );>

산출:

학생 아이디

이름

평점

등록 날짜

주요한

201 시반시 마하잔 8.79 2021-09-01 09:30:00 컴퓨터 과학

24. 동일한 GPA를 가진 학생 목록을 가져오는 SQL 쿼리를 작성합니다.

SELECT s1.* FROM Student s1, Student s2 WHERE s1.GPA = s2.GPA AND s1.Student_id != s2.Student_id;>

25. 하위 쿼리를 사용하여 Student 테이블에서 두 번째로 높은 GPA를 표시하는 SQL 쿼리를 작성합니다.

SELECT MAX(GPA) FROM Student WHERE GPA NOT IN(SELECT MAX(GPA) FROM Student);>

산출:

9.56>

26. 테이블의 결과에 한 행을 두 번 표시하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student UNION ALL SELECT * FROM Student ORDER BY STUDENT_ID;>

27. 장학금을 받지 못한 STUDENT_ID를 나열하는 SQL 쿼리를 작성합니다.

SELECT STUDENT_ID FROM Student WHERE STUDENT_ID NOT IN (SELECT STUDENT_REF_ID FROM Scholarship);>

산출:

204 205 206 207 208>

28. 테이블에서 처음 50% 레코드를 가져오는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE STUDENT_ID <= (SELECT COUNT(STUDENT_ID)/2 FROM Student);>

29. 4명 미만의 사람이 포함된 MAJOR 주제를 가져오는 SQL 쿼리를 작성합니다.

SELECT MAJOR, COUNT(MAJOR) AS MAJOR_COUNT FROM Student GROUP BY MAJOR HAVING COUNT(MAJOR) <4;>

산출:

주요한 MAJOR_COUNT
생물학 1
화학 1
컴퓨터 과학 1
영어 1
역사 1
수학 2
물리학 1

30. 모든 주요 주제와 거기에 있는 사람의 수를 표시하는 SQL 쿼리를 작성합니다.

SELECT MAJOR, COUNT(MAJOR) AS ALL_MAJOR FROM Student GROUP BY MAJOR;>

산출:

주요한 ALL_MAJOR
생물학 1
화학 1
컴퓨터 과학 1
영어 1
역사 1
수학 2
물리학 1

31. 테이블의 마지막 레코드를 표시하는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE STUDENT_ID = (SELECT MAX(STUDENT_ID) FROM STUDENT);>

산출:

학생 아이디 이름 평점 등록 날짜 주요한
208 나블린 카우르 7 2021-09-01 06:30:00 수학

32. 테이블의 첫 번째 행을 가져오는 SQL 쿼리를 작성합니다.

SELECT * FROM Student WHERE STUDENT_ID = (SELECT MIN(STUDENT_ID) FROM Student);>

산출:

학생 아이디 이름 평점 등록 날짜 주요한
201 시반시 마하잔 8.79 2021-09-01 09:30:00 컴퓨터 과학

33. 테이블에서 마지막 5개 레코드를 가져오는 SQL 쿼리를 작성합니다.

SELECT * FROM ( SELECT * FROM Student ORDER BY STUDENT_ID DESC LIMIT 5 ) AS subquery ORDER BY STUDENT_ID;>

산출:

학생 아이디 이름 평점 등록 날짜 주요한
204 라다 샤르마 9.2 2021-09-01 12:45:00 화학
205 WHO 쿠마르 7.85 2021-09-01 08:30:00 물리학
206 프렘 초프라 9.56 2021-09-01 09:24:00 역사
207 판카이 9.78 2021-09-01 02:30:00 영어
208 나블린 카우르 7 2021-09-01 06:30:00 수학

34. 상호 관련 하위 쿼리를 사용하여 테이블에서 최대 GPA 3개를 가져오는 SQL 쿼리를 작성합니다.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (S1.GPA가 있는 학생 S2의 개수(고유 GPA) 선택)<= S2.GPA) ORDER BY S1.GPA DESC;>

산출:

9.78 9.56 9.2>

35. 공동 관련 하위 쿼리를 사용하여 테이블에서 3분 GPA를 가져오는 SQL 쿼리를 작성합니다.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (S1.GPA>= S2.GPA인 학생 S2에서 개수(고유 GPA) 선택) S1.GPA별로 주문;>

산출:

5.6 7 7.85>

36. 테이블에서 n번째 최대 GPA를 가져오는 SQL 쿼리를 작성합니다.

SELECT DISTINCT GPA FROM Student S1 WHERE n>= (S1.GPA가 있는 학생 S2의 개수(고유 GPA) 선택)<= S2.GPA) ORDER BY S1.GPA DESC;>

37. 주요 과목 각각의 최대 평점과 함께 주요 과목을 가져오는 SQL 쿼리를 작성하세요.

SELECT MAJOR, MAX(GPA) as MAXGPA FROM Student GROUP BY MAJOR;>

산출:

주요한 MAXGPA
생물학 5.6
화학 9.2
컴퓨터 과학 8.79
영어 9.78
역사 9.56
수학 8.44
물리학 7.85

38. GPA가 가장 높은 학생의 이름을 가져오는 SQL 쿼리를 작성합니다.

SELECT FIRST_NAME, GPA FROM Student WHERE GPA = (SELECT MAX(GPA) FROM Student);>

산출:

이름 평점
판카이 9.78

39. 현재 날짜와 시간을 표시하는 SQL 쿼리를 작성합니다.

Query to get current date : SELECT CURDATE(); Query to get current date and time : SELECT NOW();>

40. 다른 테이블(예: Student)에서 복사한 데이터와 구조로 구성된 새 테이블을 생성하거나 Student라는 테이블을 복제하는 쿼리를 작성합니다.

CREATE TABLE CloneTable AS SELECT * FROM Student;>

41. '컴퓨터 과학' 전공 과목 전체 학생의 GPA를 7.5로 업데이트하는 SQL 쿼리를 작성하세요.

UPDATE Student SET GPA = 4.0 WHERE MAJOR = 'Computer Science';>

42. 각 전공의 평균 GPA를 구하는 SQL 쿼리를 작성하세요.

SELECT MAJOR, AVG(GPA) AS AVERAGE_GPA FROM Student GROUP BY MAJOR;>

산출:

주요한 AVERAGE_GPA
생물학 5.6
화학 9.2
컴퓨터 과학 4
영어 9.78
역사 9.56
수학 7.72
물리학 7.85

43. GPA가 가장 높은 상위 3명의 학생을 표시하는 SQL 쿼리를 작성하세요.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 3;>

산출:

학생 아이디 이름 평점 등록 날짜 주요한
207 판카이 9.78 2021-09-01 02:30:00 영어
206 프렘 초프라 9.56 2021-09-01 09:24:00 역사
204 라다 샤르마 9.2 2021-09-01 12:45:00 화학

44. 각 전공에서 GPA가 7.5보다 큰 학생 수를 찾는 SQL 쿼리를 작성하세요.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 전공별 그룹;>

산출:

주요한 HIGH_GPA_COUNT
생물학 1
화학 1
컴퓨터 과학 1
영어 1
역사 1
수학 2
물리학 1

45. 'Shivansh Mahajan'과 동일한 GPA를 가진 학생을 찾는 SQL 쿼리를 작성하세요.

SELECT * FROM Student WHERE GPA = (SELECT GPA FROM Student WHERE FIRST_NAME = 'Shivansh' AND LAST_NAME = 'Mahajan');>

산출:

학생 아이디 이름 평점 등록 날짜 주요한
201 시반시 마하잔 4 2021-09-01 09:30:00 컴퓨터 과학

결론

요약하자면, SQL 쿼리 인터뷰 질문을 마스터하는 것은 데이터 분석가, 데이터 엔지니어, 비즈니스 분석가와 같은 역할에서 탁월한 능력을 발휘하려는 모든 사람에게 필수적입니다. 이 가이드는 인터뷰를 철저히 준비할 수 있도록 고안된 포괄적인 SQL 쿼리 인터뷰 질문 및 답변 모음을 제공합니다.

이러한 쿼리를 이해하고 연습함으로써 다양한 기술 중심 산업에서 성공적인 데이터 조작 및 분석을 뒷받침하는 중요한 기술인 SQL에 대한 숙련도를 입증할 수 있습니다.