ใน 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: ดึงค่าสุดท้ายของคอลัมน์ในผลลัพธ์แบบสอบถาม

