ابوالفضل وکیلی
ابوالفضل وکیلی
خواندن ۴ دقیقه·۵ سال پیش

خوشنویسی SQL Query

راه های مختلفی برای تنظیم قالب بندی یا استایل کوئری وجود دارد. بسیاری از کوئری نویسان حرفه ای از استایل کوئری مخصوص به خود تبعیت می نمایند.
تا زمانی که تنها شما مسئول کد باشید ممکن است مشکلی به وجود نیاید اما همین که مسئولیت نگهداری کد به دوستتان واگذار گردد ممکن است بعد از خواندن کوئریتان این جمله معروف را بگوید:

چی نوشتی لعنتی؟!!!

در نوشته امروز با ارائه چند راه کار ساده سعی خواهیم نمود تعداد دفعات تکرار جمله بالا را کاهش دهیم!

از همراهیتان صمیمانه سپاسگزارم ...




به منظور نام گذاری جداول از AS استفاده کنید.

استفاده از الیاس یا AS ها در خیلی از حالات منجر به بالا رفتن خوانایی کد می شود. به عنوان مثال در صورتی که نام جدول شما طولانی باشد، می توانید با استفاده از این کلمه کلیدی با مخفف سازی نام جدول، خوانایی کد را بالا ببرید.

از Alignment های مناسب استفاده نمایید.

  • سعی کنید کلمات کلیدی sql را در یک خط جدید بنویسید.
  • از ایندنت ها استفاده کنید.
  • نام هر ستون را در خطی جدید درج نمایید.
  • قبل و بعد از هر اپراتور( مثل اپراتور مساوی در مثال زیر ) space بزنید.
SELECT p.PersonId, p.FirstName, p.LastName, c.Name FROM Person AS p JOIN City AS c ON p.CityId = c.CityId;

به اندازه مناسب از کامنت گذاری استفاده کنید.

از نوشتن کامنت های زیاد در کد خودداری کنید. هر ستونی که نیاز به توضیح داشته باشد، بالای آن ستون کامنت ها را بنویسید.

SELECT p.PersonId, p.FirstName, p.LastName, /* Name column is the name of the city: */ p.Name, FROM Person AS p WHERE p.Name = 'Mashhad';

همچنین می توانید از کامنت های یک خطی با کاراکتر های −− استفاده کنید.

SELECT -- we have to delete this column p.PersonId, p.FirstName, p.LastName, p.Name FROM Person AS p;

کلمات کلیدی FROM, WHERE, ORDER BY, GROUP BY, HAVING را بدون ایندنت بنویسید.

SELECT p.PersonId, p.FirstName, p.LastName, p.Name, FROM Person AS p WHERE p.Name = 'Mashhad';

اگر چندین عبارت شرطی وجود داشته باشد، هر شرط را در خط جدیدی بنویسید.

SELECT p.PersonId, p.FirstName, p.LastName, p.Name FROM Person AS p WHERE p.Name = 'New York' OR p.Name = 'Chicago';

کد استایل برای Join ها

اگر می خواهید چندین جدول را به هم join کنید، INNER JOIN و LEFT JOIN و ... را در خط جدید بنویسید. همچنین برای اپراتور On از ایندنت ها استفاده کنید.

SELECT p.PersonId, p.FirstName, p.LastName, c.Name FROM Person AS p JOIN City AS c ON p.CityId = c.CityId;

کد استایل برای CASE ها

هر شرطی را در خطی جدید با استفاده از ایندنت ها بنویسید.

SELECT p.PersonId, p.FirstName, p.LastName, CASE WHEN p.Age < 18 THEN 'below 18' WHEN p.Age >= 18 THEN '18 or more' END AS Age FROM Person AS p;


امیدوارم نوشته امروز برایتان مفید بوده باشد.

با اقتباس از اینجا

sqltsql
instagram : @a_vakily7
شاید از این پست‌ها خوشتان بیاید