20 คำถามและคำตอบในการสัมภาษณ์ SQL Query ที่พบบ่อยที่สุด [สำหรับ Freshers & มีประสบการณ์]

เผยแพร่แล้ว: 2021-07-14

เข้าร่วมการ สัมภาษณ์ SQL และสงสัยว่าคำถามและการอภิปรายทั้งหมดคืออะไร? ก่อนเข้าร่วมการสัมภาษณ์ SQL จะดีกว่าที่จะมีความคิดเกี่ยวกับประเภทของ คำถามสัมภาษณ์ SQL ที่จะถูกถามเพื่อให้คุณสามารถเตรียมคำตอบสำหรับพวกเขาทางจิตใจ

เพื่อช่วยคุณ ฉันได้สร้าง คำถามสัมภาษณ์ SQL อันดับต้น ๆ และคำแนะนำคำตอบ เพื่อทำความเข้าใจเชิงลึกและเจตนาที่แท้จริงของคำถามสัมภาษณ์ SQL มาเริ่มกันเลย.

Structured Query Language (SQL) เป็นภาษาการเขียนโปรแกรมที่ได้รับความนิยมและใช้กันอย่างแพร่หลายสำหรับการจัดการ การจัดการ และการสืบค้นข้อมูลในฐานข้อมูลเชิงสัมพันธ์ แม้ว่า SQL จะไม่ใช่ภาษาที่เร็วที่สุดในการสื่อสารกับฐานข้อมูลเชิงสัมพันธ์ แต่ก็เป็นวิธีที่มีประสิทธิภาพมากที่สุดในการจัดการข้อมูลที่มีโครงสร้างอย่างไม่ต้องสงสัย

เมื่อเทียบกับ API การอ่าน-เขียนแบบดั้งเดิม เช่น ISAM หรือ VSAM แล้ว SQL ได้ขยายข้อดีหลักสองประการ:

  • ช่วยให้คุณเข้าถึงหลายระเบียนโดยใช้คำสั่งเดียว
  • ช่วยลดความจำเป็นในการระบุวิธีเข้าถึงบันทึก (ไม่ว่าจะใช้ดัชนีหรือไม่) จากฐานข้อมูล

แบบสอบถาม SQL เป็นคำถามหรือคำขอสำหรับการเข้าถึงข้อมูลที่จัดเก็บไว้ในฐานข้อมูล ฐานข้อมูลเก็บข้อมูลในรูปแบบตาราง ดังนั้นจึงมีแถวและคอลัมน์ แม้ว่าฟิลด์ฐานข้อมูลจะสร้างคอลัมน์ที่ชี้นำฐานข้อมูลเกี่ยวกับข้อมูลที่สามารถจัดเก็บได้ แต่แถวนั้นก็มีข้อมูลอยู่ นี่คือชุดข้อมูลตัวอย่างที่เรียกว่า “tblAlbum” เพื่อนำสิ่งต่าง ๆ มาสู่มุมมอง:

แหล่งที่มา

มาสร้างแบบสอบถาม SQL โดยใช้ข้อมูลตัวอย่างนี้ เราจะเน้นที่การเลือกเฉพาะอัลบั้มที่มีคะแนน 9 ขึ้นไป ดังนั้นเราจึงขอให้แบบสอบถามสร้างรายชื่ออัลบั้มจากฐานข้อมูลที่มีคะแนนเท่ากับหรือมากกว่า 9 คุณจะใช้คำหลักที่เกี่ยวข้องเพื่อให้ได้คำตอบที่ต้องการ

คำถามสัมภาษณ์ sql และคำตอบ

คำหลักในสถานการณ์นี้คือ – SELECT (กำหนดเพื่อดึงข้อมูลจากฐานข้อมูล), FROM (ตารางเฉพาะที่มีข้อมูลดังกล่าว) และ WHERE (กำหนดเกณฑ์ในการเข้าถึงข้อมูล) เมื่อคุณใช้คำหลักเหล่านี้ แบบสอบถาม SQL ของคุณจะมีลักษณะดังนี้:

เลือกอัลบั้มชื่อจาก tblAlbums

WHERE เรตติ้ง >= 9;

ดังนั้น คุณกำลังเลือก (SELECT) ข้อมูลจาก (FROM) ตาราง “tblAlbums” โดยที่ (WHERE) การจัดอันดับอัลบั้มคือ 9 ขึ้นไป คำสั่ง WHERE อาจเป็นแบบธรรมดาหรือซับซ้อนเกินไปก็ได้หากมีตรรกะที่ซ้อนกันจำนวนมากที่เกี่ยวข้อง เมื่อเรียกใช้แบบสอบถาม คุณจะได้ผลลัพธ์ต่อไปนี้:

