آموزش SQL - عبارت DISTINCT در SQL چیست

 در یک جدول ممکن است برخی از ستون ها مقادیر تکراری داشته باشند. برای مثال مقدار رشته تحصیلی دانش آموزان ممکن است تکراری باشد. یا در جدول مشتری ها، مشتری ها با کشور های مختلف و تکراری موجود باشد. یعنی چند مشتری با یک کشور در جدول قرار دارد.

به عبارت ساده می تواند گفت این دستور برای حذف سطر ها با یک ستون تکراری استفاده می شود.

سینتکس این دستور را در کد زیر مشاهده می کنید

 

SELECT DISTINCT column1, column2, …
FROM table_name;

 

جدول نمونه

جدولی با نام Students و سطر های زیر در نظر بگیرید

Field Age Name ID
IT 27 Mahyar 1
IT 25 Navid 2
SW 20 Shayan 3
SW 20 Hossein 4
HW 24 Reza 5

 

 در جدول بالا 5 سطر داریم. به ترتیب ستون  ID که شناسه هر دانش آموز، Name نام دانش آموز، Age سن و Field رشته تحصیلی دانش آموز است. منظور از HW سخت افزار، SW نرم افزار و IT فناوری اطلاعات می باشد.

حالا با یک مثال کاربرد  distinct در sql را بررسی می کنیم.

 

دستور SELECT بدون عبارت DISTINCT

 

بیشتر بدانیم: آموزش دستور SELECT در SQL

 

دستور SELECT از پرکاربرد ترین دستورات در SQL است. که به صورت زیر استفاده می شود. می خواهیم لیست تمامی رشته هایی که دانشجویان در آن به تحصیل می پردازند را پیدا کنیم. مهم نیست که کدام دانشجویان در این رشته ها تحصیل می کنند، فقط به لیست رشته ها نیاز داریم.

 

SELECT Field FROM Students;

 

 دستور بالا تمامی سطر های موجود  از ستون Field را بر میگرداند و خروجی شبیه به جدول زیر می شود.

 

IT
IT
SW
SW
HW

 

 در دستور بالا لیست تمامی مقادیر در ستون  Field برای تمامی سطر ها برگردانده می شود. بنابراین مقادیر تکراری در آن قرار دارد. برای حذف مقادیر تکراری در خروجی کوئری می توانیم از دستور DISTINCT استفاده کنیم.

 

دستور SELECT با استفاده از DISTINCT

 برای حذف مقادیر تکراری از خروجی دستور SQL بالا را به شکل زیر تغییر می دهیم.

 

SELECT DISTINCT Field FROM Students;

 

 خروجی کوئری بالا به صورت زیر خواهد بود.

 

IT
SW
HW

 

 همچنین برای بدست آوردن سن دانش آموزان می توان از دستور زیر استفاده کرد.

 

 SELECT DISTINCT Age FROM Students;

 

 بنابراین می توان فهمید دانش آموزان در چه بازه سنی هستند.

 

به دست آوردن تعداد رشته های تکراری

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

 

SELECT COUNT (DISTINCT Age) FROM Students;

 

همانطور که دیدید مثال های بالا ساده و روان بودند و برای درک کاربرد DISTINCT در یک عبارت SQL بسیار مناسب هستند. امیدوار هستیم این مطلب برای شما مفید باشد.

 

منابع زیر در گردآوری این مقاله استفاده شده است

W3schools SQL SELECT DISTINCT