"

نوشتن پرس‌وجوهای SQL با فاصله در نام ستون‌ها,مزیت استفاده از فاصله در نام ستون‌ها ,مزایای حذف فاصله از نام ستون‌ها

نوشتن پرس‌وجوهای SQL با فاصله در نام ستون‌ها

در SQL برای ستون‌های دارای فاصله باید از براکت یا نقل‌قول مناسب استفاده کرد تا پرس‌وجوها بدون خطا اجرا شوند.

تیم تحریریه
4
0
27 تیر 1405
لینک کوتاه

نوشتن پرس‌وجوهای SQL با فاصله در نام ستون‌ها

در طراحی پایگاه داده، یکی از مهم‌ترین اصول، انتخاب نام مناسب برای جداول و ستون‌ها است.
با این حال، در بسیاری از پروژه‌های قدیمی یا سیستم‌هایی که برای کاربران نهایی طراحی شده‌اند، ممکن است نام ستون‌ها شامل فاصله (Space) باشند؛ مانند First Name، Employee Name  یا  Product Price  .
اگرچه استفاده از فاصله در نام ستون‌ها از نظر SQL مجاز است، اما برای نوشتن پرس‌وجوها باید قواعد خاصی رعایت شود، در غیر این صورت پایگاه داده قادر به تشخیص صحیح نام ستون نخواهد بود.


نوشتن پرس‌وجوهای SQL با فاصله در نام ستون‌ها




چرا استفاده از فاصله در نام ستون‌ها مشکل ایجاد می‌کند؟

مفسر SQL فاصله را به‌عنوان جداکننده کلمات در نظر می‌گیرد.
بنابراین اگر ستونی با نام First Name داشته باشیم و آن را بدون علامت مخصوص بنویسیم، SQL تصور می‌کند منظور دو عبارت جداگانه یعنی  First و Name است.

به همین دلیل باید از علائم مشخصی برای معرفی نام کامل ستون استفاده شود.

 

استفاده از براکت ([ ]) در SQL Server

در  SQL Server  رایج‌ترین روش استفاده از براکت است.

 

نمونه جدول:

First Name  Last Name Age
 Ali Ahmadi 25

 

برای دریافت اطلاعات:

 

 

SELECT [First Name], [Last Name]

FROM Employees;

 

در این حالت SQL متوجه می‌شود که  First Name  یک نام ستون واحد است.





🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!




 

 استفاده از کوتیشن (`) در MySQL

در MySQL معمولاً از Backtick استفاده می‌شود.

 

SELECT `First Name`

FROM Employees;

 

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

 

 

 

 استفاده از نقل‌قول ("") در PostgreSQL و Oracle

در PostgreSQL و Oracle معمولاً از Double Quote استفاده می‌شود.

 

 

SELECT "First Name"

FROM Employees;

 

این روش باعث می‌شود نام ستون دقیقاً همان‌طور که تعریف شده شناسایی شود.

 

 

مثال با شرط WHERE

فرض کنید جدولی با نام Employees داریم.

SELECT [First Name], Salary

FROM Employees

WHERE [First Name] = 'Ali';

 

در این مثال ستون دارای فاصله هم در بخش SELECT و هم در WHERE داخل براکت قرار گرفته است.

 

 

استفاده در ORDER BY

SELECT [First Name], Salary

FROM Employees

ORDER BY [First Name];

 

 

 

 

استفاده در GROUP BY

 

 

SELECT [Department Name], COUNT(*)

FROM Employees

GROUP BY [Department Name];

 

 

 

 

استفاده از Alias

گاهی برای ساده‌تر شدن خروجی از Alias استفاده می‌شود.

 

SELECT

[First Name] AS FirstName,

[Last Name] AS LastName

FROM Employees;

در خروجی ستون‌ها بدون فاصله نمایش داده می‌شوند.

 

استفاده در INSERT

 

INSERT INTO Employees

([First Name], [Last Name])

VALUES

('Ali', 'Ahmadi');

 

 

 

استفاده در UPDATE

 

 

UPDATE Employees

SET [First Name] = 'Reza'

WHERE EmployeeID = 1;

 

 استفاده در DELETE

 

DELETE FROM Employees

WHERE [First Name] = 'Ali';

 

 

مزیت استفاده از فاصله در نام ستون‌ها 

اگرچه اکثر سیستم‌های مدیریت پایگاه داده از این قابلیت پشتیبانی می‌کنند، اما بسیاری از متخصصان استفاده از فاصله را پیشنهاد نمی‌کنند.

مزیت استفاده از آن عبارت‌اند از:

  • افزایش احتمال خطا در نوشتن Query

  • کاهش خوانایی کد

  • نیاز به استفاده مداوم از براکت یا کوتیشن

  • ناسازگاری با برخی ابزارها و ORMها

  • دشوارتر شدن نگهداری پروژه



مزیت استفاده از فاصله در نام ستون‌ها 

 

 

بهترین روش نام‌گذاری ستون‌ها

بهتر است به جای فاصله از یکی از روش‌های استاندارد استفاده شود.

  • Camel Case

 

FirstName

EmployeeName

ProductPrice

 

 

  • Pascal Case

 

 

FirstName

LastName

 

  • Snake Case

 

 

first_name

employee_name

 

 

این روش‌ها در اکثر پروژه‌های حرفه‌ای استفاده می‌شوند و نیاز به براکت یا نقل‌قول ندارند.

 

تفاوت نام واقعی و Alias

گاهی ممکن است نام واقعی ستون دارای فاصله نباشد اما برای نمایش به کاربر از Alias استفاده شود.

 

SELECT

FirstName AS [First Name],

LastName AS [Last Name]

FROM Employees;

در این حالت تنها عنوان خروجی دارای فاصله است و ساختار پایگاه داده همچنان استاندارد باقی می‌ماند.

 

مزایای حذف فاصله از نام ستون‌ها

استفاده از نام‌های بدون فاصله مزایای زیادی دارد:

  • نوشتن ساده‌تر Queryها

  • افزایش خوانایی کد

  • سازگاری بیشتر با زبان‌های برنامه‌نویسی

  • کاهش احتمال خطا

  • نگهداری آسان‌تر پروژه

  • هماهنگی با استانداردهای توسعه نرم‌افزار




مزایای حذف فاصله از نام ستون‌ها

 

اشتباهات رایج هنگام کار با ستون‌های دارای فاصله

برخی از خطاهای متداول هنگام کار با ستون‌های دارای فاصله عبارت‌اند از:

  •  نوشتن نام ستون بدون براکت یا نقل‌قول
  • استفاده از علامت اشتباه برای سیستم مدیریت پایگاه داده
  • فراموش کردن براکت در بخش‌های WHERE، GROUP BY یا ORDER BY
  • استفاده از فاصله در نام ستون‌های جدید بدون نیاز

 

نتیجه‌گیری

استفاده از فاصله در نام ستون‌های SQL امکان‌پذیر است، اما برای دسترسی به این ستون‌ها باید از علائم مناسب مانند  []  در SQL Server،  ` `  در MySQL یا  ""  در PostgreSQL و Oracle استفاده شود.
هرچند این قابلیت در بسیاری از سیستم‌های مدیریت پایگاه داده پشتیبانی می‌شود، اما در پروژه‌های حرفه‌ای معمولاً توصیه می‌شود از نام‌های استاندارد مانند FirstName  یا  first_name استفاده شود.
رعایت این اصول باعث ساده‌تر شدن پرس‌وجوها، افزایش خوانایی کد، کاهش خطاها و بهبود نگهداری پروژه در بلندمدت خواهد شد.

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “نوشتن پرس‌وجوهای SQL با فاصله در نام ستون‌ها” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو