20 คำถามและคำตอบสัมภาษณ์ SQL ที่พบบ่อย [2022]
เผยแพร่แล้ว: 2022-08-18Structured Query Language (SQL) เป็นภาษาการเขียนโปรแกรมมาตรฐานที่ใช้โดยผู้ดูแลระบบฐานข้อมูลและนักวิเคราะห์ข้อมูลเพื่อสืบค้นฐานข้อมูล มีการใช้กันอย่างแพร่หลายในภาษาโปรแกรมของเว็บไซต์ แอพ และแพลตฟอร์มอื่นๆ
ใช้เพื่อเข้าถึงและจัดการข้อมูลในฐานข้อมูล รวมถึงการสร้างและแก้ไขตารางและคอลัมน์ และการสืบค้นข้อมูลโดยใช้คำสั่ง SQL
โพสต์นี้จะให้ข้อมูลเชิงลึกแก่คุณอย่างไม่ต้องสงสัยหากคุณกำลังมองหาคำถามและคำตอบเพื่อใช้ในขณะที่คุณเตรียมตัวสำหรับการสัมภาษณ์ SQL ในการสัมภาษณ์งานสำหรับวิศวกรข้อมูล นักวิเคราะห์ข้อมูล ผู้ดูแลระบบฐานข้อมูล ฯลฯ คุณควรคาดหวังคำถามต่อไปนี้
คำสั่ง SQL พื้นฐานคืออะไร?
คำสั่ง SQL ที่สำคัญที่สุดบางส่วน ได้แก่ :
- SELECT – ดึงข้อมูลจากฐานข้อมูล
- CREATE TABLE – สร้างตารางใหม่
- DELETE – ลบข้อมูลออกจากฐานข้อมูล
- INSERT INTO – แทรกข้อมูลใหม่ลงในฐานข้อมูล
- ALTER DATABASE – แก้ไขฐานข้อมูล
- CREATE DATABASE – สร้างฐานข้อมูลใหม่
- UPDATE – อัพเดทข้อมูลในฐานข้อมูล
สี่คำสั่ง SQL ที่สำคัญคืออะไร?
คำสั่ง SQL หลักแบ่งออกเป็นหมวดหมู่เหล่านี้:
- คำสั่งภาษานิยามข้อมูล (DDL)
- คำสั่งภาษาการจัดการข้อมูล (DML)
- คำสั่งภาษาควบคุมข้อมูล (DCL)
- คำสั่งภาษาการควบคุมธุรกรรม (TCL)
ความหมายของคีย์หลักใน SQL คืออะไร?
คีย์หลักคือคอลัมน์ (หรือชุดของคอลัมน์) ที่อนุญาตให้ระบุแต่ละแถวในฐานข้อมูลได้โดยไม่ซ้ำกัน ฐานข้อมูล SQL ให้ความสำคัญกับคีย์หลักเป็นอย่างมาก พวกเขาจัดเตรียมแต่ละแถวในตารางฐานข้อมูลด้วย ID ที่ไม่ซ้ำกัน คีย์หลักสามารถประกอบด้วยฟิลด์ได้ตั้งแต่หนึ่งฟิลด์ขึ้นไป และมีคีย์หลักได้เพียง 1 รายการต่อตารางเท่านั้น
ชนิดข้อมูล SQL คืออะไร?
ชนิดข้อมูลเป็นแอตทริบิวต์ที่อธิบายชนิดของข้อมูลที่อ็อบเจ็กต์สามารถจัดเก็บได้ เช่น สตริงไบนารี ข้อมูลตัวเลข ข้อมูลอักขระ ข้อมูลทางการเงิน ข้อมูลวันที่และเวลา และอื่นๆ
ใน SQL ชนิดข้อมูลแบ่งออกเป็นกลุ่มต่อไปนี้:
- ตัวเลขที่แน่นอน
- ตัวเลขโดยประมาณ
- วันและเวลา
- สายอักขระ
- สตริงอักขระ Unicode
- สตริงไบนารี
ชื่อผู้ใช้และรหัสผ่านถูกเก็บไว้ใน SQL Server อยู่ที่ไหน
ชื่อผู้ใช้และรหัสผ่านจะถูกเก็บไว้ในหลักการ sys.server และการเข้าสู่ระบบ sys.sql ของตาราง SQL ตามลำดับ รหัสผ่านจะไม่ถูกเก็บไว้ในข้อความปกติ
การฉีด SQL คืออะไร?
การโจมตีด้วยการฉีด SQL เป็นหนึ่งในประเภทการโจมตีทางไซเบอร์ที่พบบ่อยที่สุดในปัจจุบัน พวกเขาอนุญาตให้ผู้โจมตีที่ประสงค์ร้ายเข้าถึงข้อมูลโดยจัดการฐานข้อมูลของแอปพลิเคชัน ซึ่งอาจส่งผลให้เกิดผลเสียในวงกว้าง ตั้งแต่การสูญเสียทางการเงินไปจนถึงการสูญเสียข้อมูลที่ละเอียดอ่อน วิธีที่ดีที่สุดในการป้องกันการโจมตีด้วยการฉีด SQL คือการป้องกันไม่ให้เกิดขึ้นตั้งแต่แรก
ทริกเกอร์ใน SQL และประเภทของมันคืออะไร?
ทริกเกอร์คือโพรซีเดอร์ที่เก็บไว้ชนิดพิเศษที่ทำงานโดยอัตโนมัติเมื่อมีเหตุการณ์เกิดขึ้นในเซิร์ฟเวอร์ฐานข้อมูล ทริกเกอร์ใช้เพื่อประเมินข้อมูลก่อนหรือหลังการแก้ไขข้อมูลโดยใช้คำสั่ง DDL และ DML
ทริกเกอร์มีสามประเภท – LOGON, DDL และ DML
- ทริกเกอร์การล็อกออน: ทริก เกอร์เหล่านี้เริ่มทำงานเมื่อ ผู้ใช้เริ่มต้นเหตุการณ์การเข้าสู่ระบบ
- ทริกเกอร์ DDL จะถูกทริกเกอร์ทุกครั้งที่มีการออกคำสั่ง DDL เช่น CREATE, ALTER หรือ DROP
- ทริกเกอร์ DML: ทริกเกอร์เหล่านี้จะถูกทริกเกอร์ทุกครั้งที่คำสั่ง DML แก้ไขข้อมูล เปรียบได้กับ INSERT, UPDATE และ DELETE
คุณจะแยกความแตกต่างระหว่างฟังก์ชันแถวเดียวและหลายแถวอย่างไร
แถวเดียวในตารางอาจได้รับผลกระทบจากฟังก์ชันแถวเดียวในคราวเดียว พวกเขาดำเนินการแถวแล้วให้กลับหนึ่งผลลัพธ์ เป็นที่ทราบกันดีว่าการแปลงความยาวและขนาดตัวพิมพ์เป็นฟังก์ชันแบบแถวเดียว
แถวของตารางอาจได้รับผลกระทบจากฟังก์ชันหลายแถวพร้อมกัน เรียกอีกอย่างว่าฟังก์ชันกลุ่ม โดยดำเนินการหลายแถวก่อนที่จะส่งกลับเอาต์พุตเดียว
การทำให้ฐานข้อมูลเป็นมาตรฐานคืออะไร และสี่ประเภทหลักใน SQL คืออะไร
การปรับฐานข้อมูลให้เป็นมาตรฐานเป็นกระบวนการที่ข้อมูลได้รับการจัดระเบียบเพื่อให้เข้าถึงได้เร็วขึ้นและลดความซ้ำซ้อนของข้อมูล คอลัมน์และตารางของฐานข้อมูลได้รับการจัดระเบียบในระหว่างการทำให้เป็นมาตรฐาน เพื่อให้แน่ใจว่าการขึ้นต่อกันใดๆ ได้รับการสนับสนุนอย่างถูกต้องตามข้อจำกัดความสมบูรณ์ของฐานข้อมูล
กระบวนการนอร์มัลไลซ์ฐานข้อมูลสี่ประเภทมีดังนี้:
- ฟอร์มปกติครั้งแรก (1 NF)
- แบบฟอร์มปกติที่สอง (2 NF)
- แบบฟอร์มปกติที่สาม (3 NF)
- Boyce Codd Normal Form หรือ Fourth Normal Form (BCNF หรือ 4 NF)
ดัชนีและข้อจำกัดใน SQL คืออะไร
ดัชนีเป็นหนึ่งในแนวคิดที่สำคัญที่สุดใน SQL ช่วยให้เราค้นหาแถวข้อมูลเฉพาะในฐานข้อมูลขนาดใหญ่ได้อย่างรวดเร็ว นอกจากนี้ยังช่วยเราบังคับใช้ข้อจำกัด ซึ่งเป็นกฎที่บอกฐานข้อมูลว่าควรปฏิบัติตนอย่างไรเมื่อตรงตามเงื่อนไขบางประการ
ดัชนีใช้เพื่อปรับปรุงประสิทธิภาพของคิวรีโดยเร่งการค้นหาข้อมูลในตาราง นอกจากนี้ยังใช้เพื่อปรับปรุงความสามารถในการอ่านข้อมูลในตาราง
ข้อจำกัดใช้เพื่อจำกัดประเภทของข้อมูลที่สามารถเข้าไปในตารางได้ สิ่งนี้ทำให้มั่นใจถึงความถูกต้องและความน่าเชื่อถือของข้อมูลในตาราง หากมีการละเมิดใดๆ ระหว่างข้อจำกัดและการดำเนินการกับข้อมูล การดำเนินการจะถูกยกเลิก
ข้อ จำกัด ของ SQL ที่ใช้กันทั่วไปคืออะไร?
ข้อ จำกัด ของ SQL ที่ใช้กันทั่วไปคือ:
- CREATE INDEX: คำสั่งนี้ช่วยให้แน่ใจว่าดัชนีถูกสร้างขึ้นสำหรับตารางเพื่อให้การดึงข้อมูลทำได้ง่ายขึ้น
- คีย์ต่างประเทศ: foreign key ของตารางต้องเชื่อมต่อตารางที่มีแอตทริบิวต์ที่คล้ายกัน
- ค่าเริ่มต้น: หากไม่มีการระบุค่าสำหรับฟิลด์ของคอลัมน์ ค่านี้จะระบุค่าเริ่มต้นสำหรับฟิลด์เหล่านั้น
- ไม่ซ้ำใคร: สิ่งนี้ระบุว่าแต่ละค่าในคอลัมน์ต้องไม่ซ้ำกัน
- คีย์หลัก: คีย์หลักของตารางต้องระบุแต่ละแถว
- NOT NULL: เงื่อนไขนี้ช่วยให้แน่ใจว่าคอลัมน์ไม่ยอมรับค่า NULL
- ตรวจสอบ: ตรวจสอบให้แน่ใจว่าทุกฟิลด์ของคอลัมน์สอดคล้องกับข้อกำหนดที่กำหนดไว้ล่วงหน้า
NULL เท่ากับ 0 ใน SQL หรือไม่
ค่า NULL ใน SQL หมายถึงค่าที่ไม่มีอยู่หรือกำหนดไว้ ช่องว่าง (' ') หรือศูนย์ (0) ไม่เท่ากับค่า NULL คุณไม่สามารถเปรียบเทียบค่า NULL กับค่าอื่นโดยใช้ตัวดำเนินการเปรียบเทียบ เช่น “=” หรือ”>” เนื่องจากไม่สามารถเท่ากับหรือไม่เท่ากับค่าอื่นๆ

จะป้องกันการโจมตีด้วยการฉีด SQL ได้อย่างไร
นอกจากการสแกนอย่างต่อเนื่องและการทดสอบการเจาะระบบแล้ว วิธีการรักษาความปลอดภัย เช่น การตรวจสอบความถูกต้องของอินพุต การล้างข้อมูล คำสั่งที่เตรียมไว้ และการสืบค้น SQL แบบกำหนดพารามิเตอร์นั้นมีความสำคัญต่อการป้องกันการโจมตีด้วยการฉีด SQL นอกจากนี้ การป้องกันอย่างรวดเร็วเช่นไฟร์วอลล์จะช่วยป้องกันฐานข้อมูล SQL
Dynamic SQL คืออะไร และคุณสามารถใช้งานได้เมื่อใด
Dynamic SQL เป็นคุณลักษณะที่คุณสามารถใช้เพื่อแก้ไขการสืบค้นข้อมูลของคุณในขณะดำเนินการตามเกณฑ์อย่างน้อยหนึ่งเกณฑ์ รวมถึงวันที่ปัจจุบัน เวลาปัจจุบัน หรือเกณฑ์อื่นๆ ที่คุณเลือก
คุณสามารถใช้ SQL แบบไดนามิกเพื่อเปลี่ยนการสืบค้นของคุณในลักษณะที่มีความหมายและช่วยให้คุณบรรลุเป้าหมายหรือเพียงเพิ่มทักษะการเขียนโปรแกรมของคุณ ไม่ว่าคุณจะกำลังสร้างแอปใหม่ ปรับปรุงฐานข้อมูล หรือเพิ่มฟังก์ชันคลังข้อมูลให้กับระบบการผลิตของคุณ คุณสามารถใช้ Dynamic SQL เพื่อทำทุกอย่างได้
คีย์ประเภทต่าง ๆ ใน SQL มีอะไรบ้าง
คีย์หลัก: แต่ละแถวหรือบันทึกในตารางฐานข้อมูลจะถูกระบุโดยไม่ซ้ำกันโดยฟิลด์ที่เรียกว่าคีย์หลัก ค่าที่ไม่ซ้ำต้องอยู่ในคีย์หลัก ช่องคีย์หลักต้องไม่มีค่า NULL มีคีย์หลักได้เพียงคีย์เดียวต่อตาราง ซึ่งประกอบด้วยฟิลด์ตั้งแต่หนึ่งฟิลด์ขึ้นไป
คีย์ต่างประเทศ: ฟิลด์หรือกลุ่มของฟิลด์ในตารางที่เกี่ยวข้องกับคีย์หลักของตารางอื่นเรียกว่าคีย์นอก ตารางที่มีคีย์หลักจะเรียกว่าตารางพาเรนต์ ในขณะที่ตารางที่มีคีย์ภายนอกจะเรียกว่าตารางย่อย
ซุปเปอร์คีย์: ซุปเปอร์คีย์คือคีย์หรือชุดคีย์ที่ช่วยระบุรายการในตาราง แม้ว่าจะไม่จำเป็นต้องระบุแอตทริบิวต์ทั้งหมดเพื่อระบุระเบียน แต่ซูเปอร์คีย์สามารถมีได้ตั้งแต่หนึ่งรายการขึ้นไป
คีย์ผู้สมัคร: คีย์ Candidate คือชุดย่อยของซูเปอร์คีย์ที่สามารถใช้เพื่อระบุเรกคอร์ดในฐานข้อมูลโดยยึดตามแอททริบิวต์ตั้งแต่หนึ่งรายการขึ้นไป ต่างจาก Superkey คุณสมบัติทั้งหมดของคีย์ตัวเลือกจะต้องมีประโยชน์ในการระบุเรกคอร์ด
คีย์ผสม: คีย์ผสมคือการรวมกันของสองคอลัมน์ขึ้นไปในตารางที่ใช้ระบุแถวในตาราง คีย์ผสมเป็นคีย์หลักที่มีแอตทริบิวต์หรือคอลัมน์อื่น
ดัชนีประเภทใดบ้างใน SQL
ต่อไปนี้เป็นประเภทของดัชนีในSQL
- ดัชนีแฮช
- หน่วยความจำที่ปรับให้เหมาะสม Non-clustered
- ดัชนีคลัสเตอร์
- ดัชนีที่ไม่ใช่คลัสเตอร์
- ดัชนีที่ไม่ซ้ำ
- ดัชนีร้านค้าคอลัมน์
- ดัชนีพร้อมคอลัมน์รวม
- ดัชนีในคอลัมน์ที่คำนวณ
- ดัชนีกรอง
- ดัชนีเชิงพื้นที่
- ดัชนี XML
- ดัชนีข้อความเต็ม
คุณหมายถึงอะไรโดยบัฟเฟอร์พูลและพูดถึงประโยชน์ของมัน
ใน SQL บัฟเฟอร์พูลยังเรียกว่าบัฟเฟอร์แคช ทรัพยากรทั้งหมดสามารถใช้บัฟเฟอร์พูลเพื่อจัดเก็บหน้าข้อมูลที่แคชไว้ เมื่อตั้งค่าอินสแตนซ์ของ SQL Server สามารถระบุขนาดของบัฟเฟอร์พูลได้ ขนาดของบัฟเฟอร์พูลจะกำหนดจำนวนหน้าที่สามารถเก็บได้
ต่อไปนี้เป็นประโยชน์ของบัฟเฟอร์พูล:
- ปรับปรุงประสิทธิภาพ I/O
- การเติบโตของปริมาณธุรกรรม
- การลดเวลาในการตอบสนองของ I/O
- ปรับปรุงประสิทธิภาพการอ่าน
คุณหมายถึงอะไรโดยการพึ่งพาและกล่าวถึงการพึ่งพาที่แตกต่างกัน
เมื่อวัตถุหนึ่งถูกอ้างอิงตามชื่อในคำสั่ง SQL ที่เก็บไว้ในวัตถุอื่น การขึ้นต่อกันระหว่างสองวัตถุจะถูกสร้างขึ้น คำว่า "เอนทิตีที่อ้างอิง" หมายถึงอ็อบเจ็กต์ที่ปรากฏในนิพจน์ SQL ในขณะที่คำว่า "เอนทิตีที่อ้างอิง" หมายถึงอ็อบเจ็กต์ที่มีนิพจน์ SQL
ต่อไปนี้เป็นการพึ่งพาประเภทต่างๆ ใน SQL
- หน้าที่การพึ่งพา
- พึ่งพาได้อย่างเต็มที่
- การพึ่งพาหลายค่า
- การพึ่งพาสกรรมกริยา
- การพึ่งพาบางส่วน
การรวม SQL คืออะไร และการรวม SQL ที่ได้รับความนิยมมากที่สุดคืออะไร
การรวมเป็นส่วนพื้นฐานของการจัดการข้อมูลใน SQL อนุญาตให้รวมตารางตั้งแต่สองตารางขึ้นไปเข้าด้วยกันเพื่อสร้างตารางเดียวที่สามารถใช้ในการวิเคราะห์ข้อมูลได้ นอกจากนี้ยังมีวิธีการกรองผลลัพธ์ตามเกณฑ์ในตารางเดียว ซึ่งอาจเป็นประโยชน์เมื่อพยายามค้นหาแถวหรือคอลัมน์เฉพาะในตารางขนาดใหญ่
JOIN ใน SQL มีสี่ประเภทหลัก: INNER JOIN, OUTER JOIN, CROSS JOIN และ SELF JOIN
ตัวดำเนินการตั้งค่าใน SQL คืออะไร?
ข้อมูลจากตารางประเภทเดียวกันตั้งแต่หนึ่งตารางขึ้นไปสามารถรวมกันได้โดยใช้ตัวดำเนินการชุด SQL set และตัวดำเนินการการรวม SQL มีความคล้ายคลึงกัน แต่มีข้อแตกต่างที่สำคัญบางประการ ตัวดำเนินการชุด SQL รวบรวมระเบียนจากแบบสอบถามที่แตกต่างกัน ในขณะที่ SQL รวมคอลัมน์จากตารางที่แตกต่างกัน เคียวรี SQL แบบผสมคือเคียวรีที่มีการดำเนินการตั้งค่า
บทสรุป
ฉันหวังว่าคำถามสัมภาษณ์ SQL เหล่านี้จะให้ภาพที่ดีเกี่ยวกับสิ่งที่คาดหวังจากมุมมองของการสัมภาษณ์ การเปิดรับสภาพแวดล้อมของ SQL มากขึ้นเป็นสิ่งจำเป็นในการถอดรหัสการสัมภาษณ์ SQL สิ่งนี้สามารถทำได้โดยการศึกษา SQL ในเชิงลึก ในการประเมินหลักการ SQL ที่สำคัญ คุณต้องฝึกคำถามสัมภาษณ์แบบสอบถาม SQL และอ่านต่อไป
หากคุณกำลังมองหาคำชี้แจงแบบสอบถาม SQL โปรดไปที่แผ่นข้อมูล SQL เพื่อรับข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับคำสั่ง SQL
เพื่อให้ได้ประสบการณ์ตรงจากการดำเนินการแบบสอบถาม SQL ให้ตรวจสอบแพลตฟอร์มการปฏิบัติของ SQL เหล่านี้