อัลบั้มTitle

ซิมโฟนีในดีไมเนอร์

หัวใจของกวี

เมื่อคุณมีความเข้าใจพื้นฐานแล้วว่าการสืบค้นข้อมูล SQL คืออะไรและทำงานอย่างไร มาดูคำถามสัมภาษณ์แบบสอบถาม SQL จำนวน 20 คำถามกัน!

ก่อนที่เราจะเริ่มต้นกับคำถามสัมภาษณ์แบบสอบถาม SQL ให้ตรวจสอบตารางอ้างอิงเหล่านี้ – การสืบค้นของเราจะยึดตามตารางเหล่านี้

ตารางข้อมูลพนักงาน:

EmpID EmpFname ชื่อนามสกุล แผนก โครงการ ที่อยู่ DOB เพศ
1 โรหิต คุปตะ แอดมิน P1 เดลี 02/12/1979 ชาย
2 ราหุล มหาจัน แอดมิน P2 มุมไบ 10/10/1986 ชาย
3 โซเนีย บาเนอร์จี HR P3 ปูเน่ 05/06/1983 หญิง
4 อังคิตา Kapoor HR P4 เจนไน 28/11/1983 หญิง
5 สวาติ Garg HR P5 เดลี 06/04/1991 หญิง

ตารางตำแหน่งพนักงาน:

EmpID ตำแหน่งว่าง วันที่เข้าร่วม เงินเดือน
1 ผู้บริหาร 01/04/2020 75000
2 ผู้จัดการ 03/04/2020 500,000
3 ผู้จัดการ 02/04/2020 150000
2 เจ้าหน้าที่ 02/04/2020 90000
1 ผู้จัดการ 03/04/2020 300,000

คำถามและคำตอบสัมภาษณ์แบบสอบถาม SQL

  1. เขียนแบบสอบถามเพื่อรับ EmpFname จากตาราง EmployeeInfo ตัวพิมพ์ใหญ่โดยใช้ชื่อนามแฝงเป็น EmpName

แบบสอบถามสำหรับเงื่อนไขนี้คือ:

SELECT UPPER(EmpFname) เป็น EmpName จาก EmployeeInfo;

  1. เขียนแบบสอบถามเพื่อรับจำนวนพนักงานที่ทำงานในแผนก 'HR'

นี่คือคำถามสำหรับความต้องการนี้:

เลือก COUNT (*) จาก EmployeeInfo โดยที่ Department = 'HR';

  1. คุณจะเขียนข้อความค้นหาใดเพื่อดึงวันที่ปัจจุบัน

ในการดึงข้อมูลวันที่ปัจจุบัน คุณสามารถเขียนแบบสอบถามนี้ในเซิร์ฟเวอร์ SQL:

เลือกรับ ();

ในการดึงข้อมูลวันที่ปัจจุบัน คุณสามารถเขียนแบบสอบถามนี้ใน MySQL:

เลือก SYSTDATE();

  1. เขียนแบบสอบถามเพื่อดึงเฉพาะชื่อสถานที่ (สตริงก่อนวงเล็บเหลี่ยม) จากคอลัมน์ที่อยู่ของตาราง EmployeeInfo

คุณสามารถใช้ฟังก์ชัน MID ใน MySQL เพื่อสร้างแบบสอบถามต่อไปนี้:

เลือก MID(Address, 0, LOCATE('(',Address)) จาก EmployeeInfo;

คุณสามารถใช้ SUBSTRING เพื่อสร้างแบบสอบถามต่อไปนี้:

เลือก SUBSTRING(Address, 1, CHARINDEX('(',Address)) จาก EmployeeInfo;

อ่านเพิ่มเติม: SQL สำหรับวิทยาศาสตร์ข้อมูล: ทำไมต้องเป็น SQL

  1. เขียนแบบสอบถามเพื่อสร้างตารางใหม่ที่มีการคัดลอกข้อมูลและโครงสร้างจากตารางอื่น

คุณสามารถใช้คำสั่ง SELECT INTO เพื่อสร้างแบบสอบถามต่อไปนี้:

เลือก * เป็น NewTable จาก EmployeeInfo โดยที่ 1 = 0;

คุณสามารถใช้คำสั่ง CREATE ใน MySQL เพื่อสร้างแบบสอบถามต่อไปนี้:

