"

پرس‌ و جوهای SQL در SQL Server,انواع پرس‌وجوها در SQL Server,دستور SELECT در SQL Server

پرس‌ و جوهای SQL در SQL Server

پرس‌وجوهای SQL در SQL Server برای بازیابی، درج، ویرایش و حذف داده‌ها استفاده می‌شوند و هسته مدیریت پایگاه داده هستند.

تیم تحریریه
8
0
28 خرداد 1405
لینک کوتاه

پرس‌وجوهای SQL در SQL Server

پرس‌وجوهای SQL یا همان SQL Queries یکی از مهم‌ترین بخش‌های کار با پایگاه داده SQL Server هستند.
هر زمان که بخواهیم اطلاعاتی را از پایگاه داده دریافت کنیم، داده‌ای را ثبت نماییم، رکوردی را ویرایش کنیم یا اطلاعاتی را حذف کنیم، از پرس‌وجوهای SQL استفاده می‌کنیم.
زبان SQL که مخفف Structured Query Language است، زبان استاندارد مدیریت و تعامل با پایگاه‌های داده رابطه‌ای محسوب می‌شود و SQL Server مایکروسافت یکی از قدرتمندترین سیستم‌های مدیریت پایگاه داده است که از این زبان پشتیبانی می‌کند.

پرس‌وجوها در SQL Server نقش واسط میان کاربران و داده‌ها را ایفا می‌کنند.
یک مدیر پایگاه داده، برنامه‌نویس یا تحلیلگر داده با استفاده از Queryها می‌تواند حجم عظیمی از اطلاعات را مدیریت کرده و گزارش‌های متنوعی تولید کند.


پرس‌وجوهای SQL در SQL Server

SQL Query چیست؟

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

 

به عنوان مثال:

SELECT * FROM Customers

 

این پرس‌وجو تمامی اطلاعات جدول Customers را نمایش می‌دهد.




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

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

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

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

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

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






انواع پرس‌وجوها در SQL Server

پرس‌وجوهای SQL را می‌توان به چند دسته اصلی تقسیم کرد:

  • پرس‌وجوهای بازیابی اطلاعات (SELECT)

    پرکاربردترین نوع Query دستور SELECT است.

نمونه:

SELECT FirstName, LastName

FROM Employees

این دستور نام و نام خانوادگی کارکنان را نمایش می‌دهد.

 

  • پرس‌وجوهای درج اطلاعات (INSERT)

 

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

 

INSERT INTO Customers

(Name, City)

VALUES

('Ali Ahmadi', 'Tehran')

 

 

  • پرس‌وجوهای بروزرسانی (UPDATE)

برای تغییر اطلاعات موجود استفاده می‌شود.

UPDATE Customers

SET City = 'Mashhad'

WHERE CustomerID = 1

 

  • پرس‌وجوهای حذف (DELETE)

برای حذف رکوردها استفاده می‌شود.

 

DELETE FROM Customers

WHERE CustomerID = 1

 



انواع پرس‌وجوها در SQL Server



دستور SELECT در SQL Server

SELECT قلب عملیات گزارش‌گیری و استخراج داده محسوب می‌شود.

نمونه:

 

SELECT *

FROM Products

 

نمایش ستون‌های خاص:

 

 

SELECT ProductName,

Price

FROM Products

 

 

استفاده از WHERE در SQL Server

WHERE برای فیلتر کردن داده‌ها استفاده می‌شود.

SELECT *

FROM Employees

WHERE Salary > 10000

 

 

فقط کارمندانی نمایش داده می‌شوند که حقوق آنها بیشتر از 10000 باشد.

 

عملگرهای مقایسه‌ای

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

 

 

=

<>

>

<

>=

<=

 

مثال:

 

 

SELECT *

FROM Products

WHERE Price >= 500

 

 

 استفاده از AND و OR  در SQL Server

برای ترکیب شروط مختلف:

 

SELECT *

FROM Employees

WHERE Department = 'IT'

AND Salary > 15000

 

یا:

 

 

SELECT *

FROM Employees

WHERE City = 'Tehran'

OR City = 'Karaj'

 

 

مرتب‌سازی اطلاعات با ORDER BY  در SQL Server

برای مرتب کردن نتایج:

 

 

SELECT *

FROM Products

ORDER BY Price

 

مرتب‌سازی نزولی:

 

 

SELECT *

FROM Products

ORDER BY Price DESC

 

 

محدود کردن تعداد نتایج

در SQL Server از TOP استفاده می‌شود:

 

 

SELECT TOP 10 *

FROM Products

نمایش 10 رکورد اول جدول.

 

استفاده از DISTINCT در SQL Server

 

برای حذف رکوردهای تکراری:

 



SELECT DISTINCT City

FROM Customers

 

 

جستجو با LIKE در SQL Server

 

برای جستجوی بخشی از متن:

 

SELECT *

FROM Customers

WHERE Name LIKE '%Ali%'

 

نمایش مشتریانی که نام آنها شامل Ali باشد.

 

استفاده از BETWEEN در SQL Server

برای جستجو در بازه مشخص:

 

SELECT *

FROM Orders

WHERE Amount BETWEEN 1000 AND 5000

 

استفاده از IN  در SQL Server

برای جستجوی چند مقدار:

 

SELECT *

FROM Customers

WHERE City IN ('Tehran','Shiraz','Tabriz')

 

 

توابع تجمیعی در SQL Server

SQL Server توابع قدرتمندی برای تحلیل داده‌ها ارائه می‌کند.

  • COUNT

شمارش رکوردها:

 

SELECT COUNT(*)

FROM Customers
  • SUM

محاسبه مجموع:

SELECT SUM(Amount)

FROM Orders
  • AVG

میانگین:

SELECT AVG(Salary)

FROM Employees

 

  • MAX

بیشترین مقدار:

 

SELECT MAX(Price)

FROM Products

 

  • MIN

کمترین مقدار:



SELECT MIN(Price)

FROM Products





توابع تجمیعی در SQL Server


گروه‌بندی داده‌ها با GROUP BY در SQL Server

برای دسته‌بندی اطلاعات:

SELECT City,

COUNT(*) TotalCustomers

FROM Customers

GROUP BY City

 

 

 

استفاده از HAVING در SQL Server

فیلتر کردن گروه‌ها:

SELECT City,

COUNT(*) TotalCustomers

FROM Customers

GROUP BY City

HAVING COUNT(*) > 5

 

 

اتصال جداول با JOIN در SQL Server

در پایگاه داده‌های رابطه‌ای معمولاً اطلاعات در چند جدول ذخیره می‌شوند.

  • INNER JOIN

SELECT Customers.Name,

Orders.OrderDate

FROM Customers

INNER JOIN Orders

ON Customers.CustomerID = Orders.CustomerID

 

فقط رکوردهای مشترک نمایش داده می‌شوند.

  • LEFT JOIN

SELECT Customers.Name,

Orders.OrderDate

FROM Customers

LEFT JOIN Orders

ON Customers.CustomerID = Orders.CustomerID

 

تمام مشتریان نمایش داده می‌شوند حتی اگر سفارشی نداشته باشند.

  • RIGHT JOIN

SELECT *

FROM Customers

RIGHT JOIN Orders

ON Customers.CustomerID = Orders.CustomerID

 

  • FULL JOIN

SELECT *

FROM Customers

FULL JOIN Orders

ON Customers.CustomerID = Orders.CustomerID

 

 SubQuery یا زیرپرس‌وجو در SQL Server

گاهی یک Query داخل Query دیگر قرار می‌گیرد.

 

SELECT *

FROM Employees

WHERE Salary >

(

SELECT AVG(Salary)

FROM Employees

)

 

نمایش کارمندانی که حقوق آنها بیشتر از میانگین است.

 

استفاده از EXISTS در SQL Server

بررسی وجود رکورد:

SELECT *

FROM Customers C

WHERE EXISTS

(

SELECT *

FROM Orders O

WHERE O.CustomerID = C.CustomerID

)

 

Common Table Expression (CTE)

برای خوانایی بهتر Queryها:

WITH EmployeeList AS

(

SELECT *

FROM Employees

WHERE Salary > 10000

)

SELECT *

FROM EmployeeList

 

View در SQL Server

View یک پرس‌وجوی ذخیره شده است.

CREATE VIEW ActiveCustomers

AS

SELECT *

FROM Customers

WHERE Status='Active'

استفاده:

SELECT *

FROM ActiveCustomers

 

 Stored Procedure

برای ذخیره منطق SQL در سرور:

CREATE PROCEDURE GetCustomers

AS

BEGIN

SELECT *

FROM Customers

END

 

اجرا:

EXEC GetCustomers

 

 پارامتردار کردن Queryها

CREATE PROCEDURE GetCustomer

@CustomerID INT

AS

BEGIN

SELECT *

FROM Customers

WHERE CustomerID=@CustomerID

END

 

بهینه‌سازی پرس‌ و جوهای SQL در SQL Server

برای افزایش سرعت اجرای Queryها باید:

  • از ایندکس‌ها استفاده شود.
  • فقط ستون‌های مورد نیاز انتخاب شوند.
  • از SELECT * کمتر استفاده شود.
  • SubQueryهای غیرضروری حذف شوند.
  • از Execution Plan برای تحلیل عملکرد استفاده شود.
  • آمار پایگاه داده به‌روز نگه داشته شود.

 استفاده از ایندکس

ایندکس باعث افزایش سرعت جستجو می‌شود.

CREATE INDEX IX_Customers_Name

ON Customers(Name)

 

 بررسی پلن اجرایی

در SQL Server Management Studio می‌توان Execution Plan را فعال کرد تا نحوه اجرای Query مشاهده شود و نقاط ضعف عملکردی شناسایی شوند.

 

مزایای Query Store در SQL Server

یکی از قابلیت‌های مهم SQL Server، Query Store است که اطلاعات مربوط به عملکرد پرس‌وجوها را ذخیره می‌کند و امکان تحلیل و بهینه‌سازی آنها را فراهم می‌سازد.

مزایای Query Store:

* شناسایی Queryهای کند

* مقایسه عملکرد Queryها

* بررسی تغییرات پلن اجرایی

* رفع مشکلات Performance

 

امنیت در Queryها

برای جلوگیری از حملات SQL Injection باید از Queryهای پارامتردار استفاده کرد.

نمونه ناامن:

 

SELECT *

FROM Users

WHERE UserName=' " + userName + " '

 

نمونه امن:

SELECT *

FROM Users

WHERE UserName=@UserName

 

بهترین روش‌های نوشتن Query

  • استفاده از نام‌گذاری استاندارد

  • انتخاب ستون‌های مورد نیاز

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

  • پرهیز از Queryهای پیچیده غیرضروری

  • استفاده از Stored Procedureها

  • مستندسازی Queryهای مهم

  • تست عملکرد قبل از انتشار

 

جمع‌بندی

پرس‌وجوهای SQL در SQL Server هسته اصلی تعامل با پایگاه داده را تشکیل می‌دهند. از بازیابی اطلاعات با SELECT گرفته تا درج، ویرایش و حذف داده‌ها، همه عملیات توسط Queryها انجام می‌شود.
تسلط بر دستورات مختلف مانند WHERE، JOIN، GROUP BY، HAVING، CTE و Stored Procedure به توسعه‌دهندگان کمک می‌کند تا پایگاه داده‌های بزرگ را به‌صورت کارآمد مدیریت کنند.
همچنین استفاده از تکنیک‌های بهینه‌سازی مانند ایندکس‌ها، Query Store و Execution Plan نقش مهمی در افزایش سرعت و کارایی سیستم‌های مبتنی بر SQL Server دارد.

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

کاربران ما

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

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

منو