نمونه ها (SQL Examples)
اینجا با نمونه های کوتاه SQL جلو می رویم. مثل تمرین های کلاس. هر «عبارت (Expression)» یعنی مقدار یا شرط. با دیدن خروجی، مفهوم ها می چسبند.
1) SELECT ساده و SELECT *
چند ستون مشخص یا همه ستون ها را ببین:
SELECT
CustomerName,
City
FROM
Customers;
SELECT
*
FROM
Customers;
2) DISTINCT برای حذف تکراری ها
شهرهای یکتا را بگیر:
SELECT DISTINCT
City
FROM
Customers;
3) WHERE و عملگرهای منطقی
فقط مشتریان شهر خاص یا ترکیبی از شرط ها:
SELECT
*
FROM
Customers
WHERE
City = 'London';
SELECT
*
FROM
Customers
WHERE
Country = 'Germany'
AND
City = 'Berlin';
4) ORDER BY: مرتب سازی نتایج
مرتب سازی صعودی یا نزولی:
SELECT
CustomerName,
City
FROM
Customers
ORDER BY
City DESC;
5) NULL و IS NOT NULL
سطرهایی با مقدار خالی یا غیرخالی را پیدا کن:
SELECT
*
FROM
Customers
WHERE
Address IS NULL;
SELECT
*
FROM
Customers
WHERE
Address IS NOT NULL;
6) TOP / LIMIT: محدودکردن تعداد
فقط چند ردیف اول را بگیر:
SELECT TOP
5
*
FROM
Customers;
7) توابع MIN/MAX و COUNT/AVG/SUM
کوچک ترین، بزرگ ترین یا مجموع را حساب کن:
SELECT
MIN(Price) AS MinPrice,
MAX(Price) AS MaxPrice
FROM
Products;
SELECT
COUNT(*) AS Total,
AVG(Price) AS AvgPrice,
SUM(Price) AS SumPrice
FROM
Products;
8) LIKE و Wildcard ها
الگوهای متنی با % و _:
SELECT
*
FROM
Customers
WHERE
CustomerName LIKE 'a%';
SELECT
*
FROM
Customers
WHERE
CustomerName LIKE '%or%';
9) IN و BETWEEN
لیست مشخص یا بازه عددی/متنی:
SELECT
*
FROM
Customers
WHERE
Country IN ('Germany', 'France');
SELECT
*
FROM
Products
WHERE
Price BETWEEN 10 AND 20;
10) Alias (AS) برای خوانایی
نام کوتاه برای جدول یا ستون بده:
SELECT
c.CustomerName AS Name,
o.OrderID
FROM
Customers AS c
INNER JOIN
Orders AS o
ON
c.CustomerID = o.CustomerID;
نکته: درباره نام مستعار ببین AS (Alias).
11) JOIN: ترکیب داده ها
Inner Join فقط تطابق ها را برمی گرداند:
SELECT
Customers.CustomerName,
Orders.OrderID
FROM
Customers
INNER JOIN
Orders
ON
Customers.CustomerID = Orders.CustomerID;
12) UNION: ترکیب نتایج کوئری ها
ادغام دو نتیجه هم ستون:
SELECT
City
FROM
Customers
UNION
SELECT
City
FROM
Suppliers;
13) GROUP BY و HAVING
گروه بندی و شرط روی نتیجه تجمعی:
SELECT
Country,
COUNT(*) AS Cnt
FROM
Customers
GROUP BY
Country
HAVING
COUNT(*) >= 5;
14) EXISTS ،ANY ،ALL
وجود حداقل یک سطر مرتبط را چک کن:
SELECT
SupplierName
FROM
Suppliers s
WHERE
EXISTS (
SELECT
*
FROM
Products p
WHERE
p.SupplierID = s.SupplierID
);
SELECT
ProductName
FROM
Products
WHERE
Price > ANY (
SELECT
Price
FROM
Products
WHERE
CategoryID = 2
);
15) CASE و کامنت گذاشتن
برچسب شرطی بساز و کد را توضیح بده:
SELECT
ProductName,
CASE
WHEN Price >= 50 THEN 'Expensive'
ELSE 'Budget'
END AS PriceTag
FROM
Products;
-- این یک کامنت تک خطی است;
SELECT
*
FROM
Customers;
نکته: برای مرور سریع، راهنمای سریع SQL را ببین. همچنین برای یادگیری تدریجی، همین صفحه نمونه های SQL را نشانه گذاری کن.
جمع بندی سریع
- با SELECT شروع کن و نتیجه را ببین.
- WHERE فیلتر می کند؛ AND/OR ترکیب می کند.
- ORDER BY مرتب می کند؛ DISTINCT تکرار را حذف می کند.
- توابع تجمیعی برای شمارش و جمع مفیدند.
- JOIN و UNION داده ها را کنار هم می گذارند.