สร้างตาราง NewTable เป็น SELECT * จาก EmployeeInfo;

  1. เขียนแบบสอบถามเพื่อแสดงชื่อพนักงานที่ขึ้นต้นด้วย 'S'

นี่คือแบบสอบถามที่คุณต้องเขียนเพื่อให้ได้ชื่อของพนักงานที่มีชื่อขึ้นต้นด้วย'S':

เลือก * จาก EmployeeInfo โดยที่ EmpFname LIKE 'S%';

  1. เขียนแบบสอบถามเพื่อเรียกระเบียน N ด้านบน

คุณสามารถเขียนแบบสอบถามโดยใช้คำสั่ง TOP ใน SQL Server:

เลือก TOP N * จากตำแหน่งพนักงาน เรียงตามเงินเดือน DESC;

คุณยังสามารถสร้างแบบสอบถามโดยใช้คำสั่ง LIMIT ใน MySQL:

เลือก * จาก EmpPosition เรียงลำดับตามเงินเดือน DESC LIMIT N;

  1. เขียนแบบสอบถามเพื่อรับบันทึกที่เกี่ยวข้องจากตาราง EmployeeInfo ที่แผนกสั่งซื้อจากน้อยไปมาก และ EmpLname ตามลำดับจากมากไปน้อย

คุณต้องใช้คำสั่ง ORDER BY ใน SQL เพื่อจุดประสงค์นี้

SELECT * จากข้อมูลพนักงาน ORDER BY แผนก asc, EmpFname desc;

  1. เขียนแบบสอบถามเพื่อดูรายละเอียดของพนักงานที่ชื่อ EmpFname ลงท้ายด้วย 'A'

คุณสามารถใช้ตัวดำเนินการ LIKE ใน SQL เพื่อสร้างแบบสอบถามสำหรับปัญหานี้:

เลือก * จาก EmployeeInfo โดยที่ EmpFname LIKE '____a';

10.สร้างแบบสอบถามเพื่อดึงรายละเอียดพนักงานที่มี “DELHI” เป็นที่อยู่

เลือก * จาก EmployeeInfo โดยที่ที่อยู่เช่น 'DELHI%';

อ่าน: เครื่องมือวิทยาศาสตร์ข้อมูล 9 อันดับแรกในปี 2020

  1. เขียนแบบสอบถามเพื่อเรียกพนักงานทุกคนที่ดำรงตำแหน่งผู้บริหารด้วย

คู่มือคำถามและคำตอบสำหรับการสัมภาษณ์ SQL จะไม่สมบูรณ์หากไม่มีคำถามนี้

นี่คือคำถามเพื่อให้ได้พนักงานที่ดำรงตำแหน่งผู้บริหาร:

เลือก E.EmpFname, E.EmpLname, P.EmpPosition

จากข้อมูลพนักงาน E เข้าร่วมพนักงานตำแหน่ง P ON

E.EmpID = P.EmpID และ P.EmpPosition ใน ('ผู้จัดการ');

  1. สร้างแบบสอบถามเพื่อสร้างระเบียนแรกและระเบียนสุดท้ายจากตาราง EmployeeInfo

หนึ่งในคำถามสัมภาษณ์ SQL ที่พบบ่อยที่สุด

นี่คือแบบสอบถามเพื่อดึงข้อมูลระเบียนแรกจากตาราง EmployeeInfo:

เลือก * จาก EmployeeInfo โดยที่ EmpID = (เลือก MIN (EmpID) จาก EmployeeInfo);

ต่อไปนี้คือแบบสอบถามเพื่อดึงข้อมูลระเบียนล่าสุดจากตาราง EmployeeInfo:

เลือก * จาก EmployeeInfo โดยที่ EmpID = (เลือก MAX (EmpID) จาก EmployeeInfo);

  1. สร้างคิวรีเพื่อตรวจสอบว่าค่าที่ส่งผ่านไปยังคิวรีเป็นไปตามรูปแบบวันที่ของตาราง EmployeeInfo และ EmployeePosition

คุณสามารถใช้ฟังก์ชัน IsDate() ใน SQL เพื่อตรวจสอบว่าค่าที่ส่งผ่านเป็นไปตามรูปแบบที่ระบุหรือไม่ มันส่งกลับ 1(จริง) หรือ 0(เท็จ) ตามลำดับ แบบสอบถามจะมีลักษณะดังนี้:

เลือก ISDATE('01/04/2020') เป็น “MM/DD/YY”;

การเรียกใช้แบบสอบถามนี้จะคืนค่า 0 เนื่องจากค่าที่ส่งไม่ตรงกับรูปแบบที่ระบุ

  1. สร้างแบบสอบถามเพื่อรับพนักงานแสดงที่มีเงินเดือนเท่ากับหรือมากกว่า 150000

คำถามสำหรับคำขอนี้จะเป็น:

เลือก EmpName จากพนักงานที่เงินเดือน>=150000;

  1. เขียนแบบสอบถามเพื่อดึงปีโดยใช้วันที่

คุณสามารถรับปีจากวันที่ในเซิร์ฟเวอร์ SQL โดยเรียกใช้แบบสอบถามต่อไปนี้:

เลือกปี(GETDATE()) เป็น “ปี”;

  1. สร้างแบบสอบถาม SQL เพื่อดึงข้อมูล EmpPostion และเงินเดือนทั้งหมดที่จ่ายสำหรับตำแหน่งพนักงานแต่ละตำแหน่ง

คำถามสำหรับคำขอนี้คือ:

เลือก EmpPosition, SUM (เงินเดือน) จาก EmployeePosition GROUP BY EmpPosition;

  1. เขียนแบบสอบถามเพื่อค้นหาระเบียนที่ซ้ำกันจากตาราง

หนึ่งในคำถามที่พบบ่อยที่สุดในคำถามสัมภาษณ์ SQL และคู่มือคำตอบ

เลือก EmpID, EmpFname, แผนก COUNT(*)

จาก EmployeeInfo GROUP BY EmpID, EmpFname, Department

มี COUNT(*) > 1;

  1. สร้างแบบสอบถามเพื่อดึงเงินเดือนสูงสุดอันดับสามจากตาราง EmpPosition

เลือก TOP 1 เงินเดือน

จาก(

เลือก TOP 3 เงินเดือน

จาก Employee_table

เรียงตามเงินเดือน DESC) AS emp

เรียงตามเงินเดือน ASC;

  1. เขียนแบบสอบถาม SQL เพื่อค้นหาระเบียนคู่และคี่ในตาราง EmployeeInfo

คุณต้องใช้ฟังก์ชัน MOD() เพื่อดึงระเบียนคู่และคี่จากตาราง สำหรับระเบียนที่เท่ากัน แบบสอบถามจะเป็น:

เลือก EmpID จาก (เลือก rowno, EmpID จาก EmployeeInfo) โดยที่ MOD (rowno,2) = 0;

สำหรับบันทึกคี่ แบบสอบถามจะเป็น:

เลือก EmpID จาก (เลือก rowno, EmpID จาก EmployeeInfo) โดยที่ MOD (rowno,2) = 1;

  1. สร้างแบบสอบถามเพื่อดึงรายชื่อพนักงานในแผนกเดียวกัน

นี่คือแบบสอบถามสำหรับคำขอนี้:

เลือก DISTINCT E.EmpID, E.EmpFname, E.DepartmentFROM EmployeeInfo E, พนักงาน E1

โดยที่ E.Department = E1.Department และ E.EmpID != E1.EmpID;

เรียนรู้ หลักสูตรซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

บทสรุป

ด้วยเหตุนี้ เราจึงมาถึงจุดสิ้นสุดของรายการคำถามสัมภาษณ์แบบสอบถาม SQL ของเรา เราหวังว่าการสืบค้นข้อมูลเหล่านี้จะช่วยให้คุณมีแนวคิดที่ยุติธรรมเกี่ยวกับรูปแบบการสืบค้น SQL มาตรฐานและวิธีสร้างการสืบค้น SQL ยิ่งคุณฝึกฝนมากเท่าไร คุณก็จะยิ่งมีความสามารถในการเขียนแบบสอบถาม SQL เพื่อเข้าถึงและจัดการข้อมูลในตารางข้อมูลได้ดียิ่งขึ้น

หากคุณอยากที่จะพัฒนาความรู้ SQL ของคุณ และเพิ่มเติมเกี่ยวกับการพัฒนา full stack ให้ตรวจสอบ IIIT-B & upGrad's PG Diploma in Full Stack Software Development ซึ่งสร้างขึ้นสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 10+ ภาคปฏิบัติ การประชุมเชิงปฏิบัติการ การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม ตัวต่อตัวกับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

สมัครเลยตอนนี้สำหรับโปรแกรม Executive PG ในการพัฒนา Full Stack