خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


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

استفاده از DISTINCT در SQL SERVER
DISTINCT در SQL Server باعث نادیده گرفته شدن مقادیر تکراری و مد نظر قرار دادن رکرودهای Unique در هر جدول استفاده می شود. استفاده از DISTINCT بسیار ساده می باشد و با مشاهده مثال های ساده زیر، با طرز کار و استفاده از آن آشنا می شوید

سیستم یکپارچۀ سازمانی راهکار
SYNTAX استفاده از DISTINCT به صورت زیر می باشد:



SELECT DISTINCT Col1, Col2 ,..  FROM table WHERE Condition..

قبل از شروع کار، یک جدول با نام EMP ایجاد کرده و تعدادی رکورد هم در آن Insert می کنیم.

CREATE TABLE dbo.EMP ( EMPID INT NOT NULL,
EMP_DEPT VARCHAR(30),
EMP_NAME VARCHAR(50),
EMP_SALARY NUMERIC(9,2))

INSERT INTO EMP
(EMPID, EMP_DEPT, EMP_NAME, EMP_SALARY)
VALUES
(101, 'PRODUCTION', 'RAJAT M', 75000.00),
(102, 'PRODUCTION', 'MUKESH BHATIA', 70000.00),
(103, 'PRODUCTION', 'MUSKAN MEHTA', 75000.00),
(104, 'SALES', 'ROHAN B NARAYA', 45000.00),
(105, 'SALES', 'SUSHIL DAS', 40000.00),
(106, 'SALES', 'MANISH', 45000.00),
(107, 'PRODUCTION', 'RAJESH SINGH', 78000.00),
(108, 'HR', 'MOHIN KHAN', 50000.00),
(109, 'HR', 'SUSHANT K SINGH', 55000.00),
(110, 'HR', 'LAKSHYA RAWAT', 55000.00),
(111, 'PRODUCTION', 'MANOJ KUMAR', 75000.00),
(112, 'SALES', 'SUJOY M', 40000.00),
(113, 'LOGISTIC', 'VINAY AGARWAL', 35000.00),
(114, 'LOGISTIC', 'MUSTAKIM M',35000.00),
(115, 'LOGISTIC', 'VIJAY KUMAWAT', 45000.00)

استفاده از DISTINCT در SQL SERVER
با select زیر کلیه رکوردهای جدول EMP را مشاهده می کنیم که از این قرار است:

SELECT * FROM dbo.EMP

استفاده از DISTINCT در SQL SERVER
حالا با استفاده از DISTINCT خواهید دید که چگونه می توان رکوردها را Unique مشاهده کرد.
در اسکریپت زیر نام unique هر دپارتمان را در خروجی مشاهده خواهید کرد.
اسکریپت زیر بخش تکراری Employee را حذف(منظور از حذف، حذف واقعی رکورد از جدول نیست بلکه در خروجی فقط یکی را نشان میدهد) می کند و فقط رکورد unique را از جدول در Result نشان میدهد.

SELECT DISTINCT EMP_DEPT FROM dbo.EMP

استفاده از DISTINCT در SQL SERVER
بدون استفاده از DISTINCT، اگر دستور Select را وارد کنید، خواهید دید که با نام هر دپارتمان، چندین رکورد وجود دارد.

استفاده از DISTINCT در SQL SERVER
با اسکریپت زیر، حقوق و دستمزد unique برای هر دپارتمان را در خروجی می توانید مشاهده کنید.

SELECT DISTINCT EMP_DEPT, EMP_SALARY FROM dbo.EMP

استفاده از DISTINCT در SQL SERVER
همانطور که مشاهده می کنید ، اسکریپت، حقوق تکراری را در هر بخش از بین می برد و بخش حقوق unique را برمی گرداند.
شما می توانید از DISTINCT با Aggregate function ها هم استفاده کنید. مثلا در اسکریپت زیر تعداد هر دپارتمان را نمایش می دهد. همانطور که مشاهده می کنید از COUNT به همراه DISTINCT استفاده شده است.

SELECT COUNT(DISTINCT EMP_DEPT) AS Uniq_Dept_Cnt FROM dbo.EMP

استفاده از DISTINCT در SQL SERVER
در اسکریپت زیر مقدار unique حقوق دستمزد در صورتی که بیش از 45000 باشد را برمیگرداند. پس با WHERE هم می توانید DISTINCT را همراه کنید.

استفاده از DISTINCT در SQL SERVER
همانطور که مشاهده می کنید ، 8 کارمند بیش از 45000 دریافتی دارند و حقوق unique پس از حذف موارد تکراری به 5، یعنی 78000،75000،70000،55000 و 50000 می رسد.

SELECT DISTINCT EMP_SALARY FROM dbo.EMP WHERE EMP_SALARY >45000

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

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز