ใน SQL คุณเคยใช้ประเภทใด joins
และอธิบายวิธีการทำงาน
คำตอบ:
INNER JOIN
: ส่งกลับแถวที่มีข้อมูลที่ตรงกันจากทั้งสองตารางLEFT JOIN
: ส่งกลับแถวทั้งหมดจากตารางด้านซ้ายและแถวที่ตรงกันจากตารางด้านขวาRIGHT JOIN
: คืนค่าแถวทั้งหมดจากตารางด้านขวาและแถวที่ตรงกันจากตารางด้านซ้ายFULL JOIN
: ส่งกลับแถวทั้งหมดจากทั้งสองตาราง รวมทั้งแถวที่ไม่ตรงกัน
อธิบายแนวคิดของกรดใน SQL และบทบาทในการจัดการธุรกรรม
คำตอบ: ACID ย่อมาจาก Atomicity, Consistency, Isolation, Durability
. คุณสมบัติเหล่านี้เป็นคุณสมบัติที่จำเป็นในการจัดการธุรกรรมใน SQL:
Atomicity
ตรวจสอบให้แน่ใจว่าธุรกรรมได้รับการประมวลผลอย่างสมบูรณ์หรือไม่ประมวลผลเลยConsistency
ตรวจสอบให้แน่ใจว่าข้อมูลต้องเป็นไปตามกฎ ข้อจำกัด และเงื่อนไขที่กำหนดไว้Isolation
ทำให้มั่นใจได้ว่าธุรกรรมที่เกิดขึ้นพร้อมกันจะไม่รบกวนซึ่งกันและกันDurability
ทำให้มั่นใจได้ว่าเมื่อการทำธุรกรรมเสร็จสิ้น การเปลี่ยนแปลงในฐานข้อมูลจะได้รับการบันทึกอย่างปลอดภัยและถาวร
ความแตกต่างระหว่าง ROW_NUMBER(), RANK(), DENSE_RANK()
ฟังก์ชันใน SQL คืออะไร?
คำตอบ: ROW_NUMBER(), RANK(), DENSE_RANK()
ทั้งหมดใช้สำหรับกำหนดหมายเลขแถวในผลลัพธ์ของคิวรี แต่มีความแตกต่างดังต่อไปนี้:
ROW_NUMBER()
: กำหนดตัวเลขต่อเนื่องให้กับแถวในผลลัพธ์คิวรี โดยไม่พิจารณาถึงรายการที่ซ้ำกันRANK()
: กำหนดตัวเลขให้กับแถวในผลการสืบค้นและข้ามหมายเลขถัดไปในกรณีที่เสมอกันDENSE_RANK()
: กำหนดตัวเลขให้กับแถวในผลการสืบค้นและไม่ข้ามหมายเลขถัดไปในกรณีที่เสมอกัน
วิธีการใช้งาน window functions
ใน SQL พร้อมยกตัวอย่าง
คำตอบ: Window functions
อนุญาตให้ทำการคำนวณในชุดของแถวที่เกี่ยวข้องโดยไม่เปลี่ยนผลลัพธ์ของคิวรีหลัก ตัวอย่างเช่น เราสามารถใช้ฟังก์ชันหน้าต่างเพื่อคำนวณผลรวมที่กำลังทำงานอยู่หรือดึงแถว N แถวบนสุดภายในชุดผลลัพธ์
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
วิธีใช้ Regular Expression ใน SQL สำหรับการจับคู่รูปแบบ
คำตอบ: นิพจน์ทั่วไปใน SQL ใช้สำหรับการค้นหารูปแบบข้อความที่ซับซ้อน มักใช้กับ LIKE
ตัวดำเนินการหรือฟังก์ชันเช่น REGEXP_LIKE
(ใน Oracle) หรือ REGEXP_MATCHES
(ใน PostgreSQL)
SELECT * FROM Employees WHERE LastName LIKE '%son%';
วิธีใช้ฟังก์ชัน JSON ใน SQL เพื่อทำงานกับข้อมูล JSON
คำตอบ: ฟังก์ชัน JSON ใน SQL ช่วยให้สามารถสอบถาม แทรก อัปเดต และลบข้อมูลในรูปแบบ JSON ในฐานข้อมูลได้
ตัวอย่างเช่น เราสามารถใช้ฟังก์ชันอย่าง JSON_VALUE, JSON_QUERY, JSON_MODIFY(ใน SQL Server) หรือตัวดำเนินการ เช่น ->, ->>, #>, #>> ฯลฯ(ใน PostgreSQL) เพื่อจัดการคุณสมบัติ JSON
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
เทคนิคขั้นสูงสำหรับการเพิ่มประสิทธิภาพการสืบค้น SQL และการปรับแต่งประสิทธิภาพฐานข้อมูล
คำตอบ: เพื่อเพิ่มประสิทธิภาพการสืบค้น SQL และประสิทธิภาพของฐานข้อมูล เราสามารถใช้เทคนิคต่างๆ เช่น:
- การใช้ดัชนีสำหรับคอลัมน์ที่สอบถามบ่อย
- การเพิ่มประสิทธิภาพ
JOIN
และWHERE
ข้อกำหนดสำหรับการดึงข้อมูลอย่างมีประสิทธิภาพ - ใช้ฟังก์ชันหน้าต่างและการแบ่งหน้าเมื่อจำเป็น
- หลีกเลี่ยง
SELECT
* เพื่อดึงเฉพาะคอลัมน์ที่จำเป็น - การใช้คำใบ้ในบางกรณี
- สร้างความมั่นใจในการปรับข้อมูลให้เป็นมาตรฐานและการลบรายการที่ซ้ำกัน
- ใช้เครื่องมือตรวจสอบประสิทธิภาพเพื่อติดตามและปรับแต่งฐานข้อมูล
อธิบายวิธีการใช้ SET
คำสั่ง (UNION, INTERSECT, EXCEPT)
ใน SQL
คำตอบ: SET
การดำเนินการ (UNION, INTERSECT, EXCEPT)
ใช้เพื่อรวมและจัดการชุดผลลัพธ์ของข้อความค้นหาต่างๆ
UNION
: รวมผลลัพธ์ของการค้นหาสองรายการขึ้นไปเป็นชุดข้อมูลเดียวและลบรายการที่ซ้ำกันINTERSECT
: ส่งกลับแถวที่ปรากฏในชุดผลลัพธ์การค้นหาทั้งสองชุดEXCEPT
: ส่งกลับแถวที่ปรากฏในชุดผลลัพธ์คิวรีชุดแรก แต่ไม่อยู่ในชุดที่สอง
วิธีใช้ฟังก์ชันเคียวรีเหมือน LEAD, LAG, FIRST_VALUE, LAST_VALUE
ใน SQL
คำตอบ: ฟังก์ชันการสืบค้นข้อมูลเช่น LEAD, LAG, FIRST_VALUE, LAST_VALUE
ใช้เพื่อดึงค่าจากแถวที่เกี่ยวข้องกันภายในผลลัพธ์การสืบค้นข้อมูลเดียวกัน
LEAD
: รับค่าของคอลัมน์จากแถวถัดไปในผลลัพธ์ของคิวรีLAG
: รับค่าของคอลัมน์จากแถวก่อนหน้าในผลลัพธ์ของคิวรีFIRST_VALUE
: ดึงค่าแรกของคอลัมน์ในผลลัพธ์แบบสอบถามLAST_VALUE
: ดึงค่าสุดท้ายของคอลัมน์ในผลลัพธ์แบบสอบถาม