פורמטר SQL
עיצוב שאילתות SQL לקריאות ותחזוקה קלות
למה לעצב SQL?
שאילתה SQL שנכתבה בשורה אחת לוקח דקות להבין. אותה שאילתה עם הזחות נכונות ושבירת שורות נקראת בעשר שניות. כשמדובר ב-code review, דיבוג, או העברה לעמית צוות — הפרש של דקות לדקה הופך למשמעותי מאוד.
מה הכלי הזה עושה?
- מוסיף שבירות שורה לפני
SELECT,FROM,WHERE,JOIN,GROUP BYוכו׳ - מהזיח נכון subqueries ו-CTEs (Common Table Expressions)
- מיישר מילות מפתח למקרה אחיד (UPPER / lower)
- מעצב רשימות עמודות ב-SELECT לעמודה אחת לשורה כשצריך
- שומר על פסיקים, מרכאות, והערות
ניבים של SQL
SQL לא ממש אחיד בין מסדי נתונים. MySQL משתמש ב-backticks למזהים, PostgreSQL במרכאות כפולות, SQL Server בסוגריים מרובעים. הבחר בניב הנכון כדי שהפורמטר יכיר את כל מילות המפתח הספציפיות (LIMIT ב-MySQL, TOP ב-SQL Server, ILIKE ב-PostgreSQL).
עצות לכתיבת SQL קריא
טבלה → שם קצר
FROM users AS u JOIN orders AS o ON u.id = o.user_id — aliases קצרים של 1-2 אותיות מקלים על קריאה כשיש הרבה JOINs.
WHERE לפי חשיבות
תנאי הסינון החזק ביותר (שמוריד את כמות השורות הכי הרבה) בדרך כלל עדיף שיהיה ראשון — זה גם קריא יותר וגם לפעמים עוזר לאופטימייזר.
הערות על subqueries
לכל subquery מסובך כדאי להוסיף -- מה זה עושה בשורה מעליו. אחרי 3 חודשים אתה לא תזכור למה כתבת אותו.
CTE עדיף על subquery מקונן
במקום לקנן שלוש שאילתות אחת בתוך השנייה, WITH a AS (...), b AS (...) SELECT ... FROM a JOIN b. הקוד נקרא שורה-אחר-שורה, והפורמטר יודע לעצב CTEs יפה.