نوشتن پرسوجوهای SQL با فاصله در نام ستونها
در SQL برای ستونهای دارای فاصله باید از براکت یا نقلقول مناسب استفاده کرد تا پرسوجوها بدون خطا اجرا شوند.
نوشتن پرسوجوهای SQL با فاصله در نام ستونها
در طراحی پایگاه داده، یکی از مهمترین اصول، انتخاب نام مناسب برای جداول و ستونها است.
با این حال، در بسیاری از پروژههای قدیمی یا سیستمهایی که برای کاربران نهایی طراحی شدهاند، ممکن است نام ستونها شامل فاصله (Space) باشند؛ مانند First Name، Employee Name یا Product Price .
اگرچه استفاده از فاصله در نام ستونها از نظر 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 با فاصله در نام ستونها” اشتراک بزارید
برای ارسال نظر لطفا ورود یا ثبت نام کنید