بخش اول: ورود به جهان قدرتمند PostgreSQL
بخش دوم: جادوی جستجو و کوئری‌نویسی
بخش سوم: بهینه‌سازی و ساختارهای پیشرفته
بخش چهارم: امنیت، پشتیبانی، عملکرد و نگه‌داری
کارگاه‌ها و مثال‌های کاربردی

انتخاب ستون‌ها و استفاده از نام‌های مستعار (Aliases)

در این بخش از دوره‌ی آموزش DQL در PostgreSQL می‌خواهیم درباره‌ی موضوع مهم و پایه‌ای انتخاب ستون‌ها و استفاده از نام‌های مستعار (Aliases) صحبت کنیم – که در همه‌ی Queryها، چه ساده و چه پیچیده، نقش کلیدی دارد.
همچنین در انتها چند مثال جالب از SELECT بدون FROM را خواهیم دید تا با جنبه‌های مختلف دستور Select به صورت عملی آشنا شویم .


🧩 بخش ۱: انتخاب ستون‌ها در PostgreSQL

دستور SELECT برای مشخص کردن ستون‌هایی است که می‌خواهیم از جدول یا منبع داده مشاهده کنیم.

SELECT first_name, last_name, country
FROM customers;

در این مثال از جدول customers فقط ستون‌های first_name, last_name, و country را نمایش می‌دهیم.
اگر بخواهیم تمام ستون‌ها را انتخاب کنیم:

SELECT *
FROM customers;

🔹 علامت * یعنی “همه‌ی ستون‌ها”.


🏷️ بخش ۲: استفاده از نام‌های مستعار (Aliases)

در SQL می‌توانیم برای ستون‌ها یا جداول نام مستعار تعیین کنیم تا در خروجی خواناتر باشند یا در Queryهای پیچیده‌تر از نام‌های کوتاه‌تر استفاده کنیم.

🎯 نام مستعار برای ستون‌ها

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

SELECT 
  first_name AS "نام",
  last_name AS "نام خانوادگی",
  country AS "کشور"
FROM customers;

🔸 اگر نام مستعار شامل فاصله یا حروف بزرگ باشد، باید داخل " " قرار گیرد.
🔸 در PostgreSQL، اگر از کوتیشن استفاده نکنید، نام نهایی به حروف کوچک تبدیل می‌شود.

مثلاً:

SELECT first_name AS FullName FROM customers;

در خروجی ستون با نام fullname (حروف کوچک) نمایش داده می‌شود مگر اینکه بنویسیم "FullName".


🎯 نام مستعار برای جداول

برای کوتاه‌سازی Queryها، می‌توانیم برای جدول هم Alias تعیین کنیم:

SELECT c.first_name, c.last_name, o.order_id
FROM customers AS c
JOIN orders AS o ON c.customer_id = o.customer_id;

در اینجا:

  • c = alias برای customers
  • o = alias برای orders
    و حالا می‌توانیم در ادامه‌ی Query از این نام‌های کوتاه‌تر استفاده کنیم.

💡 نکته مهم: Alias در ORDER BY و GROUP BY

وقتی در خروجی یک ستون محاسبه‌شده داریم، می‌توانیم در قسمت‌های دیگر از alias استفاده کنیم:

SELECT 
  country,
  COUNT(*) AS total_customers
FROM customers
GROUP BY country
ORDER BY total_customers DESC;

در اینجا total_customers فقط در قسمت SELECT تعریف شده، ولی چون PostgreSQL از alias در ORDER BY پشتیبانی می‌کند، می‌توان آن را مستقیماً استفاده کرد ✅


🧮 بخش ۳: انتخاب مقادیر و محاسبات بدون جدول

یکی از قابلیت‌های جذاب SQL این است که می‌توان از SELECT حتی بدون استفاده از جدول بهره برد.
این ویژگی برای تمرین، تست توابع، و انجام محاسبات سریع بسیار مفید است.

🔹 انتخاب مقدار ثابت

SELECT 2;
SELECT 'PostgreSQL';
SELECT 'Ali' AS name, 28 AS age;

🔹 انجام محاسبات ریاضی

SELECT 5 * 3 AS result;          -- 15
SELECT (10 + 5) / 3 AS average;  -- 5

🔹 ترکیب رشته‌ها

SELECT 'Hello' || ' ' || 'World' AS "Message";

🔸 در PostgreSQL عملگر || برای چسباندن رشته‌ها استفاده می‌شود.

🔸 دابل کوتیشن برای نام‌گذاری ستون‌ها استفاده می شود و سینگل کوتیشن برای مقادیر رشته ای صریح . به تفاوت Message و Hello در مثال بالا دقت کنید.

🔹 استفاده از توابع عددی و تاریخی

SELECT current_date AS "Today";
SELECT power(2, 3) AS "Power";     -- 8
SELECT sqrt(49) AS "SquareRoot";   -- 7
SELECT round(3.14159, 2) AS "Rounded";  -- 3.14

🔹 محاسبات بدون FROM اما چند ستون

می‌توانید چند مقدار را هم‌زمان بازگردانید:

SELECT 
  'Ali' AS name,
  ۲۵ AS age,
  current_date AS signup_date;

🧰 بخش ۴: کاربردهای عملی Alias در مثال‌های واقعی

مثال ۱: نام کامل مشتری
SELECT 
  first_name || ' ' || last_name AS full_name
FROM customers;
مثال ۲: میانگین و جمع سفارش‌ها برای هر مشتری
SELECT 
  customer_id AS id,
  COUNT(order_id) AS total_orders,
  AVG(freight) AS avg_freight
FROM orders
GROUP BY customer_id
ORDER BY avg_freight DESC;
مثال ۳: استفاده از محاسبه مستقیم بدون جدول
SELECT 
  ۵ * ۷ AS multiplication,
  sqrt(81) AS root,
  current_date + interval '7 days' AS "Next Week";

🧠 جمع‌بندی

مفهومتوضیح
SELECT columnانتخاب ستون‌ها
SELECT *انتخاب همه‌ی ستون‌ها
ASتعریف نام مستعار برای ستون یا جدول
SELECT ... FROM ... AS aliasنام مستعار برای جداول
SELECT بدون FROMاجرای محاسبات یا تست توابع بدون جدول
`

✨ تمرین پیشنهادی

۱️⃣ نام کامل مشتریان را به‌صورت first_name + last_name نمایش دهید و آن را با عنوان "Full Name" نشان دهید.
۲️⃣ از جدول orders مجموع و میانگین freight را برای هر کشور محاسبه کنید و ستون‌ها را "Total Freight" و "Average Freight" بنامید.
۳️⃣ بدون استفاده از جدول، نتیجه‌ی ۳^۵، مقدار current_date + interval '10 days' و random() را در یک Query برگردانید.

فروشگاه
جستجو
دوره ها

لطفا کلمات کلیدی را وارد کنید