ตัวอย่าง SQL
JOIN query Query สรุปผล Query เปลี่ยนข้อมูล
SQL โหมด จัดรูปแบบ ย่อ
วิเคราะห์ SQL ตรวจรูปแบบ query ตารางที่อ้างถึง clause และความเสี่ยงก่อนคัดลอก SQL ที่จัดรูปแล้วไป run
WHERE: ใช่ LIMIT: ไม่ใช่ JOIN: ใช่ GROUP BY: ไม่ใช่ ORDER BY: ใช่ RETURNING: ไม่ใช่
ตารางที่อ้างถึง Reference ลักษณะตารางชุดแรกที่พบจาก FROM, JOIN, UPDATE, INSERT หรือ DELETE
users orders
บันทึกตรวจสอบ ไม่พบ semicolon ท้ายคำสั่ง ถ้า SQL client ต้องการให้เพิ่มเข้าไป SELECT ไม่มี LIMIT หรือ aggregation เพิ่ม limit ก่อนตรวจ production แบบ ad hoc รายงาน review SQL
คัดลอกรายงาน handoff ที่มีรูปแบบ query ตาราง clause คำเตือน และ checklist การ run ที่ปลอดภัย
คัดลอกรายงาน SQLบันทึก review
ไม่พบ semicolon ท้ายคำสั่ง ถ้า SQL client ต้องการให้เพิ่มเข้าไป SELECT ไม่มี LIMIT หรือ aggregation เพิ่ม limit ก่อนตรวจ production แบบ ad hoc Checklist review
Run query ใน staging หรือ session ที่ครอบด้วย transaction ก่อน production ตรวจว่า WHERE, LIMIT และ JOIN keys ตรงกับ row set ที่ตั้งใจ ใช้ EXPLAIN หรือ query plan สำหรับ SELECT หรือ JOIN ที่หนัก UPDATE, DELETE, INSERT และ schema changes ควรอยู่ใน migration หรือ rollback plan ที่ review แล้ว ลบ credentials, customer identifiers และ production literals ก่อนแชร์ # รายงาน review SQL
- ตรวจเมื่อ: เวลา copy ใน browser
- โหมด output: จัดรูปแบบ
- ชนิด query: SELECT query
- Statements: 1
- ตารางที่อ้างถึง: 2
- JOIN clauses: 1
- Subqueries: 0
- Parameters: 0
- Field อ่อนไหว: 0
- สถานะ WHERE: ใช่
- สถานะ LIMIT: ไม่ใช่
- ความเสี่ยงเปลี่ยนข้อมูลหรือ schema: ไม่ใช่
- ไบต์อินพุต: 113
- จำนวนบรรทัด: 10
- Raw SQL ไม่รวมในรายงานนี้ หากจำเป็นให้แนบ formatted query ที่ปิดข้อมูลแล้วแยกต่างหาก
## ตารางที่อ้างถึง
- users
- orders
## บันทึก review
- ไม่พบ semicolon ท้ายคำสั่ง ถ้า SQL client ต้องการให้เพิ่มเข้าไป
- SELECT ไม่มี LIMIT หรือ aggregation เพิ่ม limit ก่อนตรวจ production แบบ ad hoc
## Checklist review
- Run query ใน staging หรือ session ที่ครอบด้วย transaction ก่อน production
- ตรวจว่า WHERE, LIMIT และ JOIN keys ตรงกับ row set ที่ตั้งใจ
- ใช้ EXPLAIN หรือ query plan สำหรับ SELECT หรือ JOIN ที่หนัก
- UPDATE, DELETE, INSERT และ schema changes ควรอยู่ใน migration หรือ rollback plan ที่ review แล้ว
- ลบ credentials, customer identifiers และ production literals ก่อนแชร์ ผลลัพธ์ จัดรูปแบบ ผลลัพธ์พร้อมคัดลอก
คัดลอกselect
u.id,
o.total
from
users u
join orders o on o.user_id = u.id
where
o.status = 'paid'
order by
o.created_at desc