آموزش 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 بسیار مناسب هستند. امیدوار هستیم این مطلب برای شما مفید باشد.