20 คำถามและคำตอบสัมภาษณ์ SQL ที่พบบ่อย [2022]

เผยแพร่แล้ว: 2022-08-18

Structured 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 เหล่านี้