กวดวิชาSQL

SQL HOME บทนำ SQL ไวยากรณ์ SQL SQL Select SQL Select Distinct SQL ที่ไหน SQL และหรือไม่ใช่ คำสั่ง SQL โดย SQL แทรกลงใน ค่าว่างของ SQL SQL Update SQL Delete SQL Select Top SQL Min และ Max SQL Count, Avg, Sum SQL Like SQL Wildcards SQL ใน SQL ระหว่าง นามแฝงของ SQL การรวม SQL SQL Inner Join SQL เข้าร่วมด้านซ้าย SQL Right Join SQL เข้าร่วมแบบเต็ม เข้าร่วมด้วยตนเองของ SQL SQL Union กลุ่ม SQL โดย SQL มี SQL Exists SQL ใด ๆ ทั้งหมด SQL Select Into แทรก SQL ลงใน Select กรณี SQL ฟังก์ชัน SQL Null กระบวนงานที่เก็บไว้ของ SQL ข้อคิดเห็นของ SQL ตัวดำเนินการ SQL

ฐานข้อมูลSQL

SQL สร้าง DB SQL Drop DB ฐานข้อมูลสำรองของ SQL SQL สร้างตาราง SQL Drop Table SQL Alter Table ข้อจำกัดของ SQL SQL ไม่ใช่ Null SQL Unique คีย์หลักของ SQL คีย์ต่างประเทศของ SQL SQL Check SQL Default ดัชนี SQL SQL Auto Increment SQL Dates มุมมอง SQL การฉีด SQL SQL Hosting ประเภทข้อมูล SQL

การอ้างอิงSQL

คีย์เวิร์ด SQL ฟังก์ชัน MySQL ฟังก์ชันเซิร์ฟเวอร์ SQL ฟังก์ชัน MS Access SQL Quick Ref

ตัวอย่างSQL

ตัวอย่าง SQL แบบทดสอบ SQL แบบฝึกหัด SQL ใบรับรอง SQL

คำชี้แจงกรณี SQL


คำชี้แจงกรณี SQL

คำCASEสั่งจะผ่านเงื่อนไขและส่งกลับค่าเมื่อตรงตามเงื่อนไขแรก (เช่นคำสั่ง if-then-else) ดังนั้น เมื่อเงื่อนไขเป็นจริง เงื่อนไขนั้นจะหยุดอ่านและส่งคืนผลลัพธ์ หากไม่มีเงื่อนไขใด ๆ เป็นจริง จะส่งกลับค่าในส่วนELSEคำสั่ง

หากไม่มีELSEส่วนใดและไม่มีเงื่อนไขใดเป็นจริง จะส่งกลับค่า NULL

ไวยากรณ์กรณี

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

ฐานข้อมูลสาธิต

ด้านล่างนี้คือการเลือกจากตาราง "OrderDetails" ในฐานข้อมูลตัวอย่าง Northwind:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40


ตัวอย่างกรณี SQL

SQL ต่อไปนี้จะผ่านเงื่อนไขและส่งกลับค่าเมื่อตรงตามเงื่อนไขแรก:

ตัวอย่าง

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;

SQL ต่อไปนี้จะสั่งซื้อลูกค้าตามเมือง อย่างไรก็ตาม หากเมืองเป็น NULL ให้เรียงลำดับตามประเทศ:

ตัวอย่าง

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);