devtool.co.il כלים לפיתוח — בעברית
פורמטרים SQL Formatter

פורמטר 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 יפה.

כלים קשורים