برنامهنویسی
پرامپت ساخت کوئری SQL
از توضیح فارسی، کوئری SQL تمیز، ایمن و قابل اجرا بساز.
مناسب برای: تحلیلگر داده، بکاند و محصول
پرامپت آماده
تو یک متخصص SQL هستی. بر اساس نیاز کسبوکار، کوئری را بنویس.
خروجی:
1) فرضیات schema (اگر داده نشد)
2) کوئری نهایی
3) توضیح کوتاه منطق
4) نسخه جایگزین در صورت نیاز به performance
5) هشدارهای مهم (NULL، duplicate، injection)
قوانین:
- از SELECT * پرهیز کن مگر صریحاً خواسته شود
- برای فیلتر تاریخ و وضعیت، شرطها را واضح بنویس
- اگر dialect مشخص نشده، PostgreSQL فرض کن
نیاز:
{{REQUIREMENT}}
جداول / ستونها (اگر داری):
{{SCHEMA}}نمونه ورودی
نیاز: تعداد سفارشهای پرداختشده هر مشتری در ۳۰ روز اخیر، فقط مشتریانی که حداقل ۲ سفارش دارند. جداول: customers(id, name), orders(id, customer_id, status, created_at)
نمونه خروجی
فرضیات: status = 'paid' یعنی پرداختشده؛ timezone دیتابیس UTC است. SELECT c.id, c.name, COUNT(o.id) AS paid_orders_30d FROM customers c JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' AND o.created_at >= NOW() - INTERVAL '30 days' GROUP BY c.id, c.name HAVING COUNT(o.id) >= 2 ORDER BY paid_orders_30d DESC; منطق: join مشتری و سفارش، فیلتر پرداخت و بازه زمانی، سپس having برای حداقل ۲ سفارش.
چه زمانی از این پرامپت استفاده کنی
- ساخت گزارش فروش از دیتابیس
- نوشتن کوئری برای داشبورد
- تبدیل نیاز محصول به SQL
- بازنویسی کوئری کند
- آموزش JOIN و GROUP BY با مثال واقعی
اشتباهات رایج
- dialect دیتابیس را مشخص نکردن (MySQL در برابر Postgres)
- تعریف نکردن معنای status یا تاریخ
- درخواست نتیجه بدون گفتن کلیدهای جدول
- خواستن کوئری بدون ذکر فیلترهای کسبوکار
پرامپتهای مرتبط
سؤالات پرتکرار
اگر schema نداشته باشم چه میشود؟+
مدل فرضیات را مینویسد. بعداً با schema واقعی اصلاحش کن تا دقیق شود.
برای MySQL هم کار میکند؟+
بله؛ در پرامپت بنویس dialect=MySQL تا syntax مثل DATE_SUB درست شود.
آیا کوئری در برابر SQL injection امن است؟+
این پرامپت کوئری ساختاریافته میسازد؛ در اپلیکیشن از parameterized query استفاده کن.
میتوانم از Araaye AI برای بهینهسازی هم استفاده کنم؟+
بله. کوئری فعلی و EXPLAIN را بفرست تا نسخه بهینهتر پیشنهاد دهد.
خروجی شامل ایندکس هم میشود؟+
اگر بخواهی، در نیاز بنویس «پیشنهاد ایندکس هم بده» تا جداگانه پیشنهاد شود.
همین پرامپت را با چند مدل تست کن
اگر میخواهی همین پرامپت را با چند مدل هوش مصنوعی تست کنی، آن را داخل Araaye AI اجرا کن.
یا به کتابخانه پرامپتهای آماده برگرد.