فهرست سرفصل‌های SQL
خانه (HOME) مقدمه (Intro) نحو (Syntax) انتخاب (Select) انتخاب یکتا (Select Distinct) شرط WHERE (Where) مرتب سازی (Order By) و منطقی (And) یا منطقی (Or) نفی (Not) درج (Insert Into) مقادیر Null (Null Values) به روزرسانی (Update) حذف (Delete) انتخاب برتر (Select Top) توابع تجمعی (Aggregate Functions) کمینه و بیشینه (Min and Max) شمارش (Count) جمع (Sum) میانگین (Avg) الگویابی (Like) کاراکترهای عام (Wildcards) عضویت (In) بین (Between) نام مستعار (Aliases) جوین ها (Joins) اینر جوین (Inner Join) لفت جوین (Left Join) رایت جوین (Right Join) فول جوین (Full Join) سلف جوین (Self Join) یونیون (Union) یونیون آل (Union All) گروه بندی (Group By) Having (Having) وجود (Exists) Any, All (Any, All) انتخاب به جدول جدید (Select Into) درج از انتخاب (Insert Into Select) Case (Case) توابع Null (Null Functions) رویه های ذخیره شده (Stored Procedures) کامنت ها (Comments) عملگرها (Operators) ساخت پایگاه داده (Create DB) حذف پایگاه داده (Drop DB) پشتیبان گیری (Backup DB) ساخت جدول (Create Table) حذف جدول (Drop Table) تغییر جدول (Alter Table) قیود (Constraints) غیرتهی (Not Null) یکتا (Unique) کلید اصلی (Primary Key) کلید خارجی (Foreign Key) Check (Check) پیش فرض (Default) ایندکس (Index) افزایش خودکار (Auto Increment) تاریخ ها (Dates) نماها (Views) تزریق SQL (SQL Injection) میزبانی (Hosting) انواع داده (Data Types) کلیدواژه ها (SQL Keywords) ADD (ADD) ADD CONSTRAINT (ADD CONSTRAINT) ALL (ALL) ALTER (ALTER) ALTER COLUMN (ALTER COLUMN) ALTER TABLE (ALTER TABLE) AND (AND) ANY (ANY) AS (AS) ASC (ASC) BACKUP DATABASE (BACKUP DATABASE) BETWEEN (BETWEEN) CASE (CASE) CHECK (CHECK) COLUMN (COLUMN) CONSTRAINT (CONSTRAINT) CREATE (CREATE) CREATE DATABASE (CREATE DATABASE) CREATE INDEX (CREATE INDEX) CREATE OR REPLACE VIEW (CREATE OR REPLACE VIEW) CREATE TABLE (CREATE TABLE) CREATE PROCEDURE (CREATE PROCEDURE) CREATE UNIQUE INDEX (CREATE UNIQUE INDEX) CREATE VIEW (CREATE VIEW) DATABASE (DATABASE) DEFAULT (DEFAULT) DELETE (DELETE) DESC (DESC) DISTINCT (DISTINCT) DROP (DROP) DROP COLUMN (DROP COLUMN) DROP CONSTRAINT (DROP CONSTRAINT) DROP DATABASE (DROP DATABASE) DROP DEFAULT (DROP DEFAULT) DROP INDEX (DROP INDEX) DROP TABLE (DROP TABLE) DROP VIEW (DROP VIEW) EXEC (EXEC) EXISTS (EXISTS) FOREIGN KEY (FOREIGN KEY) FROM (FROM) FULL OUTER JOIN (FULL OUTER JOIN) GROUP BY (GROUP BY) HAVING (HAVING) IN (IN) INDEX (INDEX) INNER JOIN (INNER JOIN) INSERT INTO (INSERT INTO) INSERT INTO SELECT (INSERT INTO SELECT) IS NULL (IS NULL) IS NOT NULL (IS NOT NULL) JOIN (JOIN) LEFT JOIN (LEFT JOIN) LIKE (LIKE) LIMIT (LIMIT) NOT (NOT) NOT NULL (NOT NULL) OR (OR) ORDER BY (ORDER BY) OUTER JOIN (OUTER JOIN) PRIMARY KEY (PRIMARY KEY) PROCEDURE (PROCEDURE) RIGHT JOIN (RIGHT JOIN) ROWNUM (ROWNUM) SELECT (SELECT) SELECT DISTINCT (SELECT DISTINCT) SELECT INTO (SELECT INTO) SELECT TOP (SELECT TOP) SET (SET) TABLE (TABLE) TOP (TOP) TRUNCATE TABLE (TRUNCATE TABLE) UNION (UNION) UNION ALL (UNION ALL) UNIQUE (UNIQUE) UPDATE (UPDATE) VALUES (VALUES) VIEW (VIEW) WHERE (WHERE) توابع MySQL (MySQL Functions) ASCII (ASCII) CHAR_LENGTH (CHAR_LENGTH) CHARACTER_LENGTH (CHARACTER_LENGTH) CONCAT (CONCAT) CONCAT_WS (CONCAT_WS) FIELD (FIELD) FIND_IN_SET (FIND_IN_SET) FORMAT (FORMAT) INSERT (INSERT) INSTR (INSTR) LCASE (LCASE) LEFT (LEFT) LENGTH (LENGTH) LOCATE (LOCATE) LOWER (LOWER) LPAD (LPAD) LTRIM (LTRIM) MID (MID) POSITION (POSITION) REPEAT (REPEAT) REPLACE (REPLACE) REVERSE (REVERSE) RIGHT (RIGHT) RPAD (RPAD) RTRIM (RTRIM) SPACE (SPACE) STRCMP (STRCMP) SUBSTR (SUBSTR) SUBSTRING (SUBSTRING) SUBSTRING_INDEX (SUBSTRING_INDEX) TRIM (TRIM) UCASE (UCASE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATAN2 (ATAN2) AVG (AVG) CEIL (CEIL) CEILING (CEILING) COS (COS) COT (COT) COUNT (COUNT) DEGREES (DEGREES) DIV (DIV) EXP (EXP) FLOOR (FLOOR) GREATEST (GREATEST) LEAST (LEAST) LN (LN) LOG (LOG) LOG10 (LOG10) LOG2 (LOG2) MAX (MAX) MIN (MIN) MOD (MOD) PI (PI) POW (POW) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SUM (SUM) TAN (TAN) TRUNCATE (TRUNCATE) ADDDATE (ADDDATE) ADDTIME (ADDTIME) CURDATE (CURDATE) CURRENT_DATE (CURRENT_DATE) CURRENT_TIME (CURRENT_TIME) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) CURTIME (CURTIME) DATE (DATE) DATEDIFF (DATEDIFF) DATE_ADD (DATE_ADD) DATE_FORMAT (DATE_FORMAT) DATE_SUB (DATE_SUB) DAY (DAY) DAYNAME (DAYNAME) DAYOFMONTH (DAYOFMONTH) DAYOFWEEK (DAYOFWEEK) DAYOFYEAR (DAYOFYEAR) EXTRACT (EXTRACT) FROM_DAYS (FROM_DAYS) HOUR (HOUR) LAST_DAY (LAST_DAY) LOCALTIME (LOCALTIME) LOCALTIMESTAMP (LOCALTIMESTAMP) MAKEDATE (MAKEDATE) MAKETIME (MAKETIME) MICROSECOND (MICROSECOND) MINUTE (MINUTE) MONTH (MONTH) MONTHNAME (MONTHNAME) NOW (NOW) PERIOD_ADD (PERIOD_ADD) PERIOD_DIFF (PERIOD_DIFF) QUARTER (QUARTER) SECOND (SECOND) SEC_TO_TIME (SEC_TO_TIME) STR_TO_DATE (STR_TO_DATE) SUBDATE (SUBDATE) SUBTIME (SUBTIME) SYSDATE (SYSDATE) TIME (TIME) TIME_FORMAT (TIME_FORMAT) TIME_TO_SEC (TIME_TO_SEC) TIMEDIFF (TIMEDIFF) TIMESTAMP (TIMESTAMP) TO_DAYS (TO_DAYS) WEEK (WEEK) WEEKDAY (WEEKDAY) WEEKOFYEAR (WEEKOFYEAR) YEAR (YEAR) YEARWEEK (YEARWEEK) BIN (BIN) BINARY (BINARY) CASE (CASE) CAST (CAST) COALESCE (COALESCE) CONNECTION_ID (CONNECTION_ID) CONV (CONV) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) DATABASE (DATABASE) IF (IF) IFNULL (IFNULL) ISNULL (ISNULL) LAST_INSERT_ID (LAST_INSERT_ID) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SYSTEM_USER (SYSTEM_USER) USER (USER) VERSION (VERSION) توابع SQL Server (SQL Server Functions) ASCII (ASCII) CHAR (CHAR) CHARINDEX (CHARINDEX) CONCAT (CONCAT) اتصال با + (Concat with +) CONCAT_WS (CONCAT_WS) DATALENGTH (DATALENGTH) DIFFERENCE (DIFFERENCE) FORMAT (FORMAT) LEFT (LEFT) LEN (LEN) LOWER (LOWER) LTRIM (LTRIM) NCHAR (NCHAR) PATINDEX (PATINDEX) QUOTENAME (QUOTENAME) REPLACE (REPLACE) REPLICATE (REPLICATE) REVERSE (REVERSE) RIGHT (RIGHT) RTRIM (RTRIM) SOUNDEX (SOUNDEX) SPACE (SPACE) STR (STR) STUFF (STUFF) SUBSTRING (SUBSTRING) TRANSLATE (TRANSLATE) TRIM (TRIM) UNICODE (UNICODE) UPPER (UPPER) ABS (ABS) ACOS (ACOS) ASIN (ASIN) ATAN (ATAN) ATN2 (ATN2) AVG (AVG) CEILING (CEILING) COUNT (COUNT) COS (COS) COT (COT) DEGREES (DEGREES) EXP (EXP) FLOOR (FLOOR) LOG (LOG) LOG10 (LOG10) MAX (MAX) MIN (MIN) PI (PI) POWER (POWER) RADIANS (RADIANS) RAND (RAND) ROUND (ROUND) SIGN (SIGN) SIN (SIN) SQRT (SQRT) SQUARE (SQUARE) SUM (SUM) TAN (TAN) CURRENT_TIMESTAMP (CURRENT_TIMESTAMP) DATEADD (DATEADD) DATEDIFF (DATEDIFF) DATEFROMPARTS (DATEFROMPARTS) DATENAME (DATENAME) DATEPART (DATEPART) DAY (DAY) GETDATE (GETDATE) GETUTCDATE (GETUTCDATE) ISDATE (ISDATE) MONTH (MONTH) SYSDATETIME (SYSDATETIME) YEAR (YEAR) CAST (CAST) COALESCE (COALESCE) CONVERT (CONVERT) CURRENT_USER (CURRENT_USER) IIF (IIF) ISNULL (ISNULL) ISNUMERIC (ISNUMERIC) NULLIF (NULLIF) SESSION_USER (SESSION_USER) SESSIONPROPERTY (SESSIONPROPERTY) SYSTEM_USER (SYSTEM_USER) USER_NAME (USER_NAME) توابع MS Access (MS Access Functions) Asc (Asc) Chr (Chr) اتصال با & (Concat with &) CurDir (CurDir) Format (Format) InStr (InStr) InstrRev (InstrRev) LCase (LCase) Left (Left) Len (Len) LTrim (LTrim) Mid (Mid) Replace (Replace) Right (Right) RTrim (RTrim) Space (Space) Split (Split) Str (Str) StrComp (StrComp) StrConv (StrConv) StrReverse (StrReverse) Trim (Trim) UCase (UCase) Abs (Abs) Atn (Atn) Avg (Avg) Cos (Cos) Count (Count) Exp (Exp) Fix (Fix) Format (Number) Int (Int) Max (Max) Min (Min) Randomize (Randomize) Rnd (Rnd) Round (Round) Sgn (Sgn) Sqr (Sqr) Sum (Sum) Val (Val) Date (Date) DateAdd (DateAdd) DateDiff (DateDiff) DatePart (DatePart) DateSerial (DateSerial) DateValue (DateValue) Day (Day) Format (Date) Hour (Hour) Minute (Minute) Month (Month) MonthName (MonthName) Now (Now) Second (Second) Time (Time) TimeSerial (TimeSerial) TimeValue (TimeValue) Weekday (Weekday) WeekdayName (WeekdayName) Year (Year) کاربر جاری (CurrentUser) Environ (Environ) IsDate (IsDate) IsNull (IsNull) IsNumeric (IsNumeric) راهنمای سریع (SQL Quick Ref) نمونه ها (SQL Examples) ویرایشگر آنلاین (SQL Editor) کوییز (SQL Quiz) تمرین ها (SQL Exercises) سرور (SQL Server) سیلابس (SQL Syllabus) برنامه مطالعه (SQL Study Plan) بوت کمپ (SQL Bootcamp) گواهینامه (SQL Certificate) آموزش شرکتی (SQL Training)
نتیجه‌ای برای جستجو یافت نشد.
SQL

SQL — نمونه ها (SQL Examples)

آخرین بروزرسانی: 1404/08/17

نمونه ها (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 داده ها را کنار هم می گذارند.