اعمال شروط در T-SQL

توسط: انتشار: دسته بندی: دیتابیس خواندن در ۲ دقیقه

جهت محدود کردن نمایش اطلاعات جداول که خود باعث ارائه اطلاعات دقیق تر به کاربر می شود بایستی از شروط استفاده کنیم که این مهم در زبان T-SQL به کمک Where انجام می شود. محدود کردن اطلاعات خود باعث افزایش سرعت واکشی اطلاعات میگردد (البته متناسب با ایندکس هایی که بر روی جدول وجود دارند). چراکه اگر شرطی را مشخص نکنیم در زمان واکشی داده های جدول ، کل اطلاعات واکشی خواهند شد که این عمل در دیتابیس های بزرگ اصولی و معقول نمی باشد.

 


SELECT column1, column2, ...
FROM table_name
WHERE condition;

 

SELECT SalesOrderID,OrderDate,CustomerID FROM Sales.SalesOrderHeader
	WHERE SalesOrderID = 43659
GO

در این مثال می خواهیم فقط اطلاعات سفارش شماره 43659 واکشی و نمایش داده شود.

 

همچنین در کنار شروط می توان از = , => , =< , =! , <> , >! , <! نیز استفاده کرد. اگر می خواهید رکوردهایی  نمایش داده شود که داده مورد نظر شما بین مقادیر مختلف می باشد می توان از عبارت Between استفاده نمایید

 

USE AdventureWorks2016
GO

SELECT SalesOrderID,OrderDate,CustomerID FROM Sales.SalesOrderHeader
	WHERE CustomerID >= 30000 AND CustomerID <= 31000
GO

SELECT SalesOrderID,OrderDate,CustomerID FROM Sales.SalesOrderHeader
	WHERE CustomerID BETWEEN 30000 AND 31000
GO

SELECT SalesOrderID,OrderDate,CustomerID FROM Sales.SalesOrderHeader
	WHERE CustomerID NOT BETWEEN 30000 AND 31000
GO

 

جهت ترکیب شروط می توان از AND و OR  استفاده کرد. همچنین جهت بررسی مقادریر با یک لیست و همچنین جایگزین استفاده از OR های طولانی از اپراتور IN استفاده کنید

SELECT SalesOrderID,OrderDate,CustomerID FROM Sales.SalesOrderHeader
	WHERE (OrderDate BETWEEN '2011-07-31' AND '2011-08-01') OR (OnlineOrderFlag = 1) 
GO

SELECT SalesOrderID,OrderDate,CustomerID FROM Sales.SalesOrderHeader
	WHERE SalesOrderID IN (43700,43800,43900) AND (OnlineOrderFlag <> 0)
		--SalesOrderID=43700 OR SalesOrderID=43800 OR SalesOrderID=43900 AND OnlineOrderFlag <> 0
GO

 

از اپراتور Like جهت جستجوی و مقایسه داخل رشته طبق الگوی خاص استفاده کنید 

USE AdventureWorks2016
GO
--شروع تمام مقادیر با Rob
SELECT PersonType,FirstName,LastName,Title FROM Person.Person
	WHERE LastName LIKE 'Rob%'
GO
--پایان تمام مقادیر با van
SELECT PersonType,FirstName,LastName,Title FROM Person.Person
	WHERE LastName LIKE '%van'
GO
--وجود ara در هر قسمت رشته
SELECT PersonType,FirstName,LastName,Title FROM Person.Person
	WHERE LastName LIKE '%ara%'
GO

 

مقالات پیشنهادی
دیتابیس

کار با مقدار NULL در SQL

مقدار NULL به معنی هیچ و پوچ می باشد به عبارتی&nbsp;یک مقدار است و&nbsp;با صفر یا Blank برابر نیست. جهت دستری بایستی از IS NULL و یا NOT IS NULL استفاده کنیم &nbsp; &nbsp; بمنظور ویرایش ف...

دیتابیس

SQL چیست؟

Structured Query Language زبان پرس و جو ساخت یافته است و هدف اصلی آن&nbsp;دست یابی&nbsp;و کنترل داده ها است&nbsp;مفهوم SQL&nbsp;جزء استاندارهای ANSI است و&nbsp;در اغلب DBMS&nbsp; ها مطرح دنیا مورد است...

دیتابیس

آشنایی با Schema در SQL Server

از نسخه 2005 به بعد امکان ایجاد Schema به وجود آمده که&nbsp;یک ظرف یا Container&nbsp;(دربرگیرنده) است جهت قرار گرفتن اشیاء داخل آن&nbsp;بمنظور پیاده سازی کنترلهای Security Schemaدر سيستم پايگاه داد...

دیتابیس

مرتب سازی (Sort) اطلاعات در SQL

بمنظور مرتب سازی به صورت نزولی و یا صعودی&nbsp;نتیجه&nbsp;&nbsp;کوئریها (نه داده های جدول اصلی) از دستور Order By استفاده می شود. فراموش نکنید که اگر شرط نیز داشته باشید بایستی بعد از Where استفاده شو...

دیدگاه‌ها و پرسش‌ها

هیچ دیدگاهی تا به این لحظه برای این موضوع ثبت نشده است