SELECT DISTINCT در SQL با مثالهای کاربردی و توضیح ساده
در SQL، برای استخراج دادهها از جداول از دستور SELECT
استفاده میشود. اما اگر دادههای تکراری در نتایج وجود داشته باشند و بخواهید فقط مقادیر یکتا (غیرتکراری) را نمایش دهید، باید از دستور SELECT DISTINCT
استفاده کنید.
تفاوت SELECT و SELECT DISTINCT
SELECT
: همهی مقادیر موجود را نمایش میدهد، حتی اگر تکراری باشند.SELECT DISTINCT
: فقط مقادیر یکتا را در نتایج نمایش میدهد و تکراریها را حذف میکند.
مثال ساده از SELECT DISTINCT
فرض کنید جدولی به نام Customers
داریم با مقادیر زیر:
CustomerID | Country |
---|---|
1 | USA |
2 | UK |
3 | USA |
4 | Canada |
کوئری با SELECT:
SELECT Country FROM Customers;
خروجی:
USA
UK
USA
Canada
کوئری با SELECT DISTINCT:
SELECT DISTINCT Country FROM Customers;
خروجی:
USA
UK
Canada
در اینجا مقدار تکراری USA
فقط یکبار نمایش داده میشود.
استفاده از DISTINCT در چند ستون
اگر در کوئری چند ستون انتخاب شود، ترکیب آنها باید یکتا باشد تا در نتایج باقی بماند.
مثال:
SELECT DISTINCT Country, City FROM Customers;
در این صورت، هر ردیف براساس ترکیب Country
و City
بررسی میشود. اگر هر دو مقدار در یک ردیف مشابه ردیف دیگری باشند، آن ردیف دوم حذف میشود.
موارد استفاده SELECT DISTINCT
حذف تکرار هنگام نمایش دستهبندیها یا کشورها
ساخت لیستهای یکتا برای منوها یا فرمهای فیلتر
گزارشگیری تمیز و بدون دادههای تکراری
نکته | توضیح |
---|---|
عملکرد پایینتر نسبت به SELECT ساده | چون باید بررسی یکتایی انجام شود |
ترتیب خروجی | اگر مرتبسازی لازم است، از ORDER BY همراه با DISTINCT استفاده کنید |
ترکیب با توابع گروهی | اغلب با COUNT(DISTINCT column) استفاده میشود |
مثال با ORDER BY:
SELECT DISTINCT Country FROM Customers
ORDER BY Country ASC;
مثال عملی با COUNT DISTINCT
اگر بخواهیم تعداد کشورهایی که مشتری داریم را بدانیم:
SELECT COUNT(DISTINCT Country) AS UniqueCountries
FROM Customers;
جمعبندی
دستور SELECT DISTINCT
یکی از ابزارهای مهم برای نمایش دادههای یکتا در SQL است. با استفاده از آن میتوانید خروجیهای دقیقتری ایجاد کنید، گزارشهای حرفهایتری بسازید و دادههای تکراری را از تحلیل حذف کنید.
دیدگاهتان را بنویسید