خانه SQL Server دستور Select Distinct در SQL SQL Server دستورات SQL نوشته شده توسط: تیم فنی نیک آموز تاریخ انتشار: ۰۱ شهریور ۱۴۰۰ آخرین بروزرسانی: ۲۸ خرداد ۱۴۰۳ زمان مطالعه: 11 دقیقه ۵ (۴) معرفی SQL Select Distinct SQL، در واقع زبانی است که برای برقراری ارتباط با جداول پایگاه داده استفاده میشود. طبق ANSI یا انستیتوی ملی آمریکا، SQL زبان استاندارد برای سیستم های مدیریت پایگاه داده رابطه ای است. دستورات SQL برای انجام کارهایی مانند بهروزرسانی دادهها در پایگاه داده ها یا بازیابی داده ها از پایگاه داده استفاده میشود. برخی از سیستمهای مدیریت پایگاه داده رابطهای متداول که از SQL استفاده می کنند عبارتند از Microsoft، Sybase، Access، SQL Server و… . اگرچه بیشتر سیستمهای پایگاه داده از SQL استفاده می کنند، اکثر آنها یک سری تعمیمها و توسعههای اختصاصی و اضافی مخصوص به خود را نیز دارند که بهطور معمول فقط در سیستمهای خودشان مورد استفاده قرار میگیرد. با این حال، دستورات استاندارد SQL مانند Select و Insert و Update و Delete و Create و Drop میتوانند برای انجام تقریباً تمام کارهایی که یک فرد میتواند با یک پایگاه داده انجام دهد، مورد استفاده قرار گیرند. علاوهبراینها، کلمات کلیدی بسیاری در SQL وجود دارد. یکی از آنها، کلمه کلیدی DISTINCT است. از کلمه کلیدی DISTINCT در SQL، برای استخراج رکوردهای منحصربهفرد از جدول پایگاه داده استفاده میشود. دستور distinct در sql معمولا همراه با دستور SELECT استفاده می شود. از دستور SELECT، به طور کلی برای استخراج رکوردهای مورد نظر از جدول پایگاه داده و از دستور distinct در sql برای حذف رکوردهای تکراری و استخراج رکوردهای یکتا استفاده میشود. علاوهبراین، میتواند همراه با توابعی مانند AVG، MAX، MIN، SUM، COUNT و غیره نیز استفاده شود. استفاده از دستور distinct در sql، زمانی خیلی مفید است که جداول حاوی مقادیر تکراری بسیار زیادی باشند و فقط به رکوردهای منحصربهفرد نیاز باشد. به طور مثال، در یک سناریوی مربوط به کسب و کار، وقتی میخواهیم تعداد مشتری های متمایز و همینطور مکانهای سفارش متمایز را داشته باشیم، استفاده از این دستور کمک کننده خواهد بود. اگر می خواهید بیش تر با دستور Select Distinct در SQL و پارامترها و کاربردهای مربوط به آن آشنا شوید، در ادامه مقاله با ما همراه باشید. دستور Select Distinct در SQL و پارامترهای آن دستور اصلی برای نوشتن دستور distinct در sql به شرح زیر است: SELECT DISTINCT column_name1, column_name2,... FROM table_name; پارامترهای استفاده شده در دستور بالا عبارت است از: column_name1, column_name2,..: این ها ستونهایی هستند که میخواهید از آنها استخراج مجموعه داده مورد نظر خود را انجام دهید. table_name: این پارامتر، نام جدولی است که از ستونهای مربوط به آن، در فرایند استخراج رکوردهای مورد نظر استفاده میشود. عملکرد Select به همراه دستور distinct در sql چگونه است؟ همانطور که گفته شد، دستور Select Distinct در SQL ، مقادیر تکراری را فیلتر میکند. برای سادهسازی فهم عملکرد آن، در ادامه مطالبی را توضیح میدهیم. دستور distinct در sql ، ابتدا مجموعه نتایج کلی به همراه تمامی رکوردها را ایجاد میکند که شامل مقادبر تکراری با توجه به استفاده از عبارات FROM و JOIN و WHERE و HAVING و عبارات دیگر است. سپس مجموعه نتایج را براساس column_name یا هر فیلد دیگری مرتب میکند و در نهایت عملیات de-duplication انجام میگیرد؛ به این معنا که مقادیر تکراری از مجموعه نتایج کلی حذف میشود. دستور Select Distinct در SQL را میتوان ازنظر معنایی معادل با GROUP BY که همه فیلدهای موردنظر در مقابل آن ذکر میشود، در نظر گرفت. بعد از صحبت در مورد دستور SELECT DISTINCT و نحوه عملکرد آن، در بخش بعدی مثالهایی را برای درک درستتر مفاهیم گفتهشده، خواهید دید. نمونه هایی از دستور Select Distinct در SQL به منظور نشاندادن عملکرد دستور distinct در sql با یک مثال، یک جدول پایگاه داده ساختگی به نام customers ایجاد میکنیم. بدین منظور از کد زیر استفاده میکنیم: CREATE TABLE public.customers ( customer_id integer NOT NULL, sale_date date NOT NULL, sale_amount numeric NOT NULL, salesperson character varying(255), store_state character varying(255), order_id character varying(255) اکنون، جدول مورد نظر با موفقیت ایجاد شد. در گام بعدی، تعدادی رکورد به جدول اضافه میکنیم تا بتوانیم با آنها کار کنیم. INSERT INTO public.customers( customer_id, sale_date, sale_amount, salesperson, store_state, order_id) VALUES (1001,'2020-05-23',1200,'Raj K','KA','1001'), (۱۰۰۱,'۲۰۲۰-۰۵-۲۲',۱۲۰۰,'M K','NULL','1002'), (۱۰۰۲,'۲۰۲۰-۰۵-۲۳',۱۲۰۰,'Malika Rakesh','MH','1003'), (۱۰۰۳,'۲۰۲۰-۰۵-۲۲',۱۵۰۰,'Malika Rakesh','MH','1004'), (۱۰۰۱,'۲۰۲۰-۰۵-۲۳',۱۳۲۰,'Dave Peter','MH','1005'), (۱۰۰۲,'۲۰۲۰-۰۵-۲۱',۱۲۰۰,'Molly Samberg','NY','1001'), (۱۰۰۴,'۲۰۲۰-۰۵-۲۲',۱۲۱۰,'M K','NULL','1003'); خروجی این کد را میتوانید در تصویر زیر مشاهده کنید: حال با موفقیت توانستیم ۷ رکورد را در جدول وارد کنیم. جدول پایگاه داده مشتریان پس از انجام موارد درجشده فوق، به شرح زیر است: SELECT * FROM customers; در ادامه قصد داریم چندین مثال را با استفاده از دستور Select Distinct در SQL امتحان کنیم. مثال اول می خواهیم شناسه مشتری همه مشتریهای منحصربهفرد را که چیزی از فروشگاه خریداری یا سفارش دادهاند را پیدا کنیم. پس از قطعه کد زیر استفاده میکنیم. SELECT DISTINCT customer_id FROM customers; خروجی این کد، طبق تصویر پایین خواهد بود. در این مثال میتوانیم ببینیم که استفاده از دستور distinct در sql ، باعث شده فقط شناسههای منحصربهفرد مشتری برگردانده شود. مثال دوم در این مثال به دنبال آن هستیم که تمام تاریخهای منحصربهفرد فروش مربوط به فروشگاه را به دست بیاوریم. به این منظور از قطعه کد زیر استفاده میکنیم. SELECT DISTINCT sale_date FROM customers مثال سوم در این مثال می خواهیم تمامی مکانهای منحصربهفرد که فروشگاه در آن واقع شده را به دست بیاوریم. قطعه کد زیر ما را به این هدف میرساند. SELECT DISTINCT store_state FROM customers ORDER BY store_state ASC; خروجی مورد نظر در تصویر زیر قابل مشاهده است. نکتهی مهم در مورد مقادیر NULL و کلمه کلیدی این است که DISTINCT به اولین NULL اجازه حضور در مجموعه نتایج نهایی را میدهد ولی تمام مقادیر بعدی NULL را حذف میکند. این نکته را میتوانید در همین مثال نیز مشاهده کنید. در ستون store_state، دو مقدار NULL وجود داشت، اما استفاده از DISTINCT باعث شده است که فقط یک NULL را در مجموعه نتایج نهایی داشته باشیم. مثال چهارم در این مثال قصد داریم تمام سفارشهای منحصربهفرد را که در یک تاریخ خاص در فروشگاه انجام شده است را پیدا کنیم. قطعه کد زیر را به این منظور استفاده می کنیم. SELECT DISTINCT sale_date, salesperson, order_id, store_state FROM customers ORDER BY sale_date; خروجی مورد نظر براساس این کد را در تصویر پایین مشاهده میکنید. مثال پنجم اگر بخواهیم مجموع درآمد، برای کلیه سفارشهای منحصربهفرد که در یک تاریخ خاص در یک مغازه خاص فروشگاه انجام شده را پیدا کنیم، با کمک دستور Select Distinct در SQL به نتایج زیر میرسیم. SELECT DISTINCT sale_date, store_state, sum(sale_amount) as total_sales FROM customers GROUP BY store_state, sale_date ORDER BY sale_date ASC; خروجی موردنظر را در تصویر زیر مشاهده میکنید. مثال ششم در این مثال قصد داریم تمام مشتریان منحصربهفرد و مجموع هزینه صرفشده توسط آنها در فروشگاه را پیدا کنیم. از قطعه کد زیر بدین منظور استفاده میکنیم. SELECT DISTINCT customer_id, sum(sale_amount) as total_sales FROM customers GROUP BY customer_id ORDER BY customer_id ASC; خروجی نهایی مورد نظر را در تصویر زیر مشاهده می کنید. مثال هفتم در مثال آخر به دنبال این هستیم که تمام فروشندگان منحصربهفردی که در فروشگاه کار میکنند را پیدا کنیم. پس از دستور distinct در sql زیر استفاده میکنیم. SELECT DISTINCT salesperson FROM customers; در تصویر زیر، خروجی دستور استفاده شده را میبینید. دستور Select Count Distinct تابع SELECT COUNT DISTINCT، تعداد سطرهایی که با یک معیار مشخص مطابقت دارند، برمیگرداند. مثالی از این دستور و خروجی را در ادامه خواهید دید. SELECT COUNT(DISTINCT EmpId) FROM EmpDetail دستور Select AVG Distinct تابع SELECT AVG DISTINCT ، مقدار میانگین یا متوسط یک ستون عددی را برمیگرداند. در ادامه مثال و خروجی این نوع دستور distinct در sql را میبینید. SELECT AVG(DISTINCT EmpId) FROM EmployeeDetail WHERE EmpId= EmpId دستور Select MAX Distinct تابع SELECT MAX DISTINCT، بیشترین مقدار ستون انتخاب شده را برمیگرداند. در ادامه به مثال و خروجی توجه کنید. SELECT MAX(DISTINCT EmpId) FROM EmployeeDetail WHERE EmpId= EmpId جمع بندی: دستور Select Distinct در SQL SQL یا Structured Query Language، یک زبان برنامهنویسی و پرسوجو است که برای پرسوجو از پایگاه دادهها مورد استفاده قرار میگیرد. ما در این مقاله در مورد دستور distinct در sql صحبت کردیم و گفتیم هنگامی که به دادههای غیرتکراری نیاز داریم، از دستور Select Distinct در SQL استفاده میکنیم. پارامترهای مختلفی در هنگام استفاده از این دستور استفاده میشود. Column Name، Conditional ، Table Name و WHERE از جمله این آرگومانها هستند که بسته به نیاز، به سراغ آنها میرویم و رکوردهای مورد نظر خود را از جداول پایگاه داده استخراج می کنیم. پس در مجموع میتوان گفت دستور distinct در sql به ما این امکان را میدهد که دادههای منحصربهفرد و کاملاً یکتا را را استخراج کنیم و همچنین تعداد این دادهها را با استفاده از دستور Select Distinct در SQL به دست آوریم. از این امر میتوانیم برای پیشپردازش دادهها، بررسی کلی دادهها و درک و فهم نقاط بسیار مهم دادهها استفاده کنیم؛ چراکه با استفاده از این دستور، فقط دادههای منحصربهفرد را درنظر میگیریم. مقاله های پیشنهادی این متن، یک راهنمای کلی برای SQL SELECT DISTINCT بود. ما به معرفی دستور distinct در sql و مثالهای عملی و subquery های مختلف پرداختیم. پیشنهاد ما این است برای کسب اطلاعات بیشتر، این مقالات را نیز مرور کنید. Top 5 Examples of SQL Server Substring Overview of Triggers in SQL Introduction to SQL Arithmetic Operators ANY in SQL | Examples | Syntax چه رتبه ای میدهید؟ میانگین ۵ / ۵. از مجموع ۴ اولین نفر باش معرفی نویسنده مقالات 402 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز معرفی محصول ایمان باقری دوره آموزشی کوئری نویسی در SQL Server 2.190.000 تومان مقالات مرتبط ۰۲ آبان SQL Server ابزار Database Engine Tuning Advisor؛ مزایا، کاربردها و روش استفاده تیم فنی نیک آموز ۱۵ مهر SQL Server معرفی Performance Monitor ابزار مانیتورینگ SQL Server تیم فنی نیک آموز ۱۱ مهر SQL Server راهنمای جامع مانیتورینگ بکاپ ها در SQL Server تیم فنی نیک آموز ۰۸ مهر SQL Server Resource Governor چیست؟ آشنایی با نحوه پیکربندی و اهمیت های آن تیم فنی نیک آموز دